對TCP/IP協議你一定非常熟悉,但是對ICMP協議你可能就一無所知了。ICMP協議是一個非常重要的協議,它對于網絡安全具有極其重要的意義。下面我們就來談談ICMP協議。
什么是ICMP協議
ICMP是“Internet Control Message Protocol”(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。
我們在網絡中經常會使用到ICMP協議,只不過我們覺察不到而已。比如我們經常使用的用于檢查網絡通不通的Ping命令,這個“Ping”的過程實際上就是ICMP協議工作的過程。還有其他的網絡命令如跟蹤路由的Tracert命令也是基于ICMP協議的。
ICMP的重要性
ICMP協議對于網絡安全具有極其重要的意義。ICMP協議本身的特點決定了它非常容易被用于攻擊網絡上的路由器和主機。例如,在1999年8月海信集團“懸賞”50萬元人民幣測試防火墻的過程中,其防火墻遭受到的ICMP攻擊達334050次之多,占整個攻擊總數的90%以上!可見,ICMP的重要性絕不可以忽視!
比如,可以利用操作系統規定的ICMP數據包最大尺寸不超過64KB這一規定,向主機發起“Ping of Death”(死亡之Ping)攻擊?!癙ing of Death” 攻擊的原理是:如果ICMP數據包的尺寸超過64KB上限時,主機就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使主機死機。
此外,向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成“ICMP風暴”,使得目標主機耗費大量的CPU資源處理,疲于奔命。
應對ICMP攻擊
雖然ICMP協議給黑客以可乘之機,但是ICMP攻擊也并非無藥可醫。只要在日常網絡管理中未雨綢繆,提前做好準備,就可以有效地避免ICMP攻擊造成的損失。
對于“Ping of Death”攻擊,可以采取兩種方法進行防范:第一種方法是在路由器上對ICMP數據包進行帶寬限制,將ICMP占用的帶寬控制在一定的范圍內,這樣即使有ICMP攻擊,它所占用的帶寬也是非常有限的,對整個網絡的影響非常少;第二種方法就是在主機上設置ICMP數據包的處理規則,最好是設定拒絕所有的 ICMP數據包。
設置ICMP數據包處理規則的方法也有兩種,一種是在操作系統上設置包過濾,另一種是在主機上安裝防火墻。具體設置如下:
新聞熱點
疑難解答