MySQL的安全加固方法
本文轉(zhuǎn)載自微信公眾號「MySQL技術(shù)」,作者MySQL技術(shù)。轉(zhuǎn)載本文請聯(lián)系MySQL技術(shù)公眾號。
前言
數(shù)據(jù)庫作為數(shù)據(jù)存儲的載體,在程序開發(fā)中承擔(dān)著至關(guān)重要的作用。近些年,隨著各種安全事故的發(fā)生,數(shù)據(jù)安全性逐漸得到重視。等保評測或各類系統(tǒng)安全評測中也都有增加數(shù)據(jù)庫安全相關(guān)要求,本篇文章將以 MySQL 為例,分享幾點數(shù)據(jù)庫安全加固方法。
1.數(shù)據(jù)安全重要性
數(shù)據(jù)安全性是指保護數(shù)據(jù)免受未經(jīng)許可而故意或偶然的傳送、泄露、破壞、修改,是標(biāo)志程序和數(shù)據(jù)等信息的安全程度的重要指標(biāo)。即保護數(shù)據(jù)不被破壞或泄露,不準(zhǔn)非法修改,防止不合法的訪問。
從理論上看,數(shù)據(jù)安全是信息系統(tǒng)建設(shè)的基石,數(shù)據(jù)是信息系統(tǒng)保護的首要目標(biāo)。數(shù)據(jù)失去保護,信息系統(tǒng)也就失去了應(yīng)有的意義。數(shù)據(jù)因為其價值的巨大和變現(xiàn)的便捷性,已成為黑客直接攻擊的首要目標(biāo)。近期,也發(fā)生過很多數(shù)據(jù)庫系統(tǒng)中勒索病毒或被挖礦的案例。
數(shù)據(jù)安全有三個特性,分別是保密性、完整性、可用性:
- 保密性:指對數(shù)據(jù)進行加密,只有授權(quán)者方可使用,并保證數(shù)據(jù)在流通環(huán)節(jié)不被竊取。包括網(wǎng)絡(luò)傳輸保密和數(shù)據(jù)存儲保密。
- 完整性:指數(shù)據(jù)未經(jīng)授權(quán)不得進行修改,確保數(shù)據(jù)在存儲和傳輸過程中不被篡改、破壞、盜用、丟失。
- 可用性:指經(jīng)授權(quán)的合法用戶必須得到系統(tǒng)和網(wǎng)絡(luò)提供的正常服務(wù)。不可因為保護數(shù)據(jù)泄露而拒合法使用者于千里之外。
國家對于數(shù)據(jù)安全也很重視,2021 年 6 月 10 日,第十三屆全國人民代表大會常務(wù)委員會第二十九次會議通過《中華人民共和國數(shù)據(jù)安全法》,自 2021 年 9 月 1 日起施行。自此之后,數(shù)據(jù)安全問題也做到了有法可依。
2.安全加固方法
那么我們應(yīng)該怎么來做數(shù)據(jù)庫安全加固呢?從數(shù)據(jù)安全的三個特性出發(fā),或許可以找到新的思路,即要保證數(shù)據(jù)的保密性、完整性、可用性。一切對這三個特性有利的方法都可作為安全加固的方法。
筆者認為,安全是多個環(huán)節(jié)層層防護、共同配合的結(jié)果。數(shù)據(jù)安全加固并不只是數(shù)據(jù)庫單一層面的問題,還需考慮操作系統(tǒng)、底層存儲、程序端等多個層面。下面筆者將從這幾個層面來分享幾點數(shù)據(jù)庫安全加固的方法,當(dāng)然,筆者并不是安全相關(guān)專業(yè)人事,幾點建議僅供參考。
操作系統(tǒng)層面(主機層):
- 做好系統(tǒng)用戶身份鑒別,不使用弱密碼并定期更換。
- 啟用登錄失敗處理功能,限制 ip 重復(fù)登錄。
- 做好訪問控制,制定安全策略,控制用戶對資源的訪問。
- 配置防火墻策略,做好安全審計并保留審計日志記錄。
存儲層:
- 有存儲冗余策略。
- 選擇合適的磁盤陣列技術(shù)。
- 定期檢查存儲,避免磁盤壞道。
數(shù)據(jù)庫層:
- 以獨立的系統(tǒng)用戶運行 mysql 服務(wù)。
- 及時發(fā)現(xiàn)新的安全風(fēng)險,打補丁或升級版本。
- 配置數(shù)據(jù)庫賬號密碼策略,不使用弱密碼。
- 數(shù)據(jù)庫賬號權(quán)限盡可能小,做好權(quán)限分離。
- 禁止數(shù)據(jù)庫外網(wǎng)訪問,限制數(shù)據(jù)庫賬號 ip 登錄。
- 竭力完善數(shù)據(jù)庫高可用架構(gòu),最好能做到多活。
- 有完整的周期性備份策略,備份文件可在異地保留一份。
- 增加數(shù)據(jù)庫審計,對數(shù)據(jù)庫流量或日志審計,設(shè)定告警通知機制。
程序?qū)樱?/p>
- 敏感數(shù)據(jù)進行加密存儲和傳輸。
- 做好代碼安全檢測,防止惡意傳參及 SQL 注入。
- 應(yīng)用系統(tǒng)不使用常見的管理員賬號及密碼。
總結(jié):
人類已進入大數(shù)據(jù)時代,數(shù)據(jù)的重要性無需贅言,特別是金融、政府、醫(yī)療等系統(tǒng)。本篇文章從幾個層面出發(fā),分享了幾點數(shù)據(jù)庫安全加固建議,希望大家能夠?qū)?shù)據(jù)安全性有些基本的認識,數(shù)據(jù)安全要重視起來了。