數(shù)據(jù)庫安全之MSSQL數(shù)據(jù)庫防注入
MSSQL作為應(yīng)用最廣泛的網(wǎng)站數(shù)據(jù)庫,其安全防護也是至關(guān)重要的。MSSQL數(shù)據(jù)庫最大的威脅就來源于注入攻擊,MSSQL數(shù)據(jù)庫防注入成為了網(wǎng)站安全管理員應(yīng)該注意的問題,本篇文章就將介紹MSSQL數(shù)據(jù)庫防注入的幾個技巧。
MSSQL數(shù)據(jù)庫防注入之慎重選擇建站系統(tǒng)
通過站點系統(tǒng)建立一個Web站點是非常容易的,但是某些站點系統(tǒng)代碼編寫不夠嚴謹,考慮不周,變量過濾不嚴等使得可被攻擊者利用。因此,選擇一款安全的站點系統(tǒng)是至關(guān)重要的。當(dāng)然,沒有百分之百安全的站點系統(tǒng)。管理員如果懂代碼的話可以進行檢測分析,看看是否有漏洞。另外,可以扮演入侵者進行入侵檢測。最后,及時打補丁也是非常重要的。
MSSQL數(shù)據(jù)庫防注入之最小權(quán)限連接數(shù)據(jù)庫
Web站點連接數(shù)據(jù)庫都是通過相應(yīng)的帳戶進行連接,在這些帳戶中SA是權(quán)限最大的也是最危險的。數(shù)據(jù)庫不要用SA帳戶,使用SA帳戶連接數(shù)據(jù)庫對服務(wù)器來說就是一場災(zāi)難。一般來說可以使用DB_OWNER權(quán)限帳戶連接數(shù)據(jù)庫,如果可以正常運行,使用public用戶最安全的。設(shè)置成dbo權(quán)限連接數(shù)據(jù)庫之后,入侵者基本就只能通過猜解用戶名和密碼或者是差異備份來獲得webshell了,對于前者,我們可以通過加密和修改管理后臺的默認登陸地址來防御。對于差異備份,我們知道它的條件是有備份的權(quán)限,并且要知道web的目錄。這樣被攻擊的可能性大大地降低。
MSSQL數(shù)據(jù)庫防注入之刪除危險的存儲過程
MSSQL數(shù)據(jù)庫系統(tǒng)集成了較多的存儲過程,這些命令集方便了我們的操作當(dāng)然也為攻擊者入侵Web提供了便利。因此我們要根據(jù)需要刪除某些在Web中用不到的,并且可被攻擊者利用才存儲過程。比如xp_regread和xp_dirtree這兩個存儲過程可被攻擊者用來讀取注冊表信息和列目錄,我們可以刪除。另外,xp_cmdshell可被用來執(zhí)行DOS命令比如建立系統(tǒng)帳戶等等,是非常危險的。sp_makwebtask過程,可以讀取SQL SELECT命令所得到的結(jié)果到表格形式的HTML文件中。這些比較危險可被攻擊者利用的存儲過程我們可以刪除。比如刪除xp_cmdshell可以執(zhí)行“exec master..sp_dropextendedproc xp_cmdshell”,其它的類似。
MSSQL數(shù)據(jù)庫防注入之修改錯誤頁,誤導(dǎo)攻擊者
SQL注入入侵是根據(jù)IIS給出的ASP錯誤提示信息來入侵的,如果我們把IIS設(shè)置成不管出什么樣的ASP錯誤,只給出一種錯誤提示信息,即http 500錯誤,那么攻擊者就無法獲得敏感信息實施入侵了。打開IIS管理器選擇相應(yīng)的Web站點打開其站點屬性窗口,在“自定義錯誤”選項卡下選擇“500:100”點擊“編輯”打開“編輯自定義錯誤屬性”窗口,消息類型選擇“文件”,然后通過瀏覽定位到自己構(gòu)造的錯誤頁,比如“c:\test.htm”,然后確定即可。
【編輯推薦】