Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 服務器綜合 >> Windows Internet服務器安全配置

Windows Internet服務器安全配置

日期:2017/1/23 16:30:01      編輯:服務器綜合

我們將從入侵者入侵的各個環節來作出對應措施,一步步的加固Windows系統。加固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工具提供將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文件的請求,可以特別關注一下。

實踐篇

下面我用的例子,將是一台標准的虛擬主機。

系統:Windows2003

服務:[IIS] [Serv-U] [IMAIL] [SQL SERVER 2000] [PHP] [MYSQL]

描述:為了演示,綁定了最多的服務,大家可以根據實際情況做篩減。

1.Windows本地安全策略 端口限制

A.對於我們的例子來說,需要開通以下端口:

 

				外->本地 80
外->本地 20
外->本地 21
外->本地 PASV所用到的一些端口
外->本地 25
外->本地 110
外->本地 3389
		

 

然後按照具體情況,打開SQL SERVER和MYSQL的端口:

 

				外->本地 1433
外->本地 3306
		

 

B.接著是開放從內部往外需要開放的端口

按照實際情況,如果無需郵件服務,則不要打開以下兩條規則:

 

				本地->外 53 TCP,UDP
本地->外 25
		

 

按照具體情況如果無需在服務器上訪問網頁盡量不要開以下端口:

 

				本地->外 80
		

 

C.除了明確允許的一律阻止

這個是安全規則的關鍵:

 

				外->本地 所有協議 阻止
		

2.用戶帳號 a.將administrator改名,例子中改為root。 b.取消所有除管理員root外所有用戶屬性中的。 遠程控制->啟用遠程控制,以及,終端服務配置文件->允許登陸到終端服務器。 c.將guest改名為administrator並且修改密碼。 d.除了管理員root,IUSER以及IWAM以及ASPNET用戶外,禁用其他一切用戶,包括SQL DEBUG以及TERMINAL USER等等。 3.目錄權限 將所有盤符的權限,全部改為只有

administrators組  全部權限
system  全部權限

將C盤的所有子目錄和子文件,繼承C盤的administrator(組或用戶)和SYSTEM所有權限的兩個權限,然後做如下修改:

C:/Program Files/Common Files 開放Everyone,默認的讀取及運行,列出文件目錄,讀取三個權限。
C:/Windows/ 開放Everyone 默認的讀取及運行,列出文件目錄,讀取三個權限。
C:/Windows/Temp 開放Everyone 修改,讀取及運行,列出文件目錄,讀取,寫入權限。

現在WebShell就無法在系統目錄內寫入文件了。當然也可以使用更嚴格的權限。在Windows下分別目錄設置權限,可是比較復雜,效果也並不明顯。 4.IIS 在IIS 6下,應用程序擴展內的文件類型對應ISAPI的類型已經去掉了IDQ、PRINT等等危險的腳本類型,在IIS 5下我們需要把除了ASP以及ASA以外所有類型刪除。 安裝URLSCAN 在[DenyExtensions]中,一般加入以下內容:

.cer
.cdx
.mdb
.bat
.cmd
.com
.htw   
.ida   
.idq   
.htr   
.idc   
.shtm 
.sHTML 
.stm   
.printer
					
                
              
            
        
        

這樣入侵者就無法下載.mdb數據庫。這種方法比外面一些在文件頭加入特殊字符的方法更加徹底,因為即便文件頭加入特殊字符,還是可以通過編碼構造出來的。 5.WEB目錄權限 作為虛擬主機,會有許多獨立客戶。比較保險的做法就是為每個客戶,建立一個Windows用戶。然後在IIS的響應的站點項內,把IIS執行的匿名用戶綁定成這個用戶,並且把他指向的目錄,權限變更為

administrators 全部權限
system  全部權限

單獨建立的用戶(或者IUSER) 選擇高級->打開除“完全控制”,“遍歷文件夾/運行程序”,“取得所有權”3個外的其他權限。 如果服務器上站點不多,並且有論壇。我們可以把每個論壇的上傳目錄,去掉此用戶的執行權限,只有讀寫權限。這樣入侵者即便繞過論壇文件類型檢測上傳了webshell,也是無法運行的。 6.MS SQL SERVER2000 使用系統帳戶登陸查詢分析器,運行以下腳本:

use master 
exec sp_dropextendedproc 'xp_cmdshell' 
exec sp_dropextendedproc 'xp_dirtree'
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
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
go

刪除所有危險的擴展。 7.修改CMD.EXE以及NET.EXE權限 將兩個文件的權限修改到特定管理員才能訪問,比如本例中,我們如下修改:

cmd.exe   root用戶   所有權限
net.exe   root用戶   所有權現

這樣就能防止非法訪問,還可以使用例子中提供的comlog程序。將com.exe改名_com.exe,然後替換com文件。這樣可以記錄所有執行的命令行指令。 8.備份 使用ntbackup軟件,備份系統狀態。使用reg.exe 備份系統關鍵數據,如reg export HKLM/SOFTWARE/ODBC e:/backup/system/odbc。reg /y 來備份系統的ODBC。 9.殺毒 這裡介紹MCAFEE 8i 中文企業版,因為這個版本對於國內的許多惡意代碼和木馬都能夠及時的更新。比如已經能夠檢測到海陽頂端2006,而且能夠殺除IMAIL等SMTP軟件使用的隊列中MIME編碼的病毒文件。而很多人喜歡安裝諾頓企業版,而諾頓企業版,對於WEBSHELL基本都是沒有反應的,而且無法對於MIME編碼的文件進行殺毒。在MCAFEE中,我們還能夠加入規則,阻止在Windows目錄建立和修改EXE、DLL文件等。我們在軟件中加入對WEB目錄的殺毒計劃,每天執行一次,並且打開實時監控。 10.關閉無用的服務 我們一般關閉如下服務:

Computer Browser
Help and Support
Messenger
Print Spooler
Remote Registry
TCP/IP NetBIOS Helper

如果服務器不用作域控,我們也可以禁用:

Workstation

11.取消危險組件 如果服務器不需要FSO,

regsvr32 /u c:/Windows/system32/scrrun.dll

注銷組件。 使用regedit,將/HKEY_CLASSES_ROOT下的

WScript.Network
WScript.Network.1
WScript.Shell
WScript.Shell.1
Shell.Application
Shell.Application.1

鍵值改名或刪除。將這些鍵值下CLSID中包含的字串,如{72C24DD5-D70A-438B-8A42-98424B88AFB8},到/HKEY_CLASSES_ROOT/CLSID下找到以這些字串命名的鍵值,全部刪除。 12.審計 本地安全策略->本地策略->審核策略,打開以下內容: 審核策略更改 成功,失敗 審核系統事件 成功,失敗 審核帳戶登陸事件 成功,失敗 審核帳戶管理 成功,失敗。
 

Copyright © Windows教程網 All Rights Reserved