全部產品
Search
文件中心

PolarDB:使用雲端認證快速配置SSL加密

更新時間:Jul 06, 2024

PolarDB PostgreSQL版(相容Oracle)支援設定SSL鏈路加密,對網路連接進行加密,保證傳輸鏈路的安全。本文介紹在新版管理頁面,針對主地址或叢集地址開啟SSL鏈路加密功能的入門配置。如果您的執行個體在安全管理 > SSL配置頁面不支援單獨針對主地址或叢集地址開啟或關閉SSL功能,請參考設定SSL加密進行操作。

背景資訊

SSL(Secure Sockets Layer)指安全通訊端協議,是為了安全通訊、資料安全性專門設計的安全性通訊協定,SSL 3.0之後更名為TLS(Transport Layer Security)。本文以配置雲端認證為例,指導您快速配置SSL鏈路加密。

說明

PolarDB PostgreSQL版(相容Oracle)的資料庫代理支援的TLS版本為 1.0、1.1、1.2 和 1.3。

PolarDB PostgreSQL版(相容Oracle)叢集支援的SSL鏈路加密配置及功能對比如下:

對比項

配置雲端認證

配置自訂認證

配置用戶端CA認證

擷取方式

由阿里雲頒發。

由認證認證機構頒發或自我簽署憑證頒發。

由自我簽署憑證頒發。

認證有效期間

365天。

由您自訂。

由您自訂。

保護的串連地址數

1個或多個。

1個或多個。

不影響保護的串連地址數,取決於配合使用的雲端認證或自訂認證。

認證作用

開啟SSL鏈路加密,用戶端驗證服務端真偽。

開啟SSL鏈路加密,用戶端驗證服務端真偽。

服務端驗證用戶端真偽。

說明
  • 對於雲端認證、自訂認證和用戶端CA認證的配置需要滿足版本約束才可以使用,主地址和叢集地址遵循不同的約束條件。對於不滿足條件的版本,僅支援雲端認證模式。

  • 對於滿足條件的新版本:配置雲端認證或自訂認證為必選配置,用於開啟SSL鏈路加密。

  • 對於滿足條件的新版本:配置用戶端CA認證為可選配置,用於服務端驗證用戶端真偽。

前提條件

  • 叢集為PolarDB PostgreSQL版(相容Oracle)2.0或以上版本,核心版本大於等於2.0.14.21.0版本,主地址可允許配置自訂認證、用戶端CA認證等;低版本僅支援雲端認證模式。

  • 叢集的資料庫代理版本要求至少為2.3.51版本,叢集地址和自訂地址才允許配置自訂認證、用戶端CA認證等;低版本僅支援雲端認證模式。

  • 已下載pgAdmin 4 用戶端

注意事項

  • SSL的雲端認證有效期間為1年,請及時更新認證有效期間並重新下載和配置CA認證,否則使用加密串連的用戶端程式將無法正常串連。

  • 由於SSL加密的固有缺陷,啟用SSL加密會顯著增加CPU使用率,建議您僅在外網鏈路有加密需求的時候啟用SSL加密。內網鏈路相對較安全,一般無需對鏈路加密。

  • 開啟SSL鏈路加密後,已有串連需要斷開重連,加密才會生效。

  • 開啟雲端認證、更新認證有效期間、更改雲端認證保護的串連地址或關閉SSL鏈路加密,會存在串連閃斷,請在業務低峰期操作。

步驟一:使用雲端認證開啟SSL鏈路加密

  1. 登入PolarDB管理主控台

  2. 在頁面左上方,選擇叢集所在地區。

  3. 找到目的地組群,單擊叢集ID。

  4. 在左側功能表列中單擊配置與管理 > 安全管理

  5. SSL配置頁簽,選擇主地址或者任意叢集地址,點擊SSL狀態右側滑塊或者點擊設定資料庫認證按鈕,開啟SSL加密。

  6. 設定資料庫認證對話方塊,選擇雲端認證,並選擇要保護的串連地址。

  7. 單擊確定,進入開啟流程。開啟後,請耐心等待叢集到運行狀態進行後續操作。

    image.png

步驟二:下載CA認證

