RDS MySQL在配置SSL鏈路加密時,不僅支援使用阿里雲資料庫提供的雲端認證,還支援使用自訂認證。本文介紹通過自訂認證配置SSL鏈路加密功能的具體操作。
前提條件
已安裝OpenSSL工具。
RDS MySQL執行個體系列及版本如下:
高可用系列:8.0、5.7、5.6
叢集系列:8.0、5.7
基礎版系列:8.0、5.7
使用Linux系統時,通常已經預裝了OpenSSL工具,無需另外安裝。
使用Windows系統時,需要擷取OpenSSL軟體包並安裝。
注意事項
開啟SSL鏈路加密後,會造成CPU使用率上升、讀寫時延增長。
開啟SSL鏈路加密後,已有串連需要斷開重連,加密才會生效。
配置、更改自訂認證內容或關閉SSL鏈路加密,將會重啟您的資料庫執行個體,耗時3分鐘左右,請在業務低峰期操作。
如何配置
步驟一:擷取自訂認證
產生伺服器憑證私密金鑰或自我簽署憑證私密金鑰時,請勿使用密碼加密,否則將無法啟用SSL鏈路加密。
以CentOS系統配置為例,執行如下步驟:
如果您的作業系統為Windows,操作步驟中的openssl
命令與CentOS系統中的openssl
命令配置相同,cp
命令請替換為手動複製,vim
命令請替換為手動編輯檔案。
建立自我簽署憑證(server-ca.crt)和自我簽署憑證私密金鑰(server-ca.key)。
openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-ca"
產生伺服器憑證請求檔案(server.csr)和伺服器憑證私密金鑰(server.key)。
MySQL的自訂認證目前僅支援對一個串連地址進行保護。您可以根據需要選擇配置產生伺服器憑證請求檔案,請配置如下命令:
openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=rm-bpxxxxx.mysql.rds.aliyuncs.com"
說明rm-bpxxxxx.mysql.rds.aliyuncs.com
僅用於舉例,請修改為需要保護的連結地址,查看串連地址請參見查看和管理執行個體串連地址和連接埠。產生認證請求檔案(server.csr)的過程中,會提示配置以下參數,請根據實際情況配置。
參數
說明
樣本
Country Name
ISO國家代碼(兩位字元)
CN
State or Province Name
所在省份
ZheJiang
Locality Name
所在城市
HangZhou
Organization Name
公司名稱
Alibaba
Organizational Unit Name
部門名稱
Aliyun
Common Name
申請SSL認證的網域名稱,在openssl.cnf檔案中已配置,不需要輸入
-
Email Address
不需要輸入
-
A challenge password
不需要輸入
-
An optional company name
不需要輸入
-
產生伺服器憑證(server.crt)。
如果您需要保護串連地址,請配置如下命令。
openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial -out server.crt
完成以上步驟的配置後,執行ls
命令,查看已產生的檔案:
# ls
server-ca.crt server-ca.key ca.srl server.crt server.csr server.key
關鍵檔案解釋如下:
server.crt:伺服器憑證檔案。
server.key:伺服器私密金鑰檔案。
server-ca.crt:自我簽署憑證。
server-ca.key:自我簽署憑證私密金鑰。
步驟二:使用自訂認證開啟SSL鏈路加密
配置自訂認證後,執行個體的運行狀態將會變更為修改SSL中,該狀態將持續三分鐘,請等待執行個體狀態變更為運行中後再進行後續操作。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
進入 >SSL頁面。
切換認證來源為使用自訂認證,單擊未開通前的開關,填寫伺服器憑證及伺服器憑證私密金鑰後,單擊確定,完成配置。
參數
取值
伺服器憑證
此參數填寫步驟一:擷取自訂認證步驟中擷取的server.crt檔案內容。請填寫-----BEGIN CERTIFICATE-----至-----END CERTIFICATE-----間的內容,包括BEGIN和END部分。
伺服器憑證私密金鑰
此參數填寫步驟一:擷取自訂認證步驟中擷取的server.key檔案內容。請填寫-----BEGIN PRIVATE KEY-----至-----END PRIVATE KEY-----間的內容,包括BEGIN和END部分。
配置成功後,會顯示如下圖所示的資訊:
步驟三:用戶端串連資料庫
RDS MySQL資料庫支援通過SSL遠端連線,更多資訊,請參見SSL串連RDS MySQL資料庫。
步驟四:(可選)更新認證
除MySQL 8.0外,其他版本更新認證會重啟執行個體,請謹慎操作。
如果您需要更新認證,可以在SSL頁面單擊更新SSL按鈕,填入新的伺服器憑證和私密金鑰。
步驟五:(可選)關閉SSL鏈路加密
關閉SSL加密會重啟執行個體,請謹慎操作。
如果您需要關閉SSL鏈路加密,可以在SSL頁面單擊已開通前的按鈕。
常見問題
Q:自訂認證到期了怎麼辦?
A:RDS MySQL自訂認證的期限為使用者所自訂,系統會根據認證有效期間時間,在到期前發送到期提醒的通知,請收到通知後及時進行認證的有效期間更新,避免業務受到影響。