為了提高鏈路安全性,您可以啟用SSL(Secure Sockets Layer)加密,並下載安裝CA認證到所需要的應用服務中。SSL在傳輸層對網路連接進行加密,能提升通訊資料的安全性和完整性,防止資料被第三方監聽、截取和篡改,但會增加網路連接回應時間。本文為您介紹如何開啟、關閉SSL加密。
前提條件
AnalyticDB for MySQL叢集需滿足以下條件:
產品系列為數倉版。
叢集核心版本為3.2.1.0及以上版本。
說明查看和升級數倉版叢集的核心版本,請參見查看和升級版本。
背景資訊
SSL是Netscape公司所提出的安全保密協議,在瀏覽器和Web伺服器之間構造安全通道來進行資料轉送,採用RC4、MD5、RSA等密碼編譯演算法實現安全通訊。國際互連網工程工作群組(IETF)對SSL 3.0進行了標準化,標準化後更名為安全傳輸層協議(TLS)。由於SSL術語更為常用,因此本文所述SSL加密實際指TLS加密。
AnalyticDB for MySQL推薦使用TLS 1.2協議進行安全通訊。
注意事項
SSL的認證有效期間為1年,請在1年內更新認證有效期間,否則使用加密串連的用戶端程式將無法正常串連。
由於SSL加密的固有缺陷,開啟SSL加密會導致CPU使用率升高,建議您按業務實際需求開啟SSL加密。
開啟、關閉SSL加密和更新認證時,會重啟Controller節點,會導致串連閃斷,請在業務低峰期執行並確保您的應用有重連機制。
開啟SSL加密
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單。在集群清單上方,選擇產品系列,然後單擊目的地組群ID。
在左側導覽列,單擊資料安全。
在SSL配置頁簽下,開啟SSL狀態後的開關。
在彈出的設定SSL對話方塊中選擇受保護的地址,並單擊確定。
重要AnalyticDB for MySQL支援加密內網鏈路和公網鏈路,但每個叢集僅允許加密一條鏈路。您可以修改加密的鏈路,修改後,認證會自動更新,並同時重啟Controller節點。
若需加密公網鏈路,請確保叢集已開通公網地址,否則無法對公網地址進行加密。更多操作,請參見申請公網地址。
待SSL加密開啟後,單擊下載認證。
下載的檔案為壓縮包,包含如下三個檔案:
.p7b格式檔案:用於Windows系統中匯入CA認證。
.pem格式檔案:用於其他系統或應用中匯入CA認證。
.jks格式檔案:Java中的TrustStore憑證存放區檔案,密碼為apsaradb,用於Java程式中匯入CA憑證鏈結。
在Java中使用JKS認證檔案時,JDK7和JDK8需要修改預設的JDK安全配置,在應用程式所在主機的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認證有效期間
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單。在集群清單上方,選擇產品系列,然後單擊目的地組群ID。
在左側導覽列,單擊資料安全。
在SSL配置頁簽下,單擊更新有效期間。
關閉SSL加密
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單。在集群清單上方,選擇產品系列,然後單擊目的地組群ID。
在左側導覽列,單擊資料安全。
在SSL配置頁簽下,關閉SSL狀態後的開關。
在彈出的關閉SSL對話方塊中,單擊確定。
相關API
API | 說明 |
開啟或關閉數倉版叢集的SSL加密功能。 | |
查詢數倉版叢集的SSL配置資訊。 |