您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何分析MySQL數(shù)據(jù)庫的Web安全問題,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
數(shù)據(jù)安全是現(xiàn)在互聯(lián)網(wǎng)安全非常重要一個環(huán)節(jié)。而且一旦數(shù)據(jù)出現(xiàn)問題是不可逆的,甚至是災(zāi)難性的。
有一些防護措施應(yīng)該在前面幾個博文說過了,就不再贅述。比如通過防火墻控制,通過系統(tǒng)的用戶控制,通過Web應(yīng)用的控制等。
想說的是,任何一個節(jié)點都不是單獨存在的。
場景
1、確保應(yīng)用本身安全。
2、控制系統(tǒng)用戶對數(shù)據(jù)庫的訪問權(quán)限。
3、控制數(shù)據(jù)庫用戶對數(shù)據(jù)庫的訪問權(quán)限。
4、確保數(shù)據(jù)庫敏感數(shù)據(jù)的安全。
5、確保數(shù)據(jù)庫整個數(shù)據(jù)的完整性。
6、規(guī)范日常運維操作
7、合理的劃分業(yè)務(wù)。
解決方案
應(yīng)用安全
刪除默認的數(shù)據(jù)庫和用戶
mysql初始化后會自動生成空用戶和test庫,這會對數(shù)據(jù)庫構(gòu)成威脅,我們?nèi)縿h除。
mysql> drop database test; mysql> use mysql; mysql> delete from db; mysql> delete from user where not(host=”localhost” and user=”root”); mysql> flush privileges;
禁止數(shù)據(jù)庫從本地直接加載內(nèi)容
在某些情況下,LOCAL INFILE命令可被用于訪問操作系統(tǒng)上的其它文件(如/etc/passwd),應(yīng)使用下現(xiàn)的命令:
mysql> LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE table1 # 更簡單的方法是: mysql> SELECT load_file("/etc/passwd")
為禁用LOCAL INFILE命令,應(yīng)當在MySQL配置文件的[mysqld]部分增加下面的參數(shù):
set-variable=local-infile=0
控制用戶的權(quán)限
這里用戶,指的是數(shù)據(jù)庫里的用戶。
控制訪問的ip。
只允許信任的ip訪問,其他的ip都應(yīng)該拒絕。
比如:只允許辦公網(wǎng)絡(luò),還有業(yè)務(wù)服務(wù)器對應(yīng)的網(wǎng)絡(luò)可以訪問。
區(qū)分角色
區(qū)分角色,給不同的權(quán)限。角色的劃分需要根據(jù)具體的使用場景。
下面簡單舉例:
1、角色:view。權(quán)限:只允許查詢數(shù)據(jù),不允許做任何修改。場景:業(yè)務(wù)正確性驗證時
2、角色:update。權(quán)限:允許修改數(shù)據(jù),但是不允許修改數(shù)據(jù)結(jié)構(gòu)。場景:程序運行
3、角色:operate。權(quán)限:允許修改表結(jié)構(gòu),允許新增和修改表,不允許刪除表,不允許刪庫。場景:產(chǎn)品要發(fā)布的時候才可以使用,通過升級sql方式執(zhí)行。
4、.....
加密敏感信息
要使用md5,sha等算法加密。這樣即使數(shù)據(jù)丟失,也能減少損失。比如:登錄密碼,支付密碼等。
保證數(shù)據(jù)的完整性
1、解決單點故障。主從,主主。
2、需要備份與還原。
規(guī)范日常操作
1、如果沒有特殊需求,應(yīng)該使用最小的用戶。比如只使用查看的用戶。
2、有需要修改數(shù)據(jù)或者結(jié)構(gòu)的操作,可以考慮兩人一起?;蛘呖梢钥紤]做成功能,減少人為直接操作數(shù)據(jù)庫。
3、在測試環(huán)境上測試OK,才往正式環(huán)境執(zhí)行。
業(yè)務(wù)的劃分
少用數(shù)據(jù)庫
可以通過緩存,靜態(tài)化。盡可能少的使用數(shù)據(jù)庫。能不使用數(shù)據(jù)庫是最安全。
分庫分表
敏感的數(shù)據(jù)和常用的數(shù)據(jù),***從表的設(shè)計上隔離。比如:用戶的詳情信息和支付信息***分開。
優(yōu)化sql
這個也非常重要,往往就是因為不重要sql的優(yōu)化,所以數(shù)據(jù)庫對應(yīng)的服務(wù)器資源吃滿不提供服務(wù)。
驗證方法
通過不同的賬號操作,判斷有沒有對應(yīng)的權(quán)限。
上述內(nèi)容就是如何分析MySQL數(shù)據(jù)庫的Web安全問題,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。