RDS PostgreSQL支援設定SSL鏈路加密,對網路連接進行加密,保證傳輸鏈路的安全。本文介紹開啟SSL鏈路加密功能的入門配置,並以配置雲端認證為例,指導您快速開啟SSL鏈路加密。
背景資訊
SSL(Secure Sockets Layer)指安全通訊端協議,是為了安全通訊、資料安全性專門設計的安全性通訊協定,SSL 3.0之後更名為TLS(Transport Layer Security)。
RDS PostgreSQL支援的TLS版本為1.0、1.1和1.2。
RDS PostgreSQL執行個體支援的SSL鏈路加密配置及功能對比如下:
對比項 | |||
認證作用 | 服務端(資料庫)認證,用於用戶端驗證服務端的真偽 | 服務端(資料庫)認證,使用者用戶端驗證服務端的真偽 | 用戶端認證,用於服務端(資料庫)驗證用戶端的真偽 |
擷取方式 | 由阿里雲頒發 | 由認證認證機構發或自我簽署憑證頒發 | 由自我簽署憑證頒發 |
認證有效期間 | 365天 | 由您自訂 | 由您自訂 |
保護的串連地址數 | 1個 | 1個或多個 | 不影響保護的串連地址數,取決於配合使用的雲端認證或自訂認證 |
配置雲端認證或自訂認證為必選配置,用於開啟SSL鏈路加密,驗證服務端(資料庫)的真偽。
配置用戶端CA認證為可選配置,用於服務端驗證用戶端的真偽。
前提條件
執行個體為RDS PostgreSQL 10或以上的雲端硬碟版本。
說明暫不支援計費方式為Serverless的執行個體。
已下載pgAdmin 4用戶端。
注意事項
雲端認證的有效期間為1年,即將到期時,阿里雲將會通過郵件、站內信(事件中心)的方式進行提醒,並會在特定時間段自動更新該認證。您可以通過配置計劃時間配置自訂認證更新時間。更多資訊,請參見計劃內事件。
開啟SSL鏈路加密後,會造成CPU使用率上升、讀寫時延增長。
開啟SSL鏈路加密後,已有串連需要斷開重連,加密才會生效。
開啟雲端認證、更改雲端認證保護的串連地址或關閉SSL鏈路加密,將會重啟您的資料庫執行個體,用時約3分鐘左右,請在業務低峰期操作。
步驟一:使用雲端認證開啟SSL鏈路加密
本文以配置雲端認證為例,指導您快速配置SSL鏈路加密。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
進入 >SSL頁面。
說明如果您在控制台中未看到SSL頁面,請檢查您的RDS PostgreSQL執行個體版本及儲存類型,具體詳見前提條件。
選擇認證來源為使用雲端認證,單擊設定資料庫認證(防止偽裝資料庫)後的配置按鈕,選擇需要保護的串連地址。
說明如果您未開啟外網地址,請選擇需要保護的串連串對話方塊中將會顯示RDS PostgreSQL執行個體的內網串連地址。如果您開啟了外網地址,則會同時顯示內網和外網兩個串連地址。但云端認證只能對一個串連地址進行保護,內網串連相對安全,推薦您對外網串連地址進行保護。查看內網和外網地址請參見查看內外網地址。
如果您需要同時對內網和外網串連地址進行保護,請參見使用自訂認證開啟SSL加密。
配置雲端認證後,執行個體的運行狀態將會變更為修改SSL中,該狀態將持續三分鐘左右,請耐心等待運行狀態變更為運行中後再進行後續操作。
步驟二:下載CA認證
啟用雲端認證後,您需要下載並儲存服務端(資料庫)CA認證到用戶端。在您通過用戶端進行遠端連線RDS PostgreSQL資料庫時,可以使用服務端(資料庫)CA認證對資料庫的真實性進行驗證。
選擇認證來源為使用雲端認證,單擊下載CA認證。
解壓下載的CA認證。
下載的檔案為壓縮包,包含如下三個檔案:
PEM檔案:適用於絕大部分情境。
JKS檔案:PEM格式CA認證通常需要匯入到truststore,即轉換為JKS檔案才能在Java中使用。您可以在Java程式中使用此JKS檔案,密碼為apsaradb。
p7b檔案:適用於少數要求PKCS #7認證檔案的Windows應用。
步驟三:用戶端串連資料庫
本樣本中以pgAdmin用戶端通過SSL串連RDS PostgreSQL資料庫為例。
RDS PostgreSQL資料庫還支援psql命令列終端和JDBC等多種方式SSL遠端連線,更多資訊,請參見使用SSL鏈路串連RDS PostgreSQL資料庫。
啟動pgAdmin 4用戶端。
說明高版本用戶端首次登入需要設定Master Password用於保護儲存的密碼和其他憑據。
按右鍵Servers,選擇
。在General頁簽設定串連名稱。
選擇Connection標籤頁,輸入要串連的執行個體資訊。
參數
說明
Host name/address
RDS PostgreSQL執行個體的串連地址及對應的連接埠。
若通過內網串連,需輸入RDS執行個體的內網地址和內網連接埠。
若使用外網串連,需輸入RDS執行個體的外網地址和外網連接埠。
您可以在RDS PostgreSQL執行個體的資料庫連接頁面查看。
更多資訊,請參見查看或修改串連地址和連接埠。
Port
Username
RDS PostgreSQL執行個體的帳號和密碼。
建立RDS執行個體的帳號請參見建立帳號和資料庫。
Password
選擇Parameters標籤頁,添加SSL認證方式相關參數並配置認證。
參數
說明
SSL mode
為了使用SSL安全連線,請配置Require、Verify-CA或Verify-Full串連方式,參數含義如下:
Require:只對資料鏈路加密,並不驗證資料庫伺服器的真實性。
Verify-CA:加密資料鏈路,同時驗證資料庫的真實性。
Verify-Full:加密資料鏈路,驗證資料庫的真實性,同時比對認證內的CN或DNS與串連時配置的Host name/address的一致性。
Root certificate
當SSL mode取值為Verify-CA或Verify-Full時,需要配置此參數,表示資料庫CA憑證路徑。
說明本樣本中,從SSL頁面下載的CA認證解壓路徑為D:\CA\aliyunCA\,您可以將認證解壓到您本地的任意位置。
pgAdmin用戶端中使用的資料庫CA認證為PEM檔案。
單擊Save。
若串連資訊無誤,會出現如下介面,則表示串連成功。
重要postgres是RDS執行個體預設的系統資料庫,請勿在該資料庫中進行任何操作。