如何在 Aurora PostgreSQL 相容資料庫執行個體上開啟 SSL,以及如何使用 SSL 憑證連接至我的執行個體?

1 分的閱讀內容
0

我想要使用 Secure Socket Layer (SSL) 連線來連接至我的 Amazon Aurora PostgreSQL 相容版本資料庫叢集。

簡短描述

您可以使用 SSL 或 Transport Layer Security (TLS) 從應用程式加密與 Aurora PostgreSQL 相容資料庫叢集的連線。SSL 和 TLS 連線為叢集提供了單一安全層,並加密用戶端與叢集之間移動的資料。如需詳細資訊,請參閱使用 SSL/TLS 加密資料庫叢集的連線

為了安全起見,在建立連線之前,必須先同時在用戶端和伺服器上設定 SSL 連線。如果伺服器上未設定 SSL,則用戶端可能會傳送敏感資訊,如密碼。如需有關如何建立 SSL 安全連線的詳細資訊,請參閱 PostgreSQL 網站上的 SSL 支援

PostgreSQL 的 SSL 模式有:

  • verify-full
  • verify-ca
  • require
  • prefer
  • allow
  • disable

如需有關如何為您的使用案例選擇正確 SSL 模式的詳細資訊,請參閱 PostgreSQL 網站上的在不同的模式下提供的保護

解決方法

Amazon Relational Database Service (Amazon RDS) 會為您的叢集建立 SSL 或 TLS 憑證。在建立叢集時會發生這種情況。如需詳細資訊,請參閱 Aurora PostgreSQL 的安全性

透過 SSL/TLS 連接至您的資料庫叢集

  1. 下載 SSL/TSL 憑證
  2. 將憑證匯入您的作業系統。
  3. 透過 SSL/TLS 連接至 Aurora PostgreSQL 相容資料庫叢集。
    例如:
    psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com  -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"

在您將 rds.force_ssl 設定為 1 (開啟) 時,系統會修改資料庫執行個體的 pg_hba.con 檔案,以支援新的 SSL 組態。使用 pg_hba_file_rules 視圖來查看 pg_hba.conf 檔案的內容摘要。在 rds.force_ssl 設定為 1 (開啟) 之後,pg_hba_file_rules 視圖中的類型值會更新為 hostssl。

您可能需要連線至資料庫叢集才能使用 SSL/TLS。若要執行此操作,請使用 rds.force_ssl 參數。依預設,rds.force_ssl 參數設定為 0。0 值表示已關閉。若要開啟此參數,請將 rds.force_ssl 設定為 1。這會讓 SSL/TLS 成為連接至資料庫叢集的要求。

如需詳細資訊,請參閱使用 SSL/TLS 保護 Aurora PostgreSQL 資料

檢閱 SSL 連線

若要檢閱 SSL 連線,請執行以下命令:

postgres=> select ssl_is_used(); ssl_is_used
-------------
 t
(1 row)

postgres=> select ssl_cipher();
         ssl_cipher
-----------------------------
 ECDHE-RSA-AES128-GCM-SHA256
(1 row)

注意: Amazon RDS 執行個體 SSL 是單向 SSL。這意味著用戶端可以驗證伺服器的身分。

AWS 官方
AWS 官方已更新 1 年前