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