什么是arp攻击?
攻击者向电脑A发送一个伪造的ARP响应,告诉电脑A:电脑B的IP地址192.168.1.2对应的MAC地址是00-aa-11-62-c6-03,电脑A信以为真,将这个对应关系写入自己的ARP缓存表中,以后发送数据时,将本应该发往电脑B的数据发送给了攻击者。同样的,攻击者向电脑B也发送一个伪造的ARP响应,告诉电脑B:电脑A的IP地址192.168.1.1对应的MAC地址是00-aa-11-62-c6-03,电脑B也会将数据发送给攻击者。
至此攻击者就控制了电脑A和电脑B之间的流量,他可以选择被动地监测流量,获取密码和其他涉密信息,也可以伪造数据,改变电脑A和电脑B之间的通信内容。这就是arp攻击的大抵方式。
今天向大家讲讲在交换机上如何防范arp攻击。
一、ARP表项严格学习(arp learning strict)
如果大量用户在同一时间段内向设备发送大量ARP报文,或者攻击者伪造正常用户的ARP报文发送给设备,则会造成下面的危害:
·设备因处理大量ARP报文而导致CPU负荷过重,同时设备学习大量的ARP报文可能导致设备ARP表项资源被无效的ARP条目耗尽,造成合法用户的ARP报文不能继续生成ARP条目,进而导致用户无法正常通信。
·伪造的ARP报文将错误地更新设备的ARP表项,导致用户无法正常通信。
为避免上述危害,可以在网关设备上部署ARP表项严格学习功能。
ARP表项严格学习是指只有本设备主动发送的ARP请求报文的应答报文才能触发本设备学习ARP,其他设备主动向本设备发送的ARP报文不能触发本设备学习ARP,这样,可以拒绝大部分的ARP报文攻击。
如图:
通常情况下,当UserA向Gateway发送ARP请求报文后,Gateway会向UserA回应ARP应答报文,并且添加或更新UserA对应的ARP表项。当Gateway配置ARP表项严格学习功能以后:
对于Gateway收到UserA发送来的ARP请求报文,Gateway不添加也不更新UserA对应的ARP表项。如果该请求报文请求的是Gateway的MAC地址,那么Gateway会向UserA回应ARP应答报文。
如果Gateway向UserB发送ARP请求报文,待收到与该请求对应的ARP应答报文后,Gateway会添加或更新UserB对应的ARP表项。
二、配置防止ARP中间人攻击
当网络中存在中间人攻击时,中间人仿冒服务器,向客户端发送带有自己的MAC和服务器IP的报文,让客户端学到中间人的IP和MAC,达到仿冒服务器的目的。然后,中间人向服务器发送带有自己的MAC和客户端IP的报文,让服务器学到中间人的IP和MAC,达到仿冒客户端的目的。这样攻击者就可以获得服务器和客户端的数据。
为了避免受到中间人攻击,可以在交换机上配置ARP报文检查功能,对接口或VLAN下收到的ARP报文和绑定表进行匹配检查,当报文的检查项和绑定表中的特征项一致时,转发该报文,否则丢弃报文。
如图:
Switch的Eth0/0/1和Eth0/0/2接口连接了两个用户。假设Eth0/0/2接口连接的用户是一个攻击者。为了防止ARP中间人攻击,要求在Switch上配置ARP报文检查功能,只有接收到的ARP报文信息和绑定表中的内容一致才会被转发,否则报文将被丢弃。
1.配置ARP报文检查功能
# 在连接Client的Eth0/0/1接口使能ARP报文检查功能。
[Quidway] interface ethernet 0/0/1
[Quidway-Ethernet0/0/1] arp anti-attack check user-bind enable
[Quidway-Ethernet0/0/1] arp anti-attack check user-bind check-item ip-address mac-address vlan
[Quidway-Ethernet0/0/1] quit
# 在连接Attacker的Eth0/0/2接口使能ARP报文检查功能。
[Quidway] interface ethernet 0/0/2
[Quidway-Ethernet0/0/2] arp anti-attack check user-bind enable
[Quidway-Ethernet0/0/2] arp anti-attack check user-bind check-item ip-address mac-address vlan
[Quidway-Ethernet0/0/2] quit
2.配置静态绑定表项
# 配置Client为静态绑定表项。
[Quidway] user-bind static ip-address 10.0.0.1 mac-address 0001-0001-0001 interface Ethernet 0/0/1 vlan 10
三、配置DHCP Snooping防arp攻击(开启dhcp环境下)
DHCP Snooping是DHCP(Dynamic Host Configuration Protocol)的一种安全特性,通过截获DHCP Client和DHCP Server之间的DHCP报文并进行分析处理,可以过滤不信任的DHCP报文并建立和维护一个DHCP Snooping绑定表。该绑定表包括MAC地址、IP地址、租约时间、绑定类型、VLAN ID、接口等信息。
DHCP Snooping通过记录DHCP Client的IP地址与MAC地址的对应关系,保证合法用户能访问网络,作用相当于在DHCP Client和DHCP Server之间建立一道防火墙。
DHCP Snooping可以解决设备应用DHCP时遇到DHCP DoS(Denial of Service)攻击、DHCP Server仿冒攻击、DHCP仿冒续租报文攻击等问题。
Dhcp Snooping
配置内容较多,需要的后面专门写篇配置dhcp snooping
四、限制arp速率,防止arp洪范攻击
如图: