概述
一般,每次向目標主機傳送Ping命令測試數據包時,目標主機都需要耗費一定的系統資源進行應答回復,Ping攻擊就是不斷向指定的IP位址傳送不接收回復的數據包,這種攻擊通過傳送大於65536位元組的ICMP包使作業系統崩潰;通常不可能傳送大於65536個位元組的ICMP包,但可以把報文分割成片段,然後在目標主機上重組;最終會導致被攻擊目標緩衝區溢出,直至目標主機有限系統資源被消耗殆盡。
網路中的許多病毒或黑客常常會通過上述方法來對目標主機實施Ping命令攻擊,從而導致目標主機發生癱瘓故障。
預防Ping攻擊
防止系統受到Ping攻擊的方法與防範Smurf和Fraggle攻擊是相同的,可以在防火牆上過濾掉ICMP報文,或者在伺服器上禁止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安全機制(IPSecurity)即IPSec策略,用來配置IPSec
安全服務。這些策略可為多數現有網路中的多數通信類型提供各種級別的保護。您可配置IPSec
策略以滿足計算機、應用程式、組織單位、域、站點或全局企業的安全需要。可使用WindowsXP中提供的“IP安全策略”管理單元來為
ActiveDirectory中的計算機(對於域成員)或本地計算機(對於不屬於域的計算機)定義IPSec策略。
在此以WINDOWS
XP為例,通過“控制臺”—“管理工具”來打開“本地安全策略”,選擇IP安全策略,在這裡,我們可以定義自己的IP安全策略。一個IP安全過濾器由兩個部分組成:過濾策略和過濾操作。要新建IP安全過濾器,必須新建自己的過濾策略和過濾操作,右擊視窗左側的“IP安全策略,在本地機器”,在彈出的快捷選單中選擇“創建IP安全策略”,單擊“下一步”,然後輸入策略名稱和策略描述。單擊“下一步”,選中“激活默認回響規則”複選項,單擊“下一步”。開始設定回響規則身份驗證方式,選中“此字元串用來保護密鑰交換(預共享密鑰)”選項,然後隨便輸入一些字元(後面還會用到這些字元的),單擊“下一步”,就會提示已完成IP安全策略,確認選中了“編輯屬性”複選框,單擊“完成”按鈕,會打開其屬性對話框。
接下來就要進行此新建安全策略的配置。在“GoodbyePing
屬性”對話視窗的“規則”選項頁中單擊“添加”按鈕,並在打開安全規則嚮導中單擊“下一步”進行隧道終結設定,在這裡選擇“此規則不指定隧道”。單擊“下一步”,並選擇“所有網路連線”以保證所有的計算機都Ping不通。單擊“下一步”,設定身份驗證方式,與上面一樣選擇第三個選項“此字元串用來保護密鑰交換(預共享密鑰)”並填入與剛才上面相同的內容。單擊“下一步”即打開“IP篩選器列表”視窗,在“IP篩選器列表”中選擇“新IP篩選器列表”,單擊右側的“編輯”,在出現的視窗中點擊“添加”,單擊“下一步”,設定“源地址”為“我的IP位址”,單擊“下一步”,設定“目標地址”為“任何IP位址”,單擊“下一步”,選擇協定類型為ICMP,單擊“完成”後再點“確定”返回如圖9的視窗,單擊“下一步”,選擇篩選器操作為“要求安全”選項,然後依次點擊“下一步”、“完成”、“確定”、“關閉”按鈕保存相關的設定返回管理控制台。
最後在“本地安全設定”中右擊配置好的“GoodbyePing”策略,在彈出的快捷選單中選擇“指派”命令使配置生效。
經過上面的設定,當其他計算機再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自帶的“記事本”程式,編寫如下所示的批處理命令:
@echoREGEDIT4>>ChangeTTL.reg
@echo.>>ChangeTTL.reg
@echo
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters]>>ChangeTTL.reg
@echo"DefaultTTL"=dword:000000ff">>ChangeTTL.reg
@REGEDIT/S/CChangeTTL.reg
另外儲存為以.bat為擴展名的批處理檔案,點擊這個檔案,你的作業系統的預設TTL值就會被修改為ff,即十進制的255,即把你的作業系統人為地改為UNIX系統了!
"DefaultTTL"=dword:000000ff"是用來設定系統預設TTL值的,如果你想將自己的作業系統的TTL值改為其它作業系統的ICMP回顯應答值,請改變"DefaultTTL"的鍵值,要注意它的鍵值為16進制。