???????????????????????????????????????????????????????????????????????????????????????? mysql 5.7——–ssl連接最佳實戰(zhàn)
1. 背景
? ?*?在生產環(huán)境下,安全總是無法忽視的問題,數據庫安全則是重中之重,因為所有的數據都存放在數據庫中
? ?*?當使用非加密方式連接mysql數據庫時,在網絡中傳輸的所有信息都是明文的,可以被網絡中所有人截取,敏感信息可能被泄露。在傳送敏感信息(如密碼)時,可以采用SSL連接的方式。
? ? ?* ?版本小于5.7.6時按照 MySQL 5.6 SSL配置的方式進行。
?
2. MySQL 連接方式
?
? ?*?socket連接
?
? ?*?TCP非SSL連接
?
? ?*?SSL安全連接
?
? ? ? ? * SSL + 密碼連接 [version > MySQL 5.7.5]
?
?* SSL + 密碼 + 密鑰連接
?
3. SSL 簡介
?
? *?SSL指的是SSL/TLS,其是一種為了在計算機網絡進行安全通信的加密協(xié)議。假設用戶的傳輸不是通過SSL的方式,那么其在網絡中以明文的方式進行傳輸,而這給別有用心的人帶來了可乘之機。所以,現在很多網站其實默認已經開啟了SSL功能,比如Facebook、Twtter、YouTube、淘寶等。
4. 環(huán)境 [ 關閉SeLinux ]
*?system 環(huán)境
*?MySQL 環(huán)境?[?MySQL 5.7安裝前面篇章已做詳細介紹 ]
?have_openssl 與?have_ssl 值都為DISABLED表示ssl未開啟
5. SSL配置
? ?* ?利用自帶工具生成SSL相關文件
?
? ? ?have_openssl 與?have_ssl 值都為YES表示ssl開啟成功
?
6. SSL + 密碼連接測試
? ? * 創(chuàng)建用戶并指定 SSL 連接 [?MySQL 5.7后推薦使用create user 方式創(chuàng)建用戶 ]
?
? ? ? ?SSL:?Cipher in use is DHE-RSA-AES256-SHA 表示通過SSL連接
?
?
7. SSL + 密碼 + 密鑰連接
?
? ? * 創(chuàng)建用戶并指定 X509 [ SSL+密鑰 ] 連接 [?MySQL 5.7后推薦使用create user 方式創(chuàng)建用戶?]
?
??SSL:?Cipher in use is DHE-RSA-AES256-SHA 表示通過SSL連接
?