摘要:文章介紹了ARP地址解析協議的定義和工作原理,分析了ARP入侵攻擊的方式和原理。重點介紹了動態分配和靜態指定兩種情況下,防范ARP入侵的策略及交換機端的配置方式,并通過實驗驗證了該安全策略的有效性。
關健詞:ARP協議;ARP檢測;配置;網絡安全
中圖分類號: TP311文獻標志碼:A文章編號:1009-3044(2009)36-10465-02
Strategies and Performences of the Low-End Switches on ARP Inspection
TAN Wei
(Shandong Electric Power School, Tai'an 271000, China)
Abstract: This paper introduces the definition of ARP Address Resolution Protocol and working principle of ARP intrusion analysis methods and principles. Highlights the dynamic allocation and static specify both cases, the ARP intrusion prevention strategy and the switch-side configuration, and through experimental verification of the effectiveness of the security policy.
Key words: ARP protocol; ARP detection; configuration; network security
1 ARP協議簡介
ARP(Address Resolution Protocol)即地址解析協議,該協議將網絡層的IP地址轉換為數據鏈路層地址。TCP/IP協議中規定,IP地址為32位,由網絡號和網絡內的主機號構成,每一臺接入局域網或者Internet的主機都要配置一個IP地址。在以太網中,源主機和目的主機通信時,源主機不僅要知道目的主機的IP地址,還要知道目的主機的數據鏈路層地址,即網卡的MAC地址,同時規定MAC地址為48位。ARP協議所做的工作就是查詢目的主機的IP地址所對應的MAC地址,并實現雙方通信。
2 ARP 入侵檢測策略
2.1 ARP 入侵方式
按照ARP 協議的設計,一個主機即使收到的ARP 應答并非自身請求得到的,也會將其IP 地址和MAC 地址的對應關系添加到自身的ARP 映射表中。這樣可以減少網絡上過多的ARP 數據通信,但也為“ARP 欺騙”創造了條件。
例如有Host A、B、C三臺主機聯網,Host A和Host C通過Switch進行通信。此時,如果有黑客(Host B)想探聽Host A和Host C之間的通信,它可以分別給這兩臺主機發送偽造的ARP應答報文,使Host A和Host C用MAC_B更新自身ARP映射表中與對方IP地址相應的表項。此后,Host A 和Host C之間看似“直接”的通信,實際上都是通過黑客所在的主機間接進行的,即Host B擔當了“中間人”的角色,可以對信息進行了竊取和篡改。
2.2 ARP入侵檢測策略
為了防止黑客或攻擊者通過ARP 報文實施欺騙攻擊,以太網交換機支持ARP 入侵檢測功能,即:將經過交換機的所有ARP(請求與回應)報文重定向到CPU,利用DHCP Snooping 表或手工配置的IP 靜態綁定表對ARP報文進行合法性檢測。
開啟ARP 入侵檢測功能后,如果ARP 報文中的源MAC 地址、源IP 地址、接收ARP 報文的端口編號以及端口所在VLAN 與DHCP Snooping 表或手工配置的IP靜態綁定表表項一致,則認為該報文是合法的ARP 報文,進行轉發;否則認為是非法ARP 報文,直接丟棄。
可以通過配置信任端口,靈活控制ARP 報文檢測。對于來自信任端口的所有ARP 報文不進行檢測,對其它端口的ARP 報文通過查看DHCPSnooping 表或手工配置的IP 靜態綁定表進行檢測。
交換機對IP 報文的兩種過濾方式:
1)根據報文中的源IP 地址進行過濾。如果報文的源IP 地址、接收報文的交換機端口編號,與DHCP Snooping 表或手工配置的IP 靜態綁定表表項一致,則認為該報文是合法的報文,直接轉發;否則認為是非法報文,直接丟棄。
2)根據報文中的源IP 地址和源MAC 地址進行過濾。如果報文的源IP 地址、源MAC 地址、接收報文的交換機端口編號,與DHCP Snooping 表或手工配置的IP 靜態綁定表表項一致,則認為該報文是合法的報文,直接轉發;否則認為是非法報文,直接丟棄。
3 配置ARP 入侵檢測功能
配置ARP 入侵檢測功能之前,需要先在交換機上開啟DHCP Snooping 功能,并設置DHCP Snooping 信任端口。當ARP 入侵檢測功能與VLAN Mapping 功能配合使用時,為保證功能的正確實現,需要在原始VLAN 和映射后的VLAN 內同時開啟ARP 入侵檢測功能。一般情況下,需要配置交換機的上行端口作為ARP 信任端口。
當網絡中存在未使用DHCP Server動態分配客戶端IP地址的組網方式時,需使用DHCP Snooping功能中“IP過濾”特性,對IP和MAC地址進行靜態的綁定。
由于DHCP Snooping 表項只記錄了通過DHCP 方式動態獲取IP 地址的客戶端信息,如果用戶手工配置了固定IP 地址,其IP 地址、MAC 地址等信息將不會被DHCPSnooping 表記錄,因此不能通過基于DHCP Snooping 表項的IP 過濾檢查,導致用戶無法正常訪問外部網絡。
為了能夠讓這些擁有合法固定IP 地址的用戶訪問網絡,交換機支持手工配置IP 靜態綁定表的表項,即:用戶的IP 地址、MAC 地址及連接該用戶的端口之間的綁定關系,以便順利轉發該用戶的報文。
3.1 網絡中使用DHCP Server動態分配客戶端IP地址的實施方案
1)交換機上所需配置:
#
vlan 1
arp detection enable
#
interface Vlan-interface1
ip address 192.168.16.2 255.0.0.0
#
interface Ethernet1/0/3 (連接DHCP Server的接口)
dhcp-snooping trust
ip source static binding ip-address 1.1.1.10 mac-address 0000-0000-0002 (若想ping通DHCP Server,需綁定該Server的IP和MAC)
#
dhcp-snooping
#
3.2 網絡中使用靜態指定方式分配客戶端IP地址的實施方案
1)交換機上所需配置:
#
vlan 1
arp detection enable
#
interface Vlan-interface1
ip address 192.168.16.3 255.0.0.0
#
interface Aux1/0/0
#
interface Ethernet1/0/1
#
interface Ethernet1/0/2 (連接PC的接口)
ip source static binding ip-address 1.1.1.1 mac-address 0016-e50d-1645
#
dhcp-snooping
#
在網絡環境中,如果沒有使用DHCP Server,那么要使能防ARP攻擊的功能,就需要配置IP靜態綁定表。在配置靜態綁定時,只有配置了IP和MAC綁定關系后,才能實現該特性。如果只在接口下配置檢測IP地址,那么arp功能沒有起作用,配置如下:
#
vlan 1
arp detection enable
#
interface Vlan-interface1
ip address 1.1.1.2 255.0.0.0
#
interface Aux1/0/0
#
interface Ethernet1/0/1
#
interface Ethernet1/0/2(連接PC的接口)
ip source static binding ip-address 192.168.16.2
#
dhcp-snooping
#
參考文獻:
[1] 寇曉蕤.網絡協議分析[M].北京:機械工業出版社,2009.
[2] 李峰.TCP/IP——協議分析與應用編程[M].北京:人民郵電出版社,2008.
[3] 企業級網絡方案設計.H3C網絡學院.