MysqL應該考慮到的安全策略

OldBoy~發表於2018-01-04

1:使用預處理語句防止SQL隱碼攻擊
2:寫入資料庫的資料要進行特殊字元的轉義,比如字元中帶單引號和雙引號需要在應用層轉義,這樣為了防止SQL隱碼攻擊
3:查詢的錯誤資訊不要返回給使用者,將錯誤記錄到日誌。錯誤資訊不要顯示到應用中,這樣使用者會獲取到資料庫資訊,這樣就是不安全,我們要把錯誤遮蔽,定期排查錯誤看日誌就可以了
注意:PHP端儘量使用PDO進行資料庫相關的操作,PDO擁有對預處理語句很好的支援方法,Mysqli也有,但是可擴充套件性不如PDO,PDO支援擴充套件的庫比較多,不僅僅支援Mysql,效率略高於PDO,但Mysqli僅僅支援Mysql,Mysql函式庫在新版本中已經趨向於淘汰,所以不建議使用,而且它沒有很好的支援預處理的方法
4:定期做資料備份
5:不給查詢使用者root許可權,合理分配許可權;比如伺服器有好多應用,不能每個都給root許可權
6:關閉遠端訪問資料庫許可權,這樣有可能會被破解,就不安全了
7:修改root口令,不用預設口令,要複雜,不能輕易被猜到
8:刪除多餘的使用者
9:改變root使用者的名稱,改一些別人不容易猜到的
10:限制一般使用者瀏覽其他庫;比如多個應用,每個應用建立獨立的使用者,不能訪問其它庫
11:限制使用者對資料檔案的訪問許可權,對檔案做許可權的限制,不僅僅每個使用者限制訪問mysql庫的許可權,而且要限制mysql儲存資料的data目錄許可權

相關文章