【摘 要】arp病毒經(jīng)常造成企業(yè)網(wǎng)絡掉線,但網(wǎng)絡連接正常,內(nèi)網(wǎng)的部分PC機不能上網(wǎng),或者所有電腦不能上網(wǎng),無法打開網(wǎng)頁或打開網(wǎng)頁慢,局域網(wǎng)時斷時續(xù)并且網(wǎng)速較慢等現(xiàn)象。
【關鍵詞】arp病毒 仿冒網(wǎng)關 ACL訪問控制列表
一、ARP病毒及其攻擊介紹
ARP地址欺騙類病毒(以下簡稱ARP病毒)是一類特殊的病毒,該病毒一般屬于木馬(Trojan)病毒,不具備主動傳播的特性,不會自我復制。但是由于其發(fā)作的時候會向全網(wǎng)發(fā)送偽造的ARP數(shù)據(jù)包,干擾全網(wǎng)的運行,因此它的危害比一些蠕蟲還要嚴重得多。它經(jīng)常造成我們企業(yè)網(wǎng)絡掉線,但網(wǎng)絡連接正常,內(nèi)網(wǎng)的部分PC機不能上網(wǎng),或者所有電腦不能上網(wǎng),無法打開網(wǎng)頁或打開網(wǎng)頁慢,局域網(wǎng)時斷時續(xù)并且網(wǎng)速較慢等現(xiàn)象。
按照TCP/IP協(xié)議的原理,一個主機即使收到的ARP應答并非自身請求得到的,也會將其IP地址和MAC地址的對應關系添加到自身的ARP映射表中。這樣可以減少網(wǎng)絡上過多的ARP數(shù)據(jù)通信,但也為“ARP欺騙”創(chuàng)造了條件。
晉煤集團網(wǎng)絡中,常見的ARP攻擊有如下幾種形式:
(一)仿冒網(wǎng)關
攻擊者偽造ARP報文,發(fā)送源IP地址為網(wǎng)關IP地址,源MAC地址為偽造的MAC地址的ARP報文給被攻擊的主機,使這些主機更新自身ARP表中網(wǎng)關IP地址與MAC地址的對應關系。這樣一來,主機訪問網(wǎng)關的流量,被重定向到一個錯誤的MAC地址,導致該用戶無法正常訪問外網(wǎng)。
(二)欺騙網(wǎng)關
攻擊者偽造ARP報文,發(fā)送源IP地址為同網(wǎng)段內(nèi)某一合法用戶的IP地址,源MAC地址為偽造的MAC地址的ARP報文給網(wǎng)關;使網(wǎng)關更新自身ARP表中原合法用戶的IP地址與MAC地址的對應關系。這樣一來,網(wǎng)關發(fā)給該用戶的所有數(shù)據(jù)全部重定向到一個錯誤的MAC地址,導致該用戶無法正常訪問外網(wǎng)。
(三)欺騙終端用戶
攻擊者偽造ARP報文,發(fā)送源IP地址為同網(wǎng)段內(nèi)某一合法用戶的IP地址,源MAC地址為偽造的MAC地址的ARP報文給同網(wǎng)段內(nèi)另一臺合法主機;使后者更新自身ARP表中原合法用戶的IP地址與MAC地址的對應關系。這樣一來,網(wǎng)段內(nèi)的其他主機發(fā)給該用戶的所有數(shù)據(jù)都被重定向到錯誤的MAC地址,同網(wǎng)段內(nèi)的用戶無法正?;ピL。
(四)“中間人”攻擊
ARP “中間人”攻擊,又稱為ARP雙向欺騙。例如,Host A和Host C通過Switch進行通信。此時,如果有惡意攻擊者(Host B)想探聽Host A和Host C之間的通信,它可以分別給這兩臺主機發(fā)送偽造的ARP應答報文,使Host A和Host C用MAC_B更新自身ARP映射表中與對方IP地址相應的表項。此后,Host A 和Host C之間看似“直接”的通信,實際上都是通過黑客所在的主機間接進行的,即Host B擔當了“中間人”的角色,可以對信息進行了竊取和篡改。這種攻擊方式就稱作“中間人(Man-In-The-Middle)攻擊”。
(五)ARP報文泛洪攻擊
惡意用戶利用工具構造大量ARP報文發(fā)往交換機的某一端口,導致CPU負擔過重,造成其他功能無法正常運行甚至設備癱瘓。
二.解決方案:
(一)阻止仿冒網(wǎng)關IP的arp攻擊
1.二層交換機
3652是三層設備,其中ip:100.1.1.1是所有pc的網(wǎng)關,3652上的網(wǎng)關mac地址為000f-e200-3999。PC-B上裝有arp攻擊軟件。現(xiàn)在需要對3126_A進行一些特殊配置,目的是過濾掉仿冒網(wǎng)關IP的arp報文。
對于二層交換機如3126c等支持ACL number為5000到5999的交換機,可以配置acl來進行報文過濾。
(1)全局配置deny 所有源IP是網(wǎng)關的arp報文(自定義規(guī)則)
ACL num 5000
rule 0 deny 0806 ffff 24 64010101 ffffffff 40
rule 1 permit 0806 ffff 24 000fe2003999 ffffffffffff 34
rule0目的:把整個3126C_A端口冒充網(wǎng)關的ARP報文禁掉,其中藍色部分64010101是網(wǎng)關ip地址的16進制表示形式:100.1.1.1=64010101。
rule1目的:把上行口的網(wǎng)關ARP報文允許通過,藍色部分為網(wǎng)關3652的mac地址000f-e200-3999。
注意配置Rule時的配置順序,上述配置為先下發(fā)后生效的情況。
在S3126C-A系統(tǒng)視圖下發(fā)acl規(guī)則:
[S3126C-A]packet-filter user-group 5000
這樣只有3126C_A上連設備能夠下發(fā)網(wǎng)關的ARP報文,其它pc就不能發(fā)送假冒網(wǎng)關的arp響應報文。
(二)三層交換機
對于三層設備,需要配置過濾源IP是網(wǎng)關的arp報文的acl規(guī)則,配置如下acl規(guī)則:
ACL num 5000
rule 0 deny 0806 ffff 24 64010105 ffffffff 40
rule0目的:把所有3652E端口冒充網(wǎng)關的ARP報文禁掉,其中藍色部分64010105是網(wǎng)關ip地址的16進制表示形式:100.1.1.5=64010105。
三、阻止仿冒他人IP的arp攻擊
作為網(wǎng)關的設備有可能會出現(xiàn)arp錯誤表項,因此在網(wǎng)關設備上還需對仿冒他人IP的arp攻擊報文進行過濾。
當PC-B發(fā)送源IP地址為PC-D的arp reply攻擊報文,源mac是PC-B的mac (000d-88f8-09fa),源ip是PC-D的ip(100.1.1.3),目的ip和mac是網(wǎng)關(3652)的,這樣3652上就會學習錯誤的arp,如下所示:
------ 錯誤 arp 表項-----
IP Address MAC Address VLAN ID Port Name Aging
100.1.1.4 000d-88f8-09fa 1 Ethernet0/2 20
100.1.1.3 000f-3d81-45b4 1 Ethernet0/2 20
PC-D的arp表項應該學習到端口e0/8上,而不應該學習到e0/2端口上。
①在3652上配置靜態(tài)arp,可以防止該現(xiàn)象:arp static 100.1.1.3 000f-3d81-45b4 1 e0/8
②同理,S3652E上也可以配置靜態(tài)arp來防止設備學習到錯誤的arp表項。
③對于三層設備(3600系列),除了可以配置靜態(tài)arp外,還可以配置IP+mac+port綁定,比如在3126C端口4上作如下操作:
am user-bind ip-addr 100.1.1.4 mac-addr 000d-88f8-09fa int e0/4,則ip為100.1.1.4并且mac為000d-88f8-09fa的arp報文可以通過e0/4端口,仿冒其它設備arp報文無法通過,從而不會出現(xiàn)錯誤arp表項。
參考文獻:
[1]計算機網(wǎng)絡基礎及應用 吳曉葵主編 高等教育出版社 2008
[2]計算機網(wǎng)絡安全案例教程 陳昶 楊艷春主編 北京大學出版社.2008
[3]網(wǎng)絡操作系統(tǒng)與配置管理 王達主編 電子工業(yè)出版社 2008