本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
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自定義證書的期限為用戶所自定義,系統會根據證書有效期時間,在到期前發送過期提醒的通知,請收到通知后及時進行證書的有效期更新,避免業務受到影響。