天天看點

網絡管理之ICMP協定

對TCP/IP協定你一定非常熟悉,但是對ICMP協定你可能就一無所知了。ICMP協定是一個非常重要的協定,它對于網絡安全具有極其重要的意義。下面我們就來談談ICMP協定。

什麼是ICMP協定

ICMP是“Internet Control Message Protocol”(Internet控制消息協定)的縮寫。它是TCP/IP協定族的一個子協定,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸使用者資料,但是對于使用者資料的傳遞起着重要的作用。

我們在網絡中經常會使用到ICMP協定,隻不過我們覺察不到而已。比如我們經常使用的用于檢查網絡通不通的Ping指令,這個“Ping”的過程實際上就是ICMP協定工作的過程。還有其他的網絡指令如跟蹤路由的Tracert指令也是基于ICMP協定的。(骨頭語:上面有篇文章說PING利用的是UDP,現在又是ICMP?不過,看完全文,還是ICMP有理)

ICMP的重要性

ICMP協定對于網絡安全具有極其重要的意義。ICMP協定本身的特點決定了它非常容易被用于攻擊網絡上的路由器和主機。例如,在1999年8月海信集團“懸賞”50萬元人民币測試防火牆的過程中,其防火牆遭受到的ICMP攻擊達334050次之多,占整個攻擊總數的90%以上!可見,ICMP的重要性絕不可以忽視!

比如,可以利用作業系統規定的ICMP資料包最大尺寸不超過64KB這一規定,向主機發起“Ping of Death”(死亡之Ping)攻擊。“Ping of Death” 攻擊的原理是:如果ICMP資料包的尺寸超過64KB上限時,主機就會出現記憶體配置設定錯誤,導緻TCP/IP堆棧崩潰,緻使主機當機。

此外,向目标主機長時間、連續、大量地發送ICMP資料包,也會最終使系統癱瘓。大量的ICMP資料包會形成“ICMP風暴”,使得目标主機耗費大量的CPU資源處理,疲于奔命。

應對ICMP攻擊

雖然ICMP協定給黑客以可乘之機,但是ICMP攻擊也并非無藥可醫。隻要在日常網絡管理中未雨綢缪,提前做好準備,就可以有效地避免ICMP攻擊造成的損失。

對于“Ping of Death”攻擊,可以采取兩種方法進行防範:第一種方法是在路由器上對ICMP資料包進行帶寬限制,将ICMP占用的帶寬控制在一定的範圍内,這樣即使有ICMP攻擊,它所占用的帶寬也是非常有限的,對整個網絡的影響非常少;第二種方法就是在主機上設定ICMP資料包的處理規則,最好是設定拒絕所有的ICMP資料包。

設定ICMP資料包處理規則的方法也有兩種,一種是在作業系統上設定包過濾,另一種是在主機上安裝防火牆。具體設定如下:

1.在Windows 2000 Server中設定ICMP過濾

Windows 2000 Server提供了“路由與遠端通路”服務,但是預設情況下是沒有啟動的,是以首先要啟動它:點選“管理工具”中的“路由與遠端通路”,啟動設定向導。在其中選擇“手動配置伺服器”項,點選[下一步]按鈕。稍等片刻後,系統會提示“路由和遠端通路服務現在已被安裝。要開始服務嗎?”,點選[是]按鈕啟動服務。

服務啟動後,在計算機名稱的分支下會出現一個“IP路由選擇”,點選它展開分支,再點選“正常”,會在右邊出現伺服器中的網絡連接配接(即網卡)。用滑鼠右鍵點選你要配置的網絡連接配接,在彈出的菜單中點選“屬性”,會彈出一個網絡連接配接屬性的視窗,如圖1所示。

網絡管理之ICMP協定

圖1

圖1中有兩個按鈕,一個是“輸入篩選器”(指對此伺服器接受的資料包進行篩選),另一個是“輸出篩選器”(指對此伺服器發送的資料包進行篩選),這裡應該點選[輸入篩選器] 按鈕,會彈出一個“添加篩選器”視窗,再點選[添加]按鈕,表示要增加一個篩選條件。

在“協定”右邊的下拉清單中選擇“ICMP”,在随後出現的“ICMP類型”和“ICMP編碼”中均輸入“255”,代表所有的ICMP類型及其編碼。ICMP有許多不同的類型(Ping就是一種類型),每種類型也有許多不同的狀态,用不同的“編碼”來表示。因為其類型和編碼很複雜,這裡不再叙述。

點選[确定]按鈕傳回“輸入篩選器”視窗,此時會發現“篩選器”清單中多了一項内容(如圖2所示)。點選[确定]按鈕傳回“本地連接配接”視窗,再點選[确定]按鈕,此時篩選器就生效了,從其他計算機上Ping這台主機就不會成功了。

網絡管理之ICMP協定

圖2

2. 用防火牆設定ICMP過濾

現在許多防火牆在預設情況下都啟用了ICMP過濾的功能。如果沒有啟用,隻要選中“防禦ICMP攻擊”、“防止别人用ping指令探測”就可以了,如圖3所示。

網絡管理之ICMP協定

圖3

通過以上講解,你現在知道ICMP的重要性了吧?趕緊給你的伺服器設定ICMP過濾吧。

繼續閱讀