MySQL安全策略(MySQL安全注意事項(xiàng))
導(dǎo)讀
MySQL被運(yùn)用于越來越多的業(yè)務(wù)中,在關(guān)鍵業(yè)務(wù)中對數(shù)據(jù)安全性的要求也更高,如何保證MySQL的數(shù)據(jù)安全?
數(shù)據(jù)安全如果只靠MySQL應(yīng)用層面顯然是不夠的,是需要在多個(gè)層面來保護(hù)的,包括網(wǎng)絡(luò)、系統(tǒng)、邏輯應(yīng)用層、數(shù)據(jù)庫層等。
下面是我們可借鑒的一些安全策略。
1、網(wǎng)絡(luò)、系統(tǒng)層面
在這個(gè)層面可以做很多的事情,我們可以把這些安全要求作為新系統(tǒng)安裝時(shí)的標(biāo)準(zhǔn)要求,放到自動(dòng)化裝機(jī)方案中。
把運(yùn)行MySQL的服務(wù)器放在內(nèi)網(wǎng)中,不要啟用公網(wǎng);
迫不得已啟用公網(wǎng)的話,修改sshd端口到10000以上;
設(shè)置防火墻策略,只允許信任的服務(wù)器連接sshd和MySQL端口;
修改idrac/imm密碼,設(shè)置GRUB密碼;
設(shè)置密碼安全策略,比如要求 PASS_MIN_LEN 不低于8位,其實(shí)最好是直接用一個(gè)復(fù)雜密碼做MD5之后再作為正式密碼,32位長度的安全程度夠高吧;
將操作日志記入syslog并且發(fā)送到遠(yuǎn)程log server上,堅(jiān)決不能只存儲(chǔ)在本地;
除了必須的賬號,其他的都設(shè)為無登入權(quán)限;
盡量把運(yùn)行MySQL的服務(wù)器獨(dú)立出來,不要和web server、app server放一起。必須放一起的話,也要設(shè)置好權(quán)限分離,不允許web server、app server進(jìn)程的屬主有直接訪問MySQL datadir的權(quán)限;
禁用web server層的autoindex配置;
可能的話,采用https代替http;
關(guān)鍵應(yīng)用保持更新,避免老版本的漏洞風(fēng)險(xiǎn);
設(shè)置nginx、php等應(yīng)用服務(wù)的安全策略,禁用危險(xiǎn)函數(shù)等;
可以考慮購買運(yùn)營商提供的一些安全防護(hù)、掃描器等產(chǎn)品;
堅(jiān)決杜絕二逼行為,把關(guān)鍵配置文件上傳到公共網(wǎng)絡(luò)上(如把公司項(xiàng)目代碼放在github上作為個(gè)人項(xiàng)目,內(nèi)含內(nèi)網(wǎng)賬號密碼信息)。
2、邏輯應(yīng)用層
在這個(gè)層面,等多的是依賴運(yùn)營及開發(fā)人員的安全意識(shí),很多本可以避免的低級安全漏洞完全可以在這個(gè)層面處理掉,比如下面提到的XSS、CSRF、SQL注入等漏洞。
盡量不要在公網(wǎng)上使用開源的cms、blog、論壇等系統(tǒng),除非做過代碼安全審計(jì),或者事先做好安全策略。這類系統(tǒng)一般都是黑客重點(diǎn)研究對象,很容易被搞;
在web server層,可以用一些安全模塊,比如nginx的WAF模塊;
在app server層,可以做好代碼安全審計(jì)、安全掃描,防止XSS攻擊、CSRF攻擊、SQL注入、文件上傳攻擊、繞過cookie檢測等安全漏洞;
應(yīng)用程序中涉及賬號密碼的地方例如JDBC連接串配置,盡量把明文密碼采用加密方式存儲(chǔ),再利用內(nèi)部私有的解密工具進(jìn)行反解密后再使用?;蛘呖梢宰寫?yīng)用程序先用中間賬號連接proxy層,再由proxy連接MySQL,避免應(yīng)用層直連MySQL;
應(yīng)用層啟用關(guān)鍵日志記錄,例如交易日志,方便后續(xù)對賬什么的。
3、MySQL數(shù)據(jù)庫層
前面幾層如果都做的不夠安全的話,在這層也幾乎是岌岌可危了。但我們依然可以做些事情的。
啟用 safe-update 選項(xiàng),避免沒有 WHERE 條件的全表數(shù)據(jù)被修改;
將 binlog 的保存周期加長,便于后續(xù)的審計(jì)、審查;
應(yīng)用賬號只賦予SELECT、UPDATE、INSERT權(quán)限,取消DELETE權(quán)限。把需要DELETE權(quán)限的邏輯改成用UPDATE實(shí)現(xiàn),避免被物理刪除;
需要真正刪除時(shí),交由DBA先備份后再物理刪除;
可以采用Percona的SQL審計(jì)插件,據(jù)說還有macfee的插件;
還可以采用觸發(fā)器來做一些輔助功能,比如防止黑客惡意篡改數(shù)據(jù)。
4、后記
數(shù)據(jù)安全可以做的事情很多,本文也只是羅列了一些比較簡單可快速實(shí)施的方案。每個(gè)企業(yè)應(yīng)有自己的安全策略規(guī)范,每一位參與者都應(yīng)該心懷敬畏,努力遵守這些必要的規(guī)范,不使信息安全成為空談。
真正的數(shù)據(jù)安全,是靠所有人的意識(shí)安全作為支撐的,沒有這個(gè)意識(shí)靠機(jī)制、制度、工具都是不靠譜。于
- MySQL全面安全加固實(shí)戰(zhàn)的全流程
- MySQL數(shù)據(jù)庫SSL安全連接方式
- MySQL性能監(jiān)控與安全管理的完整指南
- MySQL 用戶權(quán)限與安全管理最佳實(shí)踐
- 如何正確、安全地關(guān)閉MySQL
- MySQL用戶權(quán)限設(shè)置保護(hù)數(shù)據(jù)庫安全
- MySQL數(shù)據(jù)庫安全秘籍之守護(hù)數(shù)據(jù)金庫防火防盜防攻擊
- 如何優(yōu)雅安全的備份MySQL數(shù)據(jù)
- mysql 安全管理詳情
- 如何優(yōu)雅、安全的關(guān)閉MySQL進(jìn)程
- 保障MySQL數(shù)據(jù)安全的一些建議
- MySQL 5.7 學(xué)習(xí)心得之安全相關(guān)特性
- 關(guān)于加強(qiáng)MYSQL安全的幾點(diǎn)建議
- 詳細(xì)講解安全升級MySQL的方法
- 淺析MySQL的注入安全問題
- MySQL數(shù)據(jù)庫安全設(shè)置與注意事項(xiàng)小結(jié)
- MySQL的安全問題從安裝開始說起
- MySQL安全設(shè)置圖文教程
- 10個(gè)提高M(jìn)ySQL安全性的重要措施:從賬號管理到網(wǎng)絡(luò)防護(hù),再到數(shù)據(jù)備份和版本更新
相關(guān)文章
MySQL鎖等待超時(shí)錯(cuò)誤詳細(xì)解釋原因和解決方案
鎖等待超時(shí)是指在一個(gè)事務(wù)嘗試獲取某個(gè)資源上的鎖時(shí),如果等待的時(shí)間超過了預(yù)設(shè)的閾值,MySQL將返回一個(gè)錯(cuò)誤,這篇文章主要介紹了MySQL鎖等待超時(shí)錯(cuò)誤詳細(xì)解釋原因和解決方案,需要的朋友可以參考下2025-12-12
一文帶你將csv文件導(dǎo)入到mysql數(shù)據(jù)庫(親測有效)
一直不大懂csv怎么通過mysql圖形化的界面直接導(dǎo)入,看了很多帖,才覺得自己會(huì)了,下面這篇文章主要給大家介紹了關(guān)于將csv文件導(dǎo)入到mysql數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2022-08-08
MySQL的集群配置的基本命令使用及一次操作過程實(shí)錄
這篇文章主要介紹了MySQL的集群配置過程中的基本命令使用,實(shí)錄中給出了兩個(gè)節(jié)點(diǎn)連接的例子,更多的話同理:)需要的朋友可以參考下2015-11-11
Mybatis動(dòng)態(tài)傳入order?by問題
這篇文章主要介紹了Mybatis動(dòng)態(tài)傳入order?by問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
MySQL5綠色版windows下安裝總結(jié)(推薦)
這篇文章主要介紹了MySQL5綠色版windows下安裝總結(jié),需要的朋友可以參考下2017-03-03
MySQL order by實(shí)現(xiàn)原理分析和Filesort優(yōu)化方式
這篇文章主要介紹了MySQL order by實(shí)現(xiàn)原理分析和Filesort優(yōu)化方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Mysql 日期時(shí)間 DATE_FORMAT(date,format)
Mysql 日期時(shí)間 DATE_FORMAT(date,format) ,需要的朋友可以參考下。2010-12-12

