全部產品
Search
文件中心

ApsaraDB RDS:使用自訂認證開啟SSL鏈路加密

更新時間:Aug 28, 2024

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命令請替換為手動編輯檔案。

  1. 建立自我簽署憑證(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"
  2. 產生伺服器憑證請求檔案(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

    不需要輸入

    -

  3. 產生伺服器憑證(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中,該狀態將持續三分鐘,請等待執行個體狀態變更為運行中後再進行後續操作。

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 進入資料安全性>SSL頁面。

  3. 切換認證來源為使用自訂認證,單擊未開通前的開關,填寫伺服器憑證伺服器憑證私密金鑰後,單擊確定,完成配置。

    圖片1

    參數

    取值

    伺服器憑證

    此參數填寫步驟一:擷取自訂認證步驟中擷取的server.crt檔案內容。請填寫-----BEGIN CERTIFICATE----------END CERTIFICATE-----間的內容,包括BEGIN和END部分。

    伺服器憑證私密金鑰

    此參數填寫步驟一:擷取自訂認證步驟中擷取的server.key檔案內容。請填寫-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----間的內容,包括BEGIN和END部分。

配置成功後,會顯示如下圖所示的資訊:

image

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

RDS MySQL資料庫支援通過SSL遠端連線,更多資訊,請參見SSL串連RDS MySQL資料庫

步驟四:(可選)更新認證

說明

除MySQL 8.0外,其他版本更新認證會重啟執行個體,請謹慎操作。

如果您需要更新認證,可以在SSL頁面單擊更新SSL按鈕,填入新的伺服器憑證和私密金鑰。

image

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

說明

關閉SSL加密會重啟執行個體,請謹慎操作。

如果您需要關閉SSL鏈路加密,可以在SSL頁面單擊已開通前的按鈕。

image

常見問題

Q:自訂認證到期了怎麼辦?

A:RDS MySQL自訂認證的期限為使用者所自訂,系統會根據認證有效期間時間,在到期前發送到期提醒的通知,請收到通知後及時進行認證的有效期間更新,避免業務受到影響。