ARP協(xié)議防范欺騙的總結(jié)
網(wǎng)絡(luò)攻防中,我們既要警惕安全的防護,也要警惕各種各樣的攻擊形式以及漏洞。那么在這之中,非常著名的就是ARP協(xié)議的攻防戰(zhàn)了。相關(guān)的內(nèi)容和專題我們也介紹了不少。那么這里我們再來簡單地總結(jié)一下。
ARP協(xié)議欺騙的防范
1、運營商可采用Super VLAN或PVLAN技術(shù)
所謂Super VLAN也叫VLAN聚合,這種技術(shù)在同一個子網(wǎng)中化出多個Sub VLAN,而將整個IP子網(wǎng)指定為一個VLAN聚合(Super VLAN),所有的Sub VLAN都使用Super VLAN的默認(rèn)網(wǎng)關(guān)IP地址,不同的Sub VLAN仍保留各自獨立的廣播域。子網(wǎng)中的所有主機只能與自己的默認(rèn)網(wǎng)關(guān)通信。如果將交換機或IP DSLAM設(shè)備的每個端口化為一個Sub VLAN,則實現(xiàn)了所有端口的隔離,也就避免了ARP欺騙。
PVLAN即私有VLAN(Private VLAN) ,PVLAN采用兩層VLAN隔離技術(shù),只有上層VLAN全局可見,下層VLAN相互隔離。如果將交換機或IP DSLAM設(shè)備的每個端口化為一個(下層)VLAN,則實現(xiàn)了所有端口的隔離。
PVLAN和SuperVLAN技術(shù)都可以實現(xiàn)端口隔離,但實現(xiàn)方式、出發(fā)點不同。PVLAN是為了節(jié)省VLAN,而SuperVlan的初衷是節(jié)省IP地址。
2、單位局域網(wǎng)可采用IP與MAC綁定
在PC上IP+MAC綁,網(wǎng)絡(luò)設(shè)備上IP+MAC+端口綁。但不幸的是Win 98/me、未打ARP補丁的win 2000/xp sp1(現(xiàn)在大多都已經(jīng)打過了)等系統(tǒng) 使用ARP -s所設(shè)置的靜態(tài)ARP項還是會被ARP欺騙所改變。
如果網(wǎng)絡(luò)設(shè)備上只做IP+MAC綁定,其實也是不安全的,假如同一二層下的某臺機器發(fā)偽造的ARP reply(源ip和源mac都填欲攻擊的那臺機子的)給網(wǎng)關(guān),還是會造成網(wǎng)關(guān)把流量送到欺騙者所連的那個(物理)端口從而造成網(wǎng)絡(luò)不通。
對于采用了大量傻瓜交換機的局域網(wǎng),用戶自己可以采取支持ARP過濾的防火墻等方法。推薦Look ‘n’Stop防火墻,支持ARP協(xié)議規(guī)則自定義。
最后就是使用ARPGuard啦(才拉到正題上),但它只是保護主機和網(wǎng)關(guān)間的通訊。
ARPGuard的原理
ARPGuard可以保護主機和網(wǎng)關(guān)的通訊不受ARP協(xié)議欺騙的影響。
1、第一次運行(或檢測到網(wǎng)關(guān)IP改變)時獲取網(wǎng)關(guān)對應(yīng)的MAC地址,將網(wǎng)卡信息、網(wǎng)關(guān)IP、網(wǎng)關(guān)MAC等信息保存到配置文件中,其他時候直接使用配置文件。
2、移去原默認(rèn)路由(當(dāng)前網(wǎng)卡的)
3、產(chǎn)生一個隨機IP,將它添加成默認(rèn)網(wǎng)關(guān)。
4、默認(rèn)網(wǎng)關(guān)IP 和網(wǎng)關(guān)的MAC綁定(使用DeleteIpNetEntry和CreateIpNetEntry修改ARP Cache表項)
5、周期性檢測ARP Cache中原默認(rèn)網(wǎng)關(guān)(不是隨機IP那個) 網(wǎng)關(guān)的MAC在ARP Cache的值是否被改寫,若被改寫就報警。
6、針對有些攻擊程序只給網(wǎng)關(guān)設(shè)備(如路由器或三層交換機)發(fā)欺騙包的情況。由于此時本機ARP Cache中網(wǎng)關(guān)MAC并未被改變,因此只有主動防護,即默認(rèn)每秒發(fā)10個ARP reply包來維持網(wǎng)關(guān)設(shè)備的ARP Cache(可選)
7、程序結(jié)束時恢復(fù)默認(rèn)網(wǎng)關(guān)和路由。
值得說明的是ARP協(xié)議程序中限定了發(fā)包間隔不低于100ms,主要是怕過量的包對網(wǎng)絡(luò)設(shè)備造成負(fù)擔(dān)。如果你遭受的攻擊太猛烈,你也可以去掉這個限制,設(shè)定一個更小的數(shù)值,保證你的通訊正常。