為了提高鏈路安全性,您可以啟用SSL(Secure Sockets Layer)加密,並安裝SSL CA認證到需要的應用服務。SSL在傳輸層對網路連接進行加密,能提升通訊資料的安全性和完整性,但會同時增加網路連接回應時間。

说明
  • 由於SSL加密的固有缺陷,啟用SSL加密會顯著增加CPU使用率,建議您僅在外網鏈路有加密需求的時候啟用SSL加密。內網鏈路相對較安全,一般無需對鏈路加密。

  • 開啟SSL加密後,將無法再關閉,請謹慎操作。

開啟SSL加密

  1. 登入 RDS 管理主控台
  2. 選擇目標執行個體所在地區。
  3. 單擊目標執行個體的ID,進入基本資料頁面。
  4. 在左側功能表列中選擇資料安全性,進入資料安全性頁面。
  5. 選擇SSL標籤頁。
  6. 單擊未開通前面的開關,如下圖所示。


  7. 設定 SSL對話方塊中選擇要開通SSL加密的鏈路,單擊確定,開通 SSL 加密,如下圖所示。
    说明 使用者可以根據需要,選擇加密內網鏈路或者外網鏈路,但只可以加密一條鏈路。


  8. 單擊下載認證,下載SSL CA認證,如下圖所示。


    下載的檔案為壓縮包,包含如下三個檔案:

    • p7b檔案:用於Windows系統中匯入CA認證。

    • PEM檔案:用於其他系統或應用中匯入CA認證。

    • JKS檔案:java中的truststore憑證存放區檔案,密碼統一為apsaradb,用於java程式中匯入CA憑證鏈結。

      说明 在java中使用JKS認證檔案時,jdk7和jdk8需要修改預設的jdk安全配置,在需要SSL訪問的資料庫所在機器的jre/lib/security/java.security檔案中,修改如下兩項配置:
      jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224
      jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
      若不修改jdk安全配置,會報如下錯誤。其它類似報錯,一般也都由java安全配置導致。
      javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints

配置SSL CA認證

開通SSL加密後,應用或者用戶端串連RDS時需要配置SSL CA認證。本文以MySQL Workbench為例,介紹SSL CA認證安裝方法。其它應用或者用戶端請參見對應產品的使用說明。

  1. 開啟MySQL Workbench。
  2. 選擇Database > Manage Connections
  3. 啟用Use SSL,並匯入SSL CA認證,如下圖所示。