為了提高鏈路安全性,您可以啟用SSL(Secure Sockets Layer)加密,並安裝SSL CA認證到需要的應用服務。SSL在傳輸層對網路連接進行加密,能提升通訊資料的安全性和完整性,但會同時增加網路連接回應時間。
说明
-
由於SSL加密的固有缺陷,啟用SSL加密會顯著增加CPU使用率,建議您僅在外網鏈路有加密需求的時候啟用SSL加密。內網鏈路相對較安全,一般無需對鏈路加密。
-
開啟SSL加密後,將無法再關閉,請謹慎操作。
開啟SSL加密
- 登入 RDS 管理主控台。
- 選擇目標執行個體所在地區。
- 單擊目標執行個體的ID,進入基本資料頁面。
- 在左側功能表列中選擇資料安全性,進入資料安全性頁面。
- 選擇SSL標籤頁。
- 單擊未開通前面的開關,如下圖所示。
- 在設定 SSL對話方塊中選擇要開通SSL加密的鏈路,單擊確定,開通 SSL
加密,如下圖所示。
说明 使用者可以根據需要,選擇加密內網鏈路或者外網鏈路,但只可以加密一條鏈路。
- 單擊下載認證,下載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認證安裝方法。其它應用或者用戶端請參見對應產品的使用說明。
- 開啟MySQL Workbench。
- 選擇 。
- 啟用Use SSL,並匯入SSL CA認證,如下圖所示。