置文件的構造形式
urlscan配置文件必須遵從以下規則:
(1)此文件名必須為urlscan.ini;
(2)配置文件必須和urlscan.dll在同一目錄;
(3)配置文件必須是標準ini文件結構,也就是由節,串和值組成;
(4)配置文件修改以后,必須重新啟動IIS,使配置生效;
(5)配置文件由以下各節組成:
[Option]節,主要設置節;
[AllowVerbs]節,配置認定為合法URL規則設定,此設定與Option節有關;
[DenyVerbs]節,配置認定為非法URL規則設定,此設定與Option節有關;
[DenyHeaders]節,配置認定為非法的header在設立設置;
[AllowExtensions]節,配置認定為合法的文件擴展名在這里設置,此設定與Option節有關;
[DenyExtensions]節,配置認定為非法的文件擴展名在這里設置,此設定與Option節有關;
2、具體配置
(1)Option節的配置,因為Option節的設置直接影響到以后的配置,因此,這一節的設置特別重要。此節
主要進行以下屬性的設置:
UseAllowVerbs:使用允許模式檢查URL請求,如果設置為1,所有沒有在[AllowVerbs]節設置的請求都被拒
絕;如果設置為0,所有沒有在[DenyVerbs]設置的URL請求都認為合法;默認為1;
UseAllowExtensions:使用允許模式檢測文件擴展名;如果設置為 1,所有沒在[AllowExtensions]節設置
的文件擴展名均認為是非法請求;如果設置為0,所有沒在[DenyExtensions]節設置的擴展名均被認為是合法請
求;默認為0;
EnableLogging:是否允許使用Log文件,如果為1,將在urlscan.dll的相同目錄設置名為urlscan.log的文
件記錄所有過濾;
AllowLateScanning:允許其他URL過濾在URLScan過濾之前進行,系統默認為不允許0;
AlternateServerName:使用服務名代替;如果此節存在而且[RemoveServerHeader]節設置為0,IIS將在這
里設置的服務器名代替默認的“Server”;
NormalizeUrlBeforeScan:在檢測URL之前規格化URL;如果為1,URLScan將在IIS編碼URL之前URL進行檢測
;需要提醒的是,只有管理員對URL解析非常熟悉的情況下才可以將其設置為0;默認為1;
VerifyNormalization:如果設置為1,UrlScan將校驗URL規則,默認為1;此節設定與
NormalizeUrlBeforeScan有關;
AllowHighBitCharacters:如果設置為1,將允許URL中存在所有字節,如果為0,含有非ASCII字符的URL將
拒絕;默認為1;
AllowDotInPath:如果設置為1,將拒絕所有含有多個“.”的URL請求,由于URL檢測在IIS解析URL之前,
所以,對這一檢測的準確性不能保證,默認為0;
RemoveServerHeader:如果設置為1,將把所有應答的服務頭清除,默認為0;
(2)[AllowVerbs]節配置
如果UseAllowVerbs設置為1,此節設置的所有請求將被允許,一般設置以下請求:
GET、HEAD、POST
(3)[DenyVerbs]節配置
如果UseAllowVerbs設置為0,此節設置的所有請求將拒絕,一般設置以下請求:
PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK
(4)[AllowExtensions]節設置
在這一節設置的所有擴展名文件將被允許請求,一般設置以下請求:
.asp、.htm、.html、.txt、.jpg、.jpeg、.gif,如果需要提供文件下載服務,需要增加.rar、.zip
(5)[DenyExtensions]節設置
在這一節設置的所有擴展名文件請求將被拒絕,根據已經發現的漏洞,我們可以在這一節增加內容,一般
為以下設置:
.asa、可執行文件、批處理文件、日志文件、罕見擴展如:shtml、.printer等。
三、總結
以上兩個工具功能強大,可以真正實現對IIS的保護。IIS Lock Tool簡單,相對而言,只是被動的防衛;
UrlScan設置比較難,建議對IIS非常熟悉的管理員使用,只要設置得當,UrlScan的功能更加強大。在使用
UrlScan的時候,切記不要設置一次萬事大吉,需要不停跟蹤新出現的漏洞,隨時修改URLScan的配置文件。
3。高級篇:NT/2000的高級安全設置
1.禁用空連接,禁止匿名獲得用戶名列表
Win2000的默認安裝允許任何用戶通過空用戶得到系統所有賬號/共享列表,這個本來是為了方便局域網用
戶共享文件的,但是一個遠程用戶也可以得到你的用戶列表并使用暴力法破解用戶密碼。很多朋友都知道可以
通過更改注冊表Local_MachineSystemCurrentControlSetControlLSA-RestrictAnonymous = 1來禁止139空
連接,實際上win2000的本地安全策略(如果是域服務器就是在域服務器安全和域安全策略中)就有這樣的選項
RestrictAnonymous(匿名連接的額外限制),這個選項有三個值: 0:None. Rely on default permissions
(無,取決于默認的權限 1 :Do not allow enumeration of SAM accounts and shares(不允許枚舉SAM帳號
和共享) 2:No access without explicit anonymous permissions(沒有顯式匿名權限就不允許訪問) 0這
個值是系統默認的,什么限制都沒有,遠程用戶可以知道你機器上所有的賬號、組信息、共享目錄、網絡傳輸列表(NetServerTransportEnum等等,對服務器來說這樣的設置非常危險。 1這個值是只允許非NULL用戶存取SAM賬號信息和共享信息。 2這個值是在win2000中才支持的,需要注意的是,如果你一旦使用了這個值,你的共享估計就全部完蛋了,所以我推薦你還是設為1比較好。 好了,入侵者現在沒有辦法拿到我們的用戶列表,我們的賬戶安全了
2。禁止顯示上次登陸的用戶名
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionwinlogon項中的Don’t Display Last
User Name串數據改成1,這樣系統不會自動顯示上次的登錄用戶名。將服務器注冊表HKEY_LOCAL_
MACHINESOFTWAREMicrosoft
WindowsNTCurrentVersionWinlogon項中的Don't Display Last User Name串數據修改為1,隱藏上次登陸控
制臺的用戶名。其實,在2000的本地安全策略中也存在該選項
Winnt4.0修改注冊表:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrent VersionWinlogon 中增加
DontDisplayLastUserName,將其值設為1。
2.預防DoS:
在注冊表HKLMSYSTEMCurrentControlSetServicesTcpipParameters中更改以下值可以幫助你防御一定強度
的DoS攻擊 SynAttackProtect REG_DWORD 2
EnablePMTUDiscovery REG_DWORD 0 NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0 KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0 EnableICMPRedirects REG_DWORD 0
在Win2000中如何關閉ICMP(Ping)
3.針對ICMP攻擊
ICMP的全名是Internet Control and Message Protocal即因特網控制消息/錯誤報文協議,這個協議主要
是用來進行錯誤信息和控制信息的傳遞,例如著名的Ping和Tracert工具都是利用ICMP協議中的ECHO request報
文進行的(請求報文ICMP ECHO類型8代碼0,應答報文ICMP ECHOREPLY類型0代碼0)。
ICMP協議有一個特點---它是無連結的,也就是說只要發送端完成ICMP報文的封裝并傳遞給路由器,這個報
文將會象郵包一樣自己去尋找目的地址,這個特點使得ICMP協議非常靈活快捷,但是同時也帶來一個致命的缺
陷---易偽造(郵包上的寄信人地址是可以隨便寫的),任何人都可以偽造一個ICMP報文并發送出去,偽造者可
以利用SOCK_RAW編程直接改寫報文的ICMP首部和IP首部,這樣的報文攜帶的源地址是偽造的,在目的端根本無
法追查,(攻擊者不怕被抓那還不有恃無恐?)根據這個原理,外面出現了不少基于ICMP的攻擊軟件,有通過
網絡架構缺陷制造ICMP風暴的,有使用非常大的報文堵塞網絡的,有利用ICMP碎片攻擊消耗服務器CPU的,甚至
如果將ICMP協議用來進行通訊,可以制作出不需要任何TCP/UDP端口的木馬(參見揭開木馬的神秘面紗三)
......既然ICMP協議這么危險,我們為什么不關掉它呢?
我們都知道,Win2000在網絡屬性中自帶了一個TCP/IP過濾器,我們來看看能不能通過這里關掉ICMP協議,
桌面上右擊網上鄰居->屬性->右擊你要配置的網卡->屬性->TCP/IP->高級->選項->TCP/IP過濾,這里有三個過
濾器,分別為:TCP端口、UDP端口和IP協議,我們先允許TCP/IP過濾,然后一個一個來配置,先是TCP端口,點
擊"只允許",然后在下面加上你需要開的端口,一般來說WEB服務器只需要開80(www),FTP服務器需要開20(FTP
Data),21(FTP Control),郵件服務器可能需要打開25(SMTP),110(POP3),以此類推......接著是UDP,UDP協
議和ICMP協議一樣是基于無連結的,一樣容易偽造,所以如果不是必要(例如要從UDP提供DNS服務之類)應該
選擇全部不允許,避免受到洪水(Flood)或碎片(Fragment)攻擊。最右邊的一個編輯框是定義IP協議過濾的
,我們選擇只允許TCP協議通過,添加一個6(6是TCP在IP協議中的代碼,IPPROTO_TCP=6),從道理上來說,只
允許TCP協議通過時無論UDP還是ICMP都不應該能通過,可惜的是這里的IP協議過濾指的是狹義的IP協議,從架
構上來說雖然ICMP協議和IGMP協議都是IP協議的附屬協議,但是從網絡7層結構上ICMP/IGMP協議與IP協議同屬
一層,所以微軟在這里的IP協議過濾是不包括ICMP協議的,也就是說即使你設置了“只允許TCP協議通過”,
ICMP報文仍然可以正常通過,所以如果我們要過濾ICMP協議還需要另想辦法。
剛剛在我們進行TCP/IP過濾時,還有另外一個選項:IP安全機制(IP Security),我們過濾ICMP的想法就
要著落在它身上。
打開本地安全策略,選擇IP安全策略,在這里我們可以定義自己的IP安全策略。一個IP安全過濾器由兩個部分
組成:過濾策略和過濾操作,過濾策略決定哪些報文應當引起過濾器的關注,過濾操作決定過濾器是“允許”
還是“拒絕”報文的通過。要新建IP安全過濾器,必須新建自己的過濾策略和過濾操作:右擊本機的IP安全策
略,選擇管理IP過濾器,在IP過濾器管理列表中建立一個新的過濾規則:ICMP_ANY_IN,源地址選任意IP,目標
地址選本機,協議類型是ICMP,切換到管理過濾器操作,增加一個名為Deny的操作,操作類型為"阻止"(Block
)。這樣我們就有了一個關注所有進入ICMP報文的過濾策略和丟棄所有報文的過濾操作了。需要注意的是,在 地址選項中有一個鏡像選擇,如果選中鏡像,那么將會建立一個對稱的過濾策略,也就是說當你關注any
IP->my IP的時候,由于鏡像的作用,實際上你也同時關注了my IP->any IP,你可以根據自己的需要選擇或者
放棄鏡像。再次右擊本機的IP安全策略,選擇新建IP過濾策略,建立一個名稱為ICMP Filter的過濾器,通過增
加過濾規則向導,我們把剛剛定義的ICMP_ANY_IN過濾策略指定給ICMP Filter,然后在操作選框中選擇我們剛
剛定義的Deny操作,退出向導窗口,右擊ICMP Filter并啟用它,現在任何地址進入的ICMP報文都會被丟棄了。
雖然用IP sec能夠對ICMP報文進行過濾,不過操作起來太麻煩,而且如果你只需要過濾特定的ICMP報文,
還要保留一些常用報文(如主機不可達、網絡不可達等),IP sec策略就力不從心了,我們可以利用Win2000的
另一個強大工具路由與遠程訪問控制(Routing & Remote Access)來完成這些復雜的過濾操作。
路由與遠程訪問控制是Win2000用來管理路由表、配置VPN、控制遠程訪問、進行IP報文過濾的工具,默認
情況下并沒有安裝,所以首先你需要啟用它,打開"管理工具"->"路由與遠程訪問",右擊服務器(如果沒有則
需要添加本機)選擇"配置并啟用路由及遠程訪問",這時配置向導會讓你選擇是什么樣的服務器,一般來說,
如果你不需要配置VPN服務器,那么選擇"手動配置"就可以了,配置完成后,主機下將出現一個IP路由的選項,
在"常規"中選擇你想配置的網卡(如果你有多塊網卡,你可以選擇關閉某一塊的ICMP),在網卡屬性中點擊"輸
入篩選器",添加一條過濾策略"from:ANY to:ANY 協議:ICMP 類型:8 :編碼:0 丟棄"就可以了(類型8編碼
0就是Ping使用的ICMP_ECHO報文,如果
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【www.vbseamall.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|