溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何分析MySQL數(shù)據(jù)庫的Web安全問題

發(fā)布時間:2021-11-29 11:11:29 來源:億速云 閱讀:158 作者:柒染 欄目:數(shù)據(jù)庫

本篇文章為大家展示了如何分析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è)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI