手動解決黑客入侵ASP+Access或ASP+MSSQL網站
ASP系統在互聯網上廣泛的應用,針對ASP系統的腳本攻擊最近鬧得是紅紅火火。黑客們的眼睛也都盯上了這類的系統,那么下面我就來講講怎樣來防御基于WEB的各種攻擊。
1.安裝補丁
安裝好操作系統之后,首先要做的就是要安裝系統的各種補丁程序,配置好網絡之后,如果是WIN 2000的操作系統就裝上SP4,WIN 2003就安裝好SP1,然后點擊WINDOWS UPDATE,安裝好所有關鍵的更新。
2.安裝殺毒軟件
殺毒軟件我現在主要推薦使用兩款:卡巴斯基和瑞星。這兩款殺毒軟件我做過N多測試,結果表明卡巴斯基的殺查能力要強過瑞星,很多做過免殺的木馬過得了瑞星但是確逃不過卡巴斯基的法眼,當然卡巴斯基也不是百分百所有病毒都能查殺,一些木馬程序也是能做出過卡巴斯基的免殺。只不過卡巴斯基在所有殺毒軟件當中查殺能力還算是不錯的。
3.設置端口的安全保護功能
端口保護的方式有兩種,一種是TCP/IP篩選里面進行端口設置,另外一種系統自帶的防火墻(我以WINDOWS 2003操作系統為準,現在大部分的網站都使用的是WINDOWS 2003操作系統。)
4.TCP/IP篩選的端口設置方式
在“網上鄰居”上選右鍵點開“屬性”,然后在“本地連接”上右鍵點開“屬性”,選擇“Internet協議(TCP/IP)”點“屬性”,然后在彈出的“Internet協議(TCP/IP)屬性”框里選擇“高級”,然后在“高級TCP/IP設置”框里選擇“選項”,然后選擇“TCP/IP篩選”后點擊“屬性”,然后在彈出的“TCP/IP篩選”的框里勾上“啟用TCP/IP篩選(所有適配器)”,選擇只允許,然后點擊添加你所需要開放的端口。
5.自帶防火墻的端口設置
通過WINDOWS 2003操作系統自帶的防火墻來進行端口設置比較靈活,不用重新啟動服務器。開始設置,在“網上鄰居”上選右鍵點開“屬性”,然后在“本地連接”上右鍵點開“屬性”,在彈出的框里選擇“高級”,選擇“Internet連接防火墻”點擊設置,這樣就會彈出“WINDOWS 防火墻”的框。選擇“啟用”,然后點“例外”,在這個里面可以選擇“添加程序”和“添加端口”的方式來設置一些開放的端口。有一點需要特別注意,如果是遠程連接服務器的,要注意遠程虛擬終端的端口一定要開放。
6.目錄的安全設置
包括系統盤在內的所有磁盤只給Administrators和SYSTEM的完全控制權限。
C:\Documents and Settings 目錄只給Administrators和SYSTEM的完全控制權限。
C:\Documents and Settings\All Users 目錄只給 Administrators 組和 SYSTEM 的完全控制權限。
C: \Inetpub 目錄及下面所有目錄、文件只給 Administrators 組和 SYSTEM 的完全控制權限。
C:\Windows目錄除了給Administrators和SYSTEM的完全控制權限之外,還需要給CREATOR OWNER用一個“特別的權限”,Power Users用戶組除了完全控制之外的所有權限,Users用戶組“讀取和運行”,“列出文件夾目錄”,“讀取”的權限。
C:\Windows目錄的這些權限設置是非常重要的,如果除了Administrators和SYSTEM的完全控制權限之外的那些權限沒有設置,那么系統重啟后,很多系統服務都不能正常使用。
C: \Windows\System32\cacls.exe、cmd.exe、net.exe,、net1.exe 文件只給 Administrators 組和 SYSTEM 的完全控制權限。
7.IIS控制帳號的權限分配
現在黑客的入侵技術當中,有一種技術叫網站旁注入侵,這種技術方式上面黑客入侵技術環節已經講過了,是通過服務器里面一個有漏洞網站的來實施入侵,成功獲取權限之后轉而控制其它網站。那大家就想知道這個問題是由于什么原因導致的。
原來IIS對于遠程的普通用戶訪問是設置了一個專用的“IUSR_機器名”的帳號。那么正因為IIS用“IUSR_機器名”的帳號來管理所有網站訪問權限,因此黑客就可以用到這種旁注入侵技術了。那么怎么來解決這個問題?很簡單,我給每個網站分別設置一個單獨的IIS控制帳號,IIS控制帳號的權限設為GUESTS組就可以。這樣即使黑客通過服務器的一個網站拿到權限,那他也只有這個網站的權限,服務器其它網站他都沒有權限可以訪問,黑客對服務器破壞的風險降低了,那么安全就相對提高了。
8.注入漏洞的修補以及上傳文件類型的限制
這兩個部分是各位網站程序員所必須關注的,黑客對網站實施入侵的過程中,80%會用到網站的注入點和上傳漏洞來實施入侵。注入漏洞的修補可以使用網上一些現成的修補代碼,如ASP通用防注入組件,防注入代碼完美版等,但是我還是建議網站程序員稍微花點時間自己來寫防注入代碼,這樣會比較安全可靠。
上傳文件類型的限制這個寫起來也不難,只允許用戶上傳你們網站所要用到的文件類型,限制好文件類型,特別不要讓ASP,ASA等擴展名的文件上傳上來,然后對文件的頭文件進行一個檢查,發現有ASP木馬特征的就限制上傳。當然,現在的黑客越來越聰明,ASP木馬大部分都使用一句話木馬,然后還會對代碼進行各種各樣的變形處理來逃過網站的限制以及殺毒軟件的查殺。對于這些免殺技術的木馬用ASP代碼的方式很難防范,最好使用安全產品來進行防御。
9.SQL權限的安全設置
ASP+MSSQL是黑客最感興趣的網站,通常黑客能很輕松的利用MSSQL的漏洞拿到系統權限,因此這一塊是大家要加以重視。
首先系統安裝的時候,盡量不要默認安裝到c:\Program files目錄里面,然后安裝好之后要打好SQL數據庫最新的補丁程序。然后數據庫不要放在默認的位置,接下來就要看網站是否需要遠程登錄sql服務器,我建議能不用遠程就不要用,如果必須使用的話,那建議大家可以把端口改成一個高端端口,這樣黑客很難找到。
在做好安全安裝的工作之后,就要把SA設置一個復雜的密碼,然后把SQL里面的BUILTIN\Administrators用戶組刪除,這樣是避免黑客以WINDOWS身份登錄SQL。接著在企業管理器里面編輯SQL Server注冊屬性,選擇使用“使用SQL Server身份驗證”并勾選“總是提示輸入登錄名和密碼”。
然后在增加用戶的時候,只給public和db_owner權限。
添加用戶
exec sp_addlogin 'abc'
使它變為當前數據庫的合法用戶
exec sp_grantdbaccess N'abc'
授予abc用戶對數據庫的db_owner權限
exec sp_addrolemember N'db_owner', N'abc'
最后就要刪除一些黑客常用到的調用SHELL,操作注冊表,調用COM組件的權限。
打開查詢分析器,輸入:
- use master
- EXEC sp_dropextendedproc 'xp_cmdshell'
- EXEC sp_dropextendedproc 'Sp_OACreate'
- EXEC sp_dropextendedproc 'Sp_OADestroy'
- EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
- EXEC sp_dropextendedproc 'Sp_OAGetProperty'
- EXEC sp_dropextendedproc 'Sp_OAMethod'
- EXEC sp_dropextendedproc 'Sp_OASetProperty'
- EXEC sp_dropextendedproc 'Sp_OAStop'
- EXEC sp_dropextendedproc 'Xp_regaddmultistring'
- EXEC sp_dropextendedproc 'Xp_regdeletekey'
- EXEC sp_dropextendedproc 'Xp_regdeletevalue'
- EXEC sp_dropextendedproc 'Xp_regenumvalues'
- EXEC sp_dropextendedproc 'Xp_regread'
- EXEC sp_dropextendedproc 'Xp_regremovemultistring'
- EXEC sp_dropextendedproc 'Xp_regwrite'
- drop procedure sp_makewebtask
點擊菜單上“查詢”里面的“執行”,這樣就可以把這些會被黑客利用的權限刪除掉。
黑客入侵ASP+Access或ASP+MSSQL網站的防御過程到這里就結束了,關于原理性的內容請閱讀:黑客入侵ASP+Access或ASP+MSSQL網站的手法