设计之家 > 教程 > 網頁教程 > 建站知識 > 網絡安全 >

Windows2000系統中預防Ping攻擊

作者:佚名 來源:網絡 時間:2007-02-02

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協議這么危險,我們為什么不關掉它呢?   

我們都知道,Windows2000在網絡屬性中自帶了一個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的時候熟悉網絡的人都知道Ping,Ping是用于檢測網絡連接性、可到達性和名稱解析的疑難問題的主要TCP/IP命令。Ping最主要的用處就是檢測目標主機是否可連通。

黑客要入侵,就得先鎖定目標,一般都是通過使用Ping命令來檢測主機,獲取相關信息,然后再進行漏洞掃描。如何不受別人的攻擊?那就是阻止別人Ping自己的電腦,讓攻擊無從著手。筆者介紹四種常見的阻止Ping的方法,供大家參考。

一、用高級設置法預防Ping

默認情況下,所有Internet控制消息協議(ICMP)選項均被禁用。如果啟用ICMP選項,您的網絡將在 Internet 中是可視的,因而易于受到攻擊。

如果要啟用ICMP,必須以管理員或Administrators 組成員身份登錄計算機,右擊“網上鄰居”,在彈出的快捷菜單中選擇“屬性”即打開了“網絡連接”,選定已啟用Internet連接防火墻的連接,打開其屬性窗口,并切換到“高級”選項頁,點擊下方的“設置”,這樣就出現了“高級設置”對話窗口,在“ICMP”選項卡上,勾選希望您的計算機響應的請求信息類型,旁邊的復選框即表啟用此類型請求,如要禁用請清除相應請求信息類型即可。

二、用網絡防火墻阻隔Ping

使用防火墻來阻隔Ping是最簡單有效的方法,現在基本上所有的防火墻在默認情況下都啟用了ICMP過濾的功能。在此,以金山網鏢2003和天網防火墻2.50版為藍本來說明。

對于使用金山網鏢2003的網友,請用鼠標右擊系統托盤中的金山網鏢2003圖標,在彈出的快捷菜單中選擇“實用工具”中的“自定義IP規則編輯器”,在出現的窗口中選中“防御ICMP類型攻擊”規則,消除“允許別人用ping命令探測本機”規則,保存應用后就發揮效應。

如果您用的是天網防火墻,在其主界面點擊“自定義IP規則”,然后不勾選“防止別人用ping命令探測”規則,勾選“防御ICMP攻擊”規則,然后點擊“保存/應用”使IP規則生效。

三、啟用IP安全策略防Ping

IP安全機制(IP Security)即IPSec 策略,用來配置 IPSec 安全服務。這些策略可為多數現有網絡中的多數通信類型提供各種級別的保護。您可配置 IPSec 策略以滿足計算機、應用程序、組織單位、域、站點或全局企業的安全需要。可使用 Windows XP 中提供的“IP 安全策略”管理單元來為 Active Directory 中的計算機(對于域成員)或本地計算機(對于不屬于域的計算機)定義 IPSec 策略。

在此以WINDOWS XP為例,通過“控制面板”―“管理工具”來打開“本地安全策略”,選擇IP安全策略,在這里,我們可以定義自己的IP安全策略。一個IP安全過濾器由兩個部分組成:過濾策略和過濾操作。要新建IP安全過濾器,必須新建自己的過濾策略和過濾操作,右擊窗口左側的“IP安全策略,在本地機器”,在彈出的快捷菜單中選擇“創建IP安全策略”,單擊“下一步”,然后輸入策略名稱和策略描述。單擊“下一步”,選中“激活默認響應規則”復選項,單擊“下一步”。開始設置響應規則身份驗證方式,選中“此字符串用來保護密鑰交換(預共享密鑰)”選項,然后隨便輸入一些字符(后面還會用到這些字符的),單擊“下一步”,就會提示已完成IP安全策略,確認選中了“編輯屬性”復選框,單擊“完成”按鈕,會打開其屬性對話框。

