我們將從入侵者入侵的各個環節來作出對應措施一步步的加固windows系統,一共歸于以下幾個方面:
1. 端口限制
2. 設置ACL權限
3. 關閉服務或組件
4. 包過濾
5. 審計
我們現在開始從入侵者的第一步開始,對應的開始加固已有的windows系統:
1. 掃描
這是入侵者在剛開始要做的第一步,比如搜索有漏洞的服務
對應措施:端口限制
以下所有規則,都需要選擇鏡像,否則會導致無法連接我們需要作的就是打開服務所需要的端口.而將其他的端口一律屏蔽。
2. 下載信息
這里主要是通過URL SCAN.來過濾一些非法請求
對應措施:過濾相應包
我們通過安全URL SCAN并且設置urlscan.ini中的DenyExtensions字段來阻止特定結尾的文件的執行
3. 上傳文件
入侵者通過這步上傳WEBSHELL、提權軟件、運行cmd指令等等
對應措施:取消相應服務和功能,設置ACL權限
如果有條件可以不使用FSO的
通過 regsvr32 /u c:\windows\system32\scrrun.dll來注銷掉相關的DLL,如果需要使用,那就為每個站點建立一個user用戶對每個站點相應的目錄,只給這個用戶讀、寫、執行權限,給administrators全部權限。安裝殺毒軟件,實時殺除上傳上來的惡意代碼,個人推薦MCAFEE或者卡巴斯基。如果使用MCAFEE.對WINDOWS目錄所有添加與修改文件的行為進行阻止。
4. WebShell
入侵者上傳文件后,需要利用WebShell來執行可執行程序,或者利用WebShell進行更加方便的文件操作。
對應措施:取消相應服務和功能
一般WebShell用到以下組件
WScript.Network
WScript.Network.1
WScript.Shell
WScript.Shell.1
Shell.Application
Shell.Application.1
我們在注冊表中將以上鍵值改名或刪除,同時需要注意按照這些鍵值下的CLSID鍵的內容,從/HKEY_CLASSES_ROOT/CLSID下面對應的鍵值刪除
5. 執行SHELL
入侵者獲得shell來執行更多指令
對應措施:設置ACL權限
Windows的命令行控制臺位于\WINDOWS\SYSTEM32\CMD.EXE
我們將此文件的ACL修改為某個特定管理員帳戶(比如administrator)擁有全部權限。
其他用戶,包括system用戶、administrators組等等,一律無權限訪問此文件。
6. 利用已有用戶或添加用戶
入侵者通過利用修改已有用戶或者添加Windows正式用戶,向獲取管理員權限邁進
對應措施:設置ACL權限、修改用戶
將除管理員外所有用戶的終端訪問權限去掉,限制CMD.EXE的訪問權限,限制SQL SERVER內的XP_CMDSHELL
7. 登陸圖形終端
入侵者登陸TERMINAL SERVER或者RADMIN等等圖形終端,獲取許多圖形程序的運行權限。由于WINDOWS系統下絕大部分應用程序都是GUI的,所以這步是每個入侵WINDOWS的入侵者都希望獲得的
對應措施:端口限制
入侵者可能利用3389或者其他的木馬之類的獲取對于圖形界面的訪問。我們在第一步的端口限制中,對所有從內到外的訪問一律屏蔽也就是為了防止反彈木馬,所以在端口限制中,由本地訪問外部網絡的端口越少越好。如果不是作為MAIL SERVER,可以不用加任何由內向外的端口,阻斷所有的反彈木馬。
8. 擦除腳印
入侵者在獲得了一臺機器的完全管理員權限后,就是擦除腳印來隱藏自身
對應措施:審計
首先我們要確定在windows日志中打開足夠的審計項目,如果審計項目不足,入侵者甚至都無需去刪除windows事件。其次我們可以用自己的cmd.exe以及net.exe來替換系統自帶的將運行的指令保存下來,了解入侵者的行動。對于windows日志,我們可以通過將日志發送到遠程日志服務器的方式來保證記錄的完整性。evtsys工具(https://engineering.purdue.edu/ECN/Resources/Documents)提供將windows日志轉換成syslog格式并且發送到遠程服務器上的功能,使用此用具,并且在遠程服務器上開放syslogd,如果遠程服務器是windows系統,推薦使用kiwi syslog deamon。我們要達到的目的就是不讓入侵者掃描到主機弱點,即使掃描到了也不能上傳文件,即使上傳文件了不能操作其他目錄的文件,即使操作了其他目錄的文件也不能執行shell,即使執行了shell也不能添加用戶,即使添加用戶了也不能登陸圖形終端,即使登陸了圖形終端、擁有系統控制權,他的所作所為還是會被記錄下來。
額外措施:我們可以通過增加一些設備和措施來進一步加強系統安全性。
1. 代理型防火墻,如ISA2004
代理型防火墻可以對進出的包進行內容過濾,設置對HTTP REQUEST內的request string或者form內容進行過濾,將SELECT、DROP、DELETE、INSERT等都過濾掉,因為這些關鍵詞在客戶提交的表單或者內容中是不可能出現的。過濾了以后可以說從根本杜絕了SQL 注入。
2. 用SNORT建立IDS
用另一臺服務器建立個SNORT,對于所有進出服務器的包都進行分析和記錄,特別是FTP上傳的指令以及HTTP對ASP文件的請求,可以特別關注一下。本文提到的部分軟件在提供下載的RAR中包含:
包括COM命令行執行記錄
URLSCAN 2.5以及配置好的配置文件
IPSEC導出的端口規則
evtsys
一些注冊表加固的注冊表項