天天看點

交換網絡安全防範系列三之ARP欺騙攻擊防範

<b>3.1 MITM(Man-In-The-Middle) </b><b>攻擊原理</b>

  按照ARP協定的設計,為了減少網絡上過多的ARP資料通信,一個主機,即使收到的ARP應答并非自己請求得到的,它也會将其插入到自己的ARP快取記錄中,這樣,就造成了“ ARP 欺騙”的可能。如果黑客想探聽同一網絡中兩台主機之間的通信(即使是通過交換機相連),他會分别給這兩台主機發送一個 ARP 應答包,讓兩台主機都“誤”認為第三方黑客的主機MAC位址是對方的MAC位址,這樣,雙方看似“直接”的通信連接配接,實際上都是通過黑客所在的主機間接進行的。黑客一方面得到了想要的通信内容,另一方面,隻需要更改資料包中的一些資訊,成功地做好轉發工作即可。在這種嗅探方式中,黑客所在主機是不需要設定網卡的混雜模式的,因為通信雙方的資料包在實體上都是發送給黑客所在的中轉主機的。

這裡舉個例子,假定同一個區域網路内,有 3 台主機通過交換機相連:

A 主機: IP 位址為 192.168.0.1 , MAC 位址為 01:01:01:01:01:01 ;

B 主機: IP 位址為 192.168.0.2 , MAC 位址為 02:02:02:02:02:02 ;

C 主機: IP 位址為 192.168.0.3 , MAC 位址為 03:03:03:03:03:03 。

B 主機對 A 和 C 進行欺騙的前奏就是發送假的 ARP 應答包,如圖所示:

在收到 B主機發來的ARP應答後,A主機應知道: 到 192.168.0.3 的資料包應該發到 MAC 位址為 020202020202 的主機; C 主機也知道:到 192.168.0.1 的資料包應該發到 MAC 位址為 020202020202 的主機。這樣, A 和 C 都認為對方的 MAC 位址是 020202020202 ,實際上這就是 B 主機所需得到的結果。當然,因為 ARP 緩存表項是動态更新的,其中動态生成的映射有個生命期,一般是兩分鐘,如果再沒有新的資訊更新, ARP 映射項會自動去除。是以, B 還有一個“任務”,那就是一直連續不斷地向 A 和 C 發送這種虛假的 ARP 響應包,讓其 ARP緩存中一直保持被毒害了的映射表項。

  現在,如果 A 和 C 要進行通信,實際上彼此發送的資料包都會先到達 B 主機,這時,如果 B 不做進一步處理, A 和 C 之間的通信就無法正常建立, B 也就達不到“嗅探”通信内容的目的,是以, B 要對“錯誤”收到的資料包進行一番修改,然後轉發到正确的目的地,而修改的内容,無非是将目的 MAC和源 MAC 位址進行替換。如此一來,在 A 和 C 看來,彼此發送的資料包都是直接到達對方的,但在 B 來看,自己擔當的就是“第三者”的角色。這種嗅探方法,也被稱作“ Man-In-The-Middle ”的方法。如圖 所示。

<b></b>

<b>3.2</b><b>防範方法</b>

  思科 Dynamic ARP Inspection (DAI)在交換機上提供IP位址和MAC位址的綁定,并動态建立綁定關系。DAI 以 DHCP Snooping綁定表為基礎,對于沒有使用DHCP的伺服器個别機器可以采用靜态添加ARP access-list實作。DAI配置針對VLAN,對于同一VLAN内的接口可以開啟DAI也可以關閉。通過DAI可以控制某個端口的ARP請求封包數量。通過這些技術可以防範“中間人”攻擊。

<b>3.3</b><b>配置示例</b>

IOS 全局指令:

ip dhcp snooping vlan 100,200

no ip dhcp snooping information option

ip dhcp snooping

ip arp inspection vlan 100,200 /* 定義對哪些 VLAN 進行 ARP 封包檢測

ip arp inspection log-buffer entries 1024

ip arp inspection log-buffer logs 1024 interval 10

IOS 接口指令:

ip arp inspection trust /* 定義哪些接口是信任接口,通常是網絡裝置接口

ip arp inspection limit rate 15 (pps) /* 定義接口每秒 ARP 封包數量

對于沒有使用 DHCP 裝置可以采用下面辦法:

arp access-list static-arp

permit ip host 10.66.227.5 mac host 0009.6b88.d387

ip arp inspection filter static-arp vlan 201

<b>3.4</b><b>配置</b><b>DAI</b><b>後的效果:</b>

• 在配置 DAI技術的接口上,使用者端隻能采用指定位址接入網絡。

• 由于 DAI檢查 DHCP snooping綁定表中的IP和MAC對應關系,無法實施中間人攻擊,攻擊工具失效。下表為實施中間人攻擊是交換機的警告:

3w0d: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa5/16, vlan 1.([000b.db1d.6ccd/192.168.1.200/0000.0000.0000/192.168.1.2

• 由于對 ARP請求封包做了速度限制,用戶端無法進行認為或者病毒進行的IP掃描、探測等行為,如果發生這些行為,交換機馬上報警或直接切斷掃描機器。如下表所示:

3w0d: %SW_DAI-4-PACKET_RATE_EXCEEDED: 16 packets received in 184 milliseconds on Fa5/30. ******報警

3w0d: %PM-4-ERR_DISABLE: arp-inspection error detected on Fa5/30, putting Fa5/ 30 in err-disable state ******切斷端口

I49-4500-1#.....sh int f.5/30

FastEthernet5/30 is down, line protocol is down (err-disabled)

Hardware is Fast Ethernet Port , address is 0002.b90e .3f 4d (bia 0002.b90e .3f 4d)

MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,

reliability 255/255, txload 1/255, rxload 1/255

I49-4500-1#......

• 使用者擷取 IP位址後,使用者不能修改IP或MAC,如果使用者同時修改IP和MAC必須是網絡内部合法的IP和MAC才可,對于這種修改可以使用下面講到的 IP Source Guard技術來防範。下表為手動指定IP的報警:

3w0d: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa5/30, vlan 1.([000d.6078.2d95/192.168.1.100/0000.0000.0000/192.168.1.100/01:52:28 UTC Fri Dec 29 2000 ])

    本文轉自hexianguo 51CTO部落格,原文連結:http://blog.51cto.com/xghe110/90869,如需轉載請自行聯系原作者

繼續閱讀