接下來就要進行此新建安全策略的配置。在“Goodbye Ping 屬性”對話窗口的“規則”選項頁中單擊“添加”按鈕,并在打開安全規則向導中單擊“下一步”進行隧道終結設置,在這里選擇“此規則不指定隧道”。單擊“下一步”,并選擇“所有網絡連接”以保證所有的計算機都Ping不通。單擊“下一步”,設置身份驗證方式,與上面一樣選擇第三個選項“此字符串用來保護密鑰交換(預共享密鑰)”并填入與剛才上面相同的內容。單擊“下一步”即打開“IP篩選器列表”窗口,在“IP篩選器列表”中選擇“新IP篩選器列表”,單擊右側的“編輯”,在出現的窗口中點擊“添加”,單擊“下一步”,設置“源地址”為“我的IP地址”,單擊“下一步”,設置“目標地址”為“任何IP地址”,單擊“下一步”,選擇協議類型為ICMP,單擊“完成”后再點“確定”返回如圖9的窗口,單擊“下一步”,選擇篩選器操作為“要求安全”選項,然后依次點擊“下一步”、“完成”、“確定”、“關閉”按鈕保存相關的設置返回管理控制臺。

最后在“本地安全設置”中右擊配置好的“Goodbye Ping”策略,在彈出的快捷菜單中選擇“指派”命令使配置生效。

經過上面的設置,當其他計算機再Ping該計算機時,就不再Ping通了。但如果自己Ping本地計算機,仍可Ping通。在Windows 2000中操作基本相同。

四、修改TTL值防Ping

許多入侵者喜歡用TTL值來判斷操作系統,他們首先會Ping一下你的機子,如看到TTL值為128就認為你的系統為Windows NT/2000,如果TTL值為32則認為目標主機操作系統為Windows 95/98,如果為TTL值為255/64就認為是UNIX/Linux操作系統。既然入侵者相信TTL值所反應出來的結果,那么我們不妨修改TTL值來欺騙入侵者,達到保護系統的目的。方法如下:

打開Windows自帶的“記事本”程序,編寫如下所示的批處理命令:

@echo REGEDIT4>>ChangeTTL.reg @echo.>>ChangeTTL.reg @echo [HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters]>>ChangeTTL.reg @echo "DefaultTTL"=dword:000000ff">>ChangeTTL.reg @REGEDIT /S /C ChangeTTL.reg

另存為以.bat為擴展名的批處理文件,點擊這個文件,你的操作系統的缺省TTL值就會被修改為ff,即十進制的255,即把你的操作系統人為地改為UNIX系統了!

“DefaultTTL=dword:000000f”是用來設置系統缺省TTL值的,如果你想將自己的操作系統的TTL值改為其它操作系統的ICMP回顯應答值,請改變“DefaultTTL”的鍵值,要注意它的鍵值為16進制。

如何禁止別人Ping自己的主機(Windows2000自帶)

我的電腦-控制面板-管理工具-本地安全策略-ip安全策略,這是Windows2000給我們的配置ip管理的工具,我這里只說一下如何禁止別人ping我的主機。

共有四個步驟:

1、建立禁ping 規則;

2、建立禁止/允許規則;

3、把這兩個規則聯系在一起 ;

4、指派;

詳細:

1.右擊ip安全策略-管理ip篩選器表和篩選器操作-ip篩選器列表-添加:名稱:ping;描述:ping;(勾選“使用添加向導”),---添加-下一步:指定源/目的ip ,協議類型(icmp),下一步直至完成,關閉此對話框。

2.管理ip篩選器表和篩選器操作-管理篩選器操作-添加(勾選“使用添加向導”)-下一步:名稱:refuse;描述:refuse--下一步:阻止-下一步直至完成。

3.右擊ip安全策略-創建ip安全策略-下一步:名稱:禁止ping;--下一步:取消激活默認響應規則-下一步:選中選中“編輯屬性“-完成。然后再“禁止ping屬性“上-添加(勾選“使用添加向導”)-下一步直至“身份驗證方法”;選第三項,輸入共享字串-下一步:在ip篩選器列表里選“ping”――下一步:選“refuse”――下一步到完成。

這是你在“本地安全設置“右側會看到“禁止ping“這條規則,但是現在他還沒有起作用。

4.右擊“禁止ping”――指派。

這回一條禁止別人ping自己的機器的ip策略完成了。

趕快找個機器試試,自己的機器不行。會提示:請求超時(timeout).

以上只是一條小得的ip過濾,你可以自己制作其他的ip策略。

标签:Ping攻擊

相關文章:

推薦設計

最新文章