如果使用雲端認證或自訂認證開啟SSL鏈路加密,則表示在SSL鏈路中,用戶端驗證資料庫的真實性。如果您需要資料庫也驗證用戶端的真實性,還需要配置用戶端CA認證,本文介紹配置用戶端CA認證的具體操作。
前提條件
已安裝OpenSSL工具。
說明如果您使用Linux系統,系統會內建OpenSSL工具,無需安裝。如果您使用Windows系統,請擷取OpenSSL軟體包並安裝。
注意事項
配置用戶端CA認證後,已有串連需要斷開重連,加密才會生效。
配置用戶端CA認證、更改用戶端CA認證內容、修改用戶端憑證撤銷清單,將會重啟您的資料庫執行個體,用時約3分鐘左右,請在業務低峰期操作。
操作步驟
步驟一:擷取用戶端認證
本文以CentOS系統配置為例,如果您使用Windows作業系統,操作步驟中的openssl
命令與CentOS系統中的openssl
命令配置相同。
產生自我簽署憑證(client-ca.crt)和自我簽署憑證私密金鑰(client-ca.key)。
openssl req -new -x509 -days 3650 -nodes -out client-ca.crt -keyout client-ca.key -subj "/CN=root-client-ca"
產生用戶端認證請求檔案(client.csr)和用戶端認證私密金鑰(client.key)。
openssl req -new -nodes -text -out client.csr -keyout client.key -subj "/CN=<用戶端使用者名稱>"
說明該命令中-subj參數後的CN取值請配置為用戶端訪問資料庫的使用者名稱。
產生用戶端認證(client.crt)。
openssl x509 -req -in client.csr -text -days 365 -CA client-ca.crt -CAkey client-ca.key -CAcreateserial -out client.crt
完成以上配置後,執行ls
命令,查看已產生的檔案:
# ls
client-ca.crt client-ca.key client-ca.srl client.crt client.csr client.key
關鍵檔案解釋如下:
client.crt:用戶端認證檔案。
client.key:用戶端私密金鑰檔案。
client-ca.crt:自我簽署憑證。
client-ca.key:自我簽署憑證私密金鑰。
步驟二:配置用戶端CA認證
配置用戶端CA認證後,執行個體的運行狀態將會變更為修改SSL中,該狀態將持續三分鐘左右,請耐心等待運行狀態變更為運行中後再進行後續操作。
- 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
進入
>SSL頁面。單擊啟用用戶端CA認證。
將自我簽署憑證檔案(client-ca.crt)內容填寫到對話方塊中。然後單擊確定按鈕。
說明自我簽署憑證檔案(client-ca.crt)擷取請參見步驟一:擷取用戶端認證。請填寫-----BEGIN CERTIFICATE-----至-----END CERTIFICATE-----間的內容,包括BEGIN和END部分。
步驟三:用戶端串連資料庫
RDS PostgreSQL資料庫支援通過SSL遠端連線,具體請參見使用SSL鏈路串連RDS PostgreSQL資料庫。
步驟四:(可選)配置憑證撤銷檔案
如果您不再使用某一用戶端認證時,可以將用戶端憑證撤銷,資料庫將拒絕此用戶端登入。
配置憑證撤銷檔案後,執行個體的運行狀態將會變更為修改SSL中,該狀態將持續三分鐘左右,請耐心等待運行狀態變更為運行中後再進行後續操作。
設定檔準備。
touch /etc/pki/CA/index.txt echo 1000 > /etc/pki/CA/crlnumber
說明如果您使用Windows系統,需要按照如下步驟操作:
在OpenSSL安裝目錄\bin目錄下建立CA檔案夾。
在CA檔案夾內建立index.txt檔案。
命令列執行如下命令:
echo 1000 > <OpenSSL安裝目錄>\bin\CA\crlnumber
修改C:\Program Files\Common Files\SSL\目錄下中的openssl.cnf檔案。
# 找到[ CA_default ]配置項 dir = "<OpenSSL安裝目錄>\\bin\\CA"
吊銷用戶端認證(client.crt)。
openssl ca -revoke client.crt -cert client-ca.crt -keyfile client-ca.key
說明該命令需要使用到自我簽署憑證(client-ca.crt)及自我簽署憑證私密金鑰(client-ca.key),請參見步驟一:擷取用戶端認證。
產生憑證撤銷檔案(client.crl)。
openssl ca -gencrl -out client.crl -cert ca.crt -keyfile ca.key
進入
>SSL頁面。單擊啟用憑證撤銷檔案。
將憑證撤銷檔案(client.crl)內容填寫到對話方塊中。
步驟五:(可選)更新用戶端認證
更新認證會重啟執行個體,請謹慎操作。
如果您需要更新認證,可以在SSL頁面單擊清除用戶端CA認證按鈕,清除用戶端CA後,重新單擊啟用用戶端CA認證。