OpenSSL MySQL 機敏資料 密碼系統 資料庫 加密

幫MySQL加上安全傳輸 走SSL連線資料庫才放心

2016-09-21
透過網路存取資料庫主機時,若沒有經過特別保護處理,重要資料很可能被中途截取,若改用SSL安全傳輸的方式來連結資料庫,將能有效地避免在傳輸過程中發生資料外洩的事故。
在產生相關的憑證之後,最後將利用這些憑證來實作MySQL SSL的安全連線。

實作MySQL SSL

本次的實作架構圖如圖10所示,將設定MySQL用戶端以SSL連線的方式,連線至MySQL伺服器端。


▲圖10 MySQL SSL實作架構。

首先設定MySQL伺服器,在主機上的「/etc/my.cnf」檔案中設定相關SSL的組態,設定如圖11所示,其中ssl-ca為指定伺服器證書的位置,ssl-cert是用來指定伺服器憑證的位置,而ssl-key為指定伺服器私鑰的位置。


▲圖11 修改「/etc/my.cnf」檔案設定內容。

設定完成後,重新啟動MySQL伺服器。再次登入MySQL伺服器時,可以圖12中所示的指令查看SSL狀態,如果出現have_openssl與have_ssl均為YES的情況,就代表SSL已經設定完成了。


▲圖12 查看SSL狀態。

接著,設定一個僅能以SSL連線的帳號,以便測試SSL連線是否正常,並執行以下的指令(帳號名稱為root):


完成帳號設定後,接著測試以遠端SSL連線來連接MySQL資料庫。

進行遠端的SSL連線,首先將用戶端憑證複製到遠端主機(複製ca-cert.pem、client-cert.pem、client-key.pem等檔案),然後在遠端主機上執行下列指令,利用SSL連線連接MySQL資料庫進行資料庫存取作業:


至此,就可以利用SSL的加密功能來確保MySQL資料在傳輸過程中的安全了。

<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!