本文介绍了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网络学院.