最近,準(zhǔn)備升級一組MySQL到5.7版本,在安裝完MySQL5.7后,在其data目錄下發(fā)現(xiàn)多了很多.pem類型的文件,然后通過查閱相關(guān)資料,才知這些文件是MySQL5.7使用SSL加密連接的。本篇主要介紹MySQL5.7 SSL連接加密功能、如何使用?以及使用SSL的一些注意點。
我們知道,MySQL5.7之前版本,安全性做的并不夠好,比如安裝時生成的root空密碼賬號、存在任何用戶都能連接上的test庫等,導(dǎo)致數(shù)據(jù)庫存在較大的安全隱患。好在5.7版本對以上問題進(jìn)行了一一修復(fù)。與此同時,MySQL 5.7版本還提供了更為簡單SSL安全訪問配置,且默認(rèn)連接就采用SSL的加密方式,這讓數(shù)據(jù)庫的安全性提高一個層次。
一、SSL介紹
SSL(Secure Socket Layer:安全套接字層)利用數(shù)據(jù)加密、身份驗證和消息完整性驗證機制,為基于TCP等可靠連接的應(yīng)用層協(xié)議提供安全性保證。
SSL協(xié)議提供的功能主要有:
1、 數(shù)據(jù)傳輸?shù)臋C密性:利用對稱密鑰算法對傳輸?shù)臄?shù)據(jù)進(jìn)行加密。
2.、身份驗證機制:基于證書利用數(shù)字簽名方法對服務(wù)器和客戶端進(jìn)行身份驗證,其中客戶端的身份驗證是可選的。
3、 消息完整性驗證:消息傳輸過程中使用MAC算法來檢驗消息的完整性。
如果用戶的傳輸不是通過SSL的方式,那么其在網(wǎng)絡(luò)中數(shù)據(jù)都是以明文進(jìn)行傳輸?shù)?,而這給別有用心的人帶來了可乘之機。所以,現(xiàn)在很多大型網(wǎng)站都開啟了SSL功能。同樣地,在我們數(shù)據(jù)庫方面,如果客戶端連接服務(wù)器獲取數(shù)據(jù)不是使用SSL連接,那么在傳輸過程中,數(shù)據(jù)就有可能被竊取。
二、MySQL5.7 SSL配置和啟用