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