- 等级
- 社长
- 等级进度
- 积分
- 35065
- 阅读权限
- 255
- 主题
- 精华
- 社区币
- 星梦
- 注册时间
- 2003-8-25
- 最后登录
- 1970-1-1
|
2.預防DoS: <BR>在註冊表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以幫助你防禦一定強度的DoS攻擊 SynAttackProtect REG_DWORD 2 <BR>EnablePMTUDiscovery REG_DWORD 0 NoNameReleaseOnDemand REG_DWORD 1 <BR>EnableDeadGWDetect REG_DWORD 0 KeepAliveTime REG_DWORD 300,000 <BR>PerFORMRouterDiscovery REG_DWORD 0 EnableICMPRedirects REG_DWORD 0 <BR>在Win2000中如何關閉ICMP(Ping) <BR> 3.針對ICMP攻擊 <BR>ICMP的全名是Internet Control and Message Protocal即網際網路控制消息/錯誤報文協定,這個協定主要是用來進行錯誤資訊和控制資訊的傳遞,例如著名的Ping和Tracert工具都是利用ICMP協議中的ECHO request報文進行的(請求報文ICMP ECHO類型8代碼0,應答報文ICMP ECHOREPLY類型0代碼0)。 <BR> ICMP協議有一個特點---它是無連結的,也就是說只要發送端完成ICMP報文的封裝並傳遞給路由器,這個報文將會象郵包一樣自己去尋找目的地址,這個特點使得ICMP協議非常靈活快捷,但是同時也帶來一個致命的缺陷---易偽造(郵包上的寄信人位址是可以隨便寫的),任何人都可以偽造一個ICMP報文並發送出去,偽造者可以利用SOCK_RAW編程直接改寫報文的ICMP首部和IP首部,這樣的報文攜帶的源位址是偽造的,在目的端根本無法追查,(攻擊者不怕被抓那還不有恃無恐?)根據這個原理,外面出現了不少基於ICMP的攻擊軟體,有通過網路架構缺陷製造ICMP風暴的,有使用非常大的報文堵塞網路的,有利用ICMP碎片攻擊消耗伺服器CPU的,甚至如果將ICMP協定用來進行通訊,可以製作出不需要任何TCP/UDP埠的木馬(參見揭開木馬的神秘面紗三)......既然ICMP協議這麼危險,我們為什麼不關掉它呢? <BR> 我們都知道,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協定還需要另想辦法。 <BR> 剛剛在我們進行TCP/IP過濾時,還有另外一個選項:IP安全機制(IP Security),我們過濾ICMP的想法就要著落在它身上。 <BR>打開本地安全策略,選擇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報文都會被丟棄了。 <BR> 雖然用IP sec能夠對ICMP報文進行過濾,不過操作起來太麻煩,而且如果你只需要過濾特定的ICMP報文,還要保留一些常用報文(如主機不可達、網路不可達等),IP sec策略就力不從心了,我們可以利用Win2000的另一個強大工具路由與遠端存取控制(Routing & Remote Access)來完成這些複雜的過濾操作。 <BR> 路由與遠端存取控制是Win2000用來管理路由表、配置VPN、控制遠端存取、進行IP報文過濾的工具,默認情況下並沒有安裝,所以首先你需要啟用它,打開"管理工具"->"路由與遠端存取",右擊伺服器(如果沒有則需要添加本機)選擇"配置並啟用路由及遠端存取",這時配置嚮導會讓你選擇是什麼樣的伺服器,一般來說,如果你不需要配置VPN伺服器,那麼選擇"手動配置"就可以了,配置完成後,主機下將出現一個IP路由的選項,在"常規"中選擇你想配置的網卡(如果你有多塊網卡,你可以選擇關閉某一塊的ICMP),在網卡屬性中點擊"輸入篩選器",添加一條過濾策略"from:ANY to:ANY 協議:ICMP 類型:8 :編碼 丟棄"就可以了(類型8編碼0就是Ping使用的ICMP_ECHO報文,如果要過濾所有的ICMP報文只需要將類型和編碼都設置為255) <BR> 細心的朋友剛才可能已經發現,在輸入、輸出篩檢程式的下面,還有一個"碎片檢查"功能,這個功能使用來應付IP碎片攻擊的,這已經超出了本文所討論的範圍,我會在以後的拒絕服務攻擊的文章中繼續和大家一起探討的。Win2000的路由及遠端存取是一個功能非常強大的工具集 <BR>4.改變windows系統的一些預設值(例如:資料包的生存時間(TTL)值,不同系統有不同的值,有經驗的人可以根據TTL的不同的值判斷對方使用的是何種作業系統(例如windows 2000預設值128),我改改改,看你怎麼看) <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>DefaultTTL REG_DWORD 0-0xff(0-255 十進位,預設值128) <BR>說明:指定傳出IP資料包中設置的默認生存時間(TTL)值.TTL決定了IP資料包在到達 <BR>目標前在網路中生存的最大時間.它實際上限定了IP資料包在丟棄前允許通過的路由 <BR>器數量.有時利用此數值來探測遠端主機作業系統. <BR>5.防止ICMP重定向報文的攻擊 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>EnableICMPRedirects REG_DWORD 0x0(預設值為0x1) <BR>說明:該參數控制Windows 2000是否會改變其路由表以回應網路設備(如路由器)發送給它的ICMP重定向消息,有時會被利用來幹壞事.Win2000中預設值為1,表示回應ICMP重定向報文. <BR>6.禁止回應ICMP路由通告報文 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface <BR>PerformRouterDiscovery REG_DWORD 0x0(預設值為0x2) <BR>說明:“ICMP路由公告”功能可造成他人電腦的網路連接異常,資料被竊聽,電腦被用於流量攻擊等嚴重後果.此問題曾導致校園網某些局域網大面積,長時間的網路異常.因此建議關閉回應ICMP路由通告報文.Win2000中預設值為2,表示當DHCP發送路由器發現選項時啟用 <BR>7.防止SYN洪水攻擊 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>SynAttackProtect REG_DWORD 0x2(預設值為0x0) <BR>說明:SYN攻擊保護包括減少SYN-ACK重新傳輸次數,以減少分配資源所保留的時 <BR>間.路由緩存項資源分配延遲,直到建立連接為止.如果synattackprotect=2, <BR>則AFD的連接指示一直延遲到三路握手完成為止.注意,僅在TcpMaxHalfOpen和 <BR>TcpMaxHalfOpenRetried設置超出範圍時,保護機制才會採取措施. <BR>8.禁止C$、D$一類的缺省共用 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters <BR>AutoShareServer、REG_DWORD、0x0 <BR>9.禁止ADMIN$缺省共用 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters <BR>AutoShareWks、REG_DWORD、0x0 <BR>10.限制IPC$缺省共用 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa <BR>restrictanonymous REG_DWORD 0x0 缺省 <BR>0x1 匿名用戶無法列舉本機用戶列表 <BR>0x2 匿名用戶無法連接本機IPC$共用 <BR>說明:不建議使用2,否則可能會造成你的一些服務無法啟動,如SQL Server <BR>11.不支援IGMP協定 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>IGMPLevel REG_DWORD 0x0(預設值為0x2) <BR>說明:記得Win9x下有個bug,就是用可以用IGMP使別人藍屏,修改註冊表可以修正這個 <BR>bug.Win2000雖然沒這個bug了,但IGMP並不是必要的,因此照樣可以去掉.改成0後用 <BR>route print將看不到那個討厭的224.0.0.0項了. <BR>12.設置arp緩存老化時間設置 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒數,預設值為120秒) <BR>ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒數,預設值為600) <BR>說明:如果ArpCacheLife大於或等於ArpCacheMinReferencedLife,則引用或未引用的ARP緩存項在ArpCacheLife秒後到期.如果ArpCacheLife小於阿ARPCacheMinReferencedLife,未引用項在ArpCacheLife秒後到期,而引用項在ArpCacheMinReferencedLife秒後到期.每次將出站資料包發送到項的IP位址時,就會引用ARP緩存中的項。 <BR>13.禁止死閘道監測技術 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>EnableDeadGWDetect REG_DWORD 0x0(預設值為ox1) <BR>說明:如果你設置了多個閘道,那麼你的機器在處理多個連接有困難時,就會自動改用備份閘道.有時候這並不是一項好主意,建議禁止死閘道監測. <BR>14.不支援路由功能 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>IPEnableRouter REG_DWORD 0x0(預設值為0x0) <BR>說明:把值設置為0x1可以使Win2000具備路由功能,由此帶來不必要的問題. <BR>15.做NAT時放大轉換的對外埠最大值 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>MaxUserPort REG_DWORD 5000-65534(十進位)(預設值0x1388--十進位為5000) <BR>說明:當應用程式從系統請求可用的用戶埠數時,該參數控制所使用的最大埠數.正常情況下,短期埠的分配數量為1024-5000.將該參數設置到有效範圍以外時,就會使用最接近的有效數值(5000或65534).使用NAT時建議把值放大點. <BR>16.修改MAC地址 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ <BR>找到右視窗的說明為"網卡"的目錄, <BR>比如說是{4D36E972-E325-11CE-BFC1-08002BE10318} <BR>展開之,在其下的0000,0001,0002...的分支中找到"DriverDesc"的鍵值為你網卡的說明,比如說"DriverDesc"的值為"Intel(R) 82559 Fast Ethernet LAN on Motherboard"然後在右視窗新建一字串值,名字為"Networkaddress",內容為你想要的MAC值,比如說是"004040404040"然後重啟動電腦,ipconfig /all看看. <BR>17.防止密碼被DUMP,你只需在服務裏面關掉Remote regisitery services <BR><BR> |
|