全部產品
Search
文件中心

PolarDB:配置用戶端CA認證

更新時間:Jul 06, 2024

如果使用雲端認證或自訂認證開啟SSL鏈路加密,則表示在SSL鏈路中,用戶端驗證資料庫的真實性。如果您需要資料庫也驗證用戶端的真實性,還需要配置用戶端CA認證,本文介紹配置用戶端CA認證的具體操作。

前提條件

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

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

  • 已完成使用雲端認證快速配置SSL加密配置自訂認證

  • 已安裝OpenSSL工具。

    說明

    如果您使用Linux系統,系統會內建OpenSSL工具,無需安裝。如果您使用Windows系統,請擷取OpenSSL 軟體包並安裝。

注意事項

  • 配置用戶端CA認證後,已有串連需要斷開重連,加密才會生效。

  • 配置用戶端CA認證、配置用戶端憑證撤銷檔案清單、關閉用戶端CA認證、關閉用戶端憑證撤銷檔案清單,會存在串連閃斷,請在業務低峰期間操作。

步驟一:擷取用戶端認證

本文以CentOS系統配置為例,如果您使用Windows作業系統,操作步驟中的openssl命令與CentOS系統中的openssl命令配置相同。

  1. 產生自我簽署憑證(ca1.crt)和自我簽署憑證私密金鑰(ca1.key)。

    openssl req -new -x509 -days 3650 -nodes -out ca1.crt -keyout ca1.key -subj "/CN=root-ca1"
  2. 產生用戶端認證請求檔案(client.csr)和用戶端認證私密金鑰(client.key)。

    openssl req -new -nodes -text -out client.csr -keyout client.key -subj "/CN=<用戶端使用者名稱>"
    說明

    該命令中 -subj 參數後的CN取值請配置為用戶端訪問資料庫的使用者名稱。

  3. 產生用戶端認證(client.crt)。

    openssl x509 -req -in client.csr -text -days 365  -CA ca1.crt -CAkey ca1.key -CAcreateserial  -out client.crt

完成以上配置後,執行ls命令,查看已產生的檔案:

# ls
ca1.crt  ca1.key  ca1.srl  client.crt  client.csr  client.key

關鍵檔案解釋如下:

  1. client.crt:用戶端認證檔案。

  2. client.key:用戶端私密金鑰檔案。

  3. ca1.crt:自我簽署憑證。

  4. ca1.key:自我簽署憑證私密金鑰。

步驟二:配置用戶端 CA 憑證

說明

配置用戶端CA認證後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。如果您後續要更新用戶端CA認證,也請參考如下步驟。

  1. 登入PolarDB管理主控台

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

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

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

  5. SSL配置頁簽,選擇您需要配置用戶端CA認證的主地址或叢集地址,然後單擊對應的設定用戶端CA認證按鈕。

  6. 設定用戶端CA認證對話方塊中,選擇狀態開啟,然後將自我簽署憑證檔案(ca1.crt)內容填寫到對話方塊中,然後單擊確定按鈕。

    說明

    自我簽署憑證檔案(ca1.crt)擷取方式請參見步驟一:擷取用戶端認證

    image.png

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

PolarDB PostgreSQL版(相容Oracle)資料庫支援通過SSL遠端連線,更多資訊,請參見SSL串連PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)資料庫

步驟四:(可選)配置憑證撤銷檔案

如果您不再使用某一個用戶端認證時,可以將用戶端憑證撤銷,資料庫將拒絕此用戶端登入。

說明

配置憑證撤銷檔案後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。如果您後續要更新憑證撤銷檔案,也請參考如下步驟。

  1. 準備設定檔。

    touch /etc/pki/CA/index.txt
    echo 1000 > /etc/pki/CA/crlnumber
    說明

    如果您使用Windows系統,需要按照如下步驟操作:

    1. 在OpenSSL安裝目錄 \bin 目錄下建立CA檔案夾。

    2. 在CA檔案夾內建立 index.txt 檔案。

    3. 在命令列執行如下命令:

      echo 1000 > <OpenSSL 安裝目錄>\bin\CA\crlnumber
    4. 修改C:\Program Files\Common Files\SSL\ 目錄下中的 openssl.cnf 檔案。

      # 找到[ CA_default ]配置項
      
      dir = "<OpenSSL 安裝目錄>\\bin\\CA"
  2. 吊銷用戶端認證(client.crt)。

    openssl ca -revoke client.crt -cert ca1.crt -keyfile ca1.key
    說明

    該命令需要使用到自我簽署憑證(ca1.crt)及自我簽署憑證私密金鑰(ca1.key),請參見步驟一:擷取用戶端認證

  3. 產生憑證撤銷檔案(client.crl)。

    openssl ca -gencrl -out client.crl -cert ca.crt -keyfile ca.key
  4. 進入配置與管理 > 安全管理頁面。 在SSL配置頁簽,選擇您需要配置用戶端吊銷檔案的主地址或者任意叢集地址,然後單擊對應的設定用戶端吊銷檔案按鈕。

  5. 設定用戶端吊銷檔案對話方塊中,選擇狀態開啟,將憑證撤銷檔案(client.crl)內容填寫到對話方塊中,然後單擊確定

    image.png

步驟五:(可選)關閉用戶端CA認證

說明

關閉用戶端CA認證後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。

如果您需要關閉主地址或叢集地址的用戶端CA認證,可以在SSL配置頁面,找到對應主地址或叢集地址的設定用戶端CA認證按鈕並單擊。在彈出的設定用戶端CA認證對話方塊中,單擊關閉按鈕,並單擊確定即可。

image.png

步驟六:(可選)關閉用戶端憑證撤銷檔案

說明

關閉用戶端憑證撤銷檔案後,叢集的運行狀態會變成修改SSL中,請耐心等待運行狀態變更為運行中後再進行後續操作。

如果您需要關閉主地址或叢集地址的用戶端憑證撤銷檔案,可以在SSL配置頁面,找到對應主地址或叢集地址的設定用戶端吊銷檔案按鈕並點擊。在彈出的設定用戶端吊銷檔案對話方塊中,單擊關閉按鈕,並單擊確定即可。

image.png