為了提高鏈路安全性,您可以啟用SSL(Secure Sockets Layer)加密,并安裝SSL CA證書到需要的應用服務。SSL在傳輸層對網絡連接進行加密,能提升通信數據的安全性和完整性,但會同時增加網絡連接響應時間。
前提條件
實例需為PolarDB-X且版本為5.4.10或以上,實例基本信息頁可查看實例版本信息。
注意事項
SSL的證書有效期為1年,請及時更新證書有效期并重新下載配置CA證書,否則使用加密連接的客戶端程序將無法正常連接。
由于SSL加密的實現原理,啟用SSL加密會顯著增加CPU使用率,建議您僅在外網鏈路有加密需求的時候啟用SSL加密。內網鏈路相對較安全,一般無需對鏈路加密。
開啟或關閉SSL加密會重啟實例,請謹慎操作。
開啟SSL加密
- 登錄PolarDB分布式版控制臺。
- 在頁面左上角選擇目標實例所在地域。
- 在實例列表頁,單擊PolarDB-X 2.0頁簽。
- 找到目標實例,單擊實例ID。
- 在左側導航欄選擇 。
單擊SSL配置頁簽,打開SSL配置的開關。
說明開啟SSL加密時,默認選擇內網地址為SSL受保護的地址。您也可以將受保護的地址修改為公網地址,詳情請參見修改SSL受保護地址。
在彈出的對話框中,單擊確定。
重要開啟或關閉SSL加密會重啟實例,建議在業務低峰期操作,并確保您的應用具備自動重連機制。
開通成功后,單擊下載CA證書。
下載的文件為壓縮包,包含如下三個文件:
.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 CA證書
開通SSL加密后,應用或者客戶端連接PolarDB-X時需要配置SSL CA證書。本文以MySQL Workbench和Navicat為例,介紹SSL CA證書安裝方法。其它應用或者客戶端請參見對應產品的使用說明。
MySQL Workbench配置方法
打開MySQL Workbench。
選擇 。
啟用Use SSL,并導入SSL CA證書。
Navicat配置方法
打開Navicat。
在目標數據庫上單擊鼠標右鍵,選擇編輯連接。
選擇SSL頁簽,選擇.pem格式CA證書的路徑。
單擊確定。
說明如果報
connection is being used
錯誤,是由于之前的會話未斷開,請關閉Navicat重新打開。雙擊目標數據庫測試能否正常連接。
更新證書有效期
更新有效期操作將會重啟實例,建議在業務低峰期操作,并確保您的應用具備自動重連機制。
更新有效期后需要重新下載及配置CA證書。
修改SSL受保護地址
- 登錄PolarDB分布式版控制臺。
- 在頁面左上角選擇目標實例所在地域。
- 在實例列表頁,單擊PolarDB-X 2.0頁簽。
- 找到目標實例,單擊實例ID。
- 在左側導航欄選擇 。
單擊SSL配置頁簽。
單擊設置SSL。
在彈出的對話框中,選擇目標地址為受保護的地址。
說明開通SSL時,默認選擇內網地址為SSL受保護的地址,您可以將其修改為公網地址。
修改SSL受保護地址操作將會重啟實例,建議在業務低峰期操作,并確保您的應用具備自動重連機制。
修改SSL受保護地址后需要重新下載及配置CA證書。
單擊確定即可。
關閉SSL加密
關閉SSL加密會重啟實例,建議您在業務低峰期操作,并確保您的應用具備自動重連機制。
SSL加密關閉后,數據庫訪問性能會有一定程度提升,但安全性上有削弱,故非安全環境下不建議關閉SSL加密。
- 登錄PolarDB分布式版控制臺。
- 在頁面左上角選擇目標實例所在地域。
- 在實例列表頁,單擊PolarDB-X 2.0頁簽。
- 找到目標實例,單擊實例ID。
- 在左側導航欄選擇 。
單擊SSL配置頁簽。
關閉SSL配置的開關。
在彈出的對話框中單擊確定即可。