開啟雲端認證後,PolarDB PostgreSQL版(相容Oracle)資料庫提供資料庫CA認證供您下載。當您通過用戶端遠端連線PolarDB PostgreSQL版(相容Oracle)資料庫時,使用資料庫CA認證即可對資料庫真偽進行校正。

  1. SSL 配置頁簽,單擊雲端認證右側的下載認證,即可下載認證。

    image.png

  2. 解壓下載的CA認證。下載的檔案為壓縮包,包含如下三個檔案:

    1. p7b檔案:用於Windows系統中匯入CA認證。

    2. pem檔案:用於其他系統或應用中匯入CA認證。

    3. jks檔案:Java中的truststore憑證存放區檔案,密碼統一為apsaradb,用於Java程式中匯入CA憑證鏈結。

    說明

    在 Java中使用JKS認證檔案時,jdk7和jdk8需要修改預設的jdk安全配置,在串連PolarDB資料庫的伺服器的jre/lib/security/java.security檔案中,修改如下兩項配置:

    jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224
    jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

    若不修改jdk安全配置,會報如下錯誤。其它類似報錯,一般也都由Java安全配置導致。

    javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints

步驟三:用戶端串連資料庫

本樣本中以pgAdmin用戶端通過SSL串連PolarDB PostgreSQL版(相容Oracle)資料庫為例。

PolarDB PostgreSQL版(相容Oracle)資料庫還支援通過psql命令列終端和JDBC等多種方式SSL遠端連線,更多資訊,請參見SSL串連PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)資料庫

說明
  • 串連資料庫前,請確保已在PolarDB PostgreSQL版(相容Oracle)叢集中配置白名單和使用者。具體操作,請參見設定叢集白名單建立資料庫帳號

  • 下文以pgAdmin 4 V6.2.0為例,如果文檔截圖與您的用戶端存在差異,請參見官方文檔裡與樣本中相同的SSL鏈路相關參數進行配置。

  1. 啟動pgAdmin 4用戶端。

    說明

    高版本用戶端首次登入需要設定Master Password用於保護儲存的密碼和其他憑據。

  2. 按右鍵Servers,選擇Register > Server...

    image.png

  3. General頁簽設定串連名稱。

    image.png

  4. 選擇Connection標籤頁,輸入要串連的叢集資訊。

    image.png

    參數

    說明

    Host name/address

    PolarDB PostgreSQL版(相容Oracle)叢集已開啟SSL串連的主地址或叢集地址及其對應的連接埠:

    • 若通過內網串連,需輸入集群的內網地址和內網連接埠。

    • 若使用外網串連,需輸入集群的外網地址和外網連接埠。

    Port

    Username

    PolarDB PostgreSQL版(相容Oracle)叢集的帳號和密碼。

    Password

  5. 選擇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-CAVerify-Full時,需要配置此參數,表示資料庫CA憑證路徑。

      說明

      本樣本中,從SSL頁面下載的CA認證解壓路徑為 D:\CA\aliyunCA\,您可以將認證解壓到您本地的任意位置。

      pgAdmin用戶端中使用的資料庫CA認證為PEM檔案。

  6. 單擊Save

    若串連資訊無誤,會出現如下介面,則表示串連成功。

    image.png

    重要

    postgres是PolarDB PostgreSQL版(相容Oracle)叢集預設的系統資料庫,請勿在該資料庫中進行任何操作。

步驟四:(可選)更新雲端認證有效期間

如果您的認證有效期間即將到期,需要更新認證有效期間,可按照以下步驟更新認證有效期間。

  1. 登入PolarDB管理主控台

  2. 在頁面左上方,選擇叢集所在地區。

  3. 找到目的地組群,單擊叢集ID。

  4. 在左側功能表列中單擊配置與管理 > 安全管理

  5. SSL配置頁簽,選擇需要更新的主地址或叢集地址,單擊更新有效期間按鈕。

  6. 在彈出的對話方塊中,單擊確定

    image.png

    說明

    更新有效期間操作將會重啟叢集,重啟前請做好業務安排,謹慎操作。

  7. 更新有效期間後,請重新下載和配置認證。

步驟五:(可選)關閉SSL鏈路加密

說明

關閉SSL加密可能會重啟叢集,串連閃斷,請謹慎操作。

如果您需要關閉SSL鏈路加密,可以按照如下步驟進行操作。

  1. 登入PolarDB管理主控台

  2. 在頁面左上方,選擇叢集所在地區。

  3. 找到目的地組群,單擊叢集ID。

  4. 在左側功能表列中單擊配置與管理 > 安全管理

  5. SSL配置頁簽,找到需要關閉的主地址或叢集地址,單擊SSL狀態右側滑塊。

    image.png