分类: 网络与安全
2008-05-23 22:03:20
涉及到的设备: 3750系列交换机、2950系列交换机、H3C E328交换机
涉及到的软件:Cain、dsniff
*需要注意的问题:上述2种软件属于安全评估软件,在生产网络上使用有可能对网络产生严重影响。
可能涉及到的技术:arp inspection、dhcp snooping、port security、protected port、proxy arp
arp攻击是目前园区网络里面非常常见的一种L2攻击行为,带来的危害有会话劫持、DoS等。具体的攻击方法和攻击原理从略。单纯的使用端口隔离是无法防护这种攻击,而IP协议本身需要arp才可以正常工作,因此又不能将该协议彻底丢弃掉。
今天突发奇想在某些区域试用了这样的技术组合:dhcp snooping+arp inspection+protected port实现了对arp攻击arp virus的防护。
按照下面拓扑,两台PC在同一个vlan中(假设为vlan2),正常情况下,两台PC互相访问会不经过3层设备直接在2层设备上互相访问到。3层设备上建立了一个环回口模拟internet地址为2.2.2.2。
假设1.1.1.2是arp攻击者,当攻击者对1.1.1.1发动攻击时,1.1.1.1有可能会无法访问到2.2.2.2或者被迫要将访问2.2.2.2的流量送到1.1.1.2然后再转发。
由于1.1.1.1和1.1.1.2在同一个vlan,2层上没法检查/隔离虚假的arp-reply,这就造成了问题。
提供的protected port技术可以实现在隔离同一个vlan内的机器互相访问,但是经过实验发现单纯使用protected port只能隔离2层上的互相访问,当使用arp攻击工具时仍然会造成被攻击者无法访问外网。
使用arp inspection技术可以实现对arp数据包的监控,为使用arp inspection需要先启用dhcp snooping或者port security功能,关于本技术的介绍见网站。
解决方法如下:
1.在接入设备上启用protected port
所有连接用的端口上应用:
interface FastEthernet0/1
switchport access vlan 2
switchport mode access
switchport protected !应用本命令
2.在3层设备上启用arp inspection:
ip arp inspection vlan a-b(某段vlan)
ip arp inspection validate src-mac ip !检查src-mac和ip
在连接接入设备的接口下不限制arp数据包的数量,以便避免出现攻击时接口err-disable
interface GigabitEthernet1/0/1
switchport trunk encapsulation dot1q
switchport mode trunk
ip arp inspection limit none !应用本命令
*3.在3层设备上启用dhcp snooping功能以便为arp inspection提供可以检测的依据:
全局模式
ip dhcp snooping
ip dhcp snooping vlan a-b(某段vlan)
连接dhcp服务器的接口应用
ip dhcp snooping trust
*4.为了实现同vlan见PC可以互相访问,需要在3层设备上启用ip local-proxy-arp。如果不启用local-proxy-arp的话同一vlan下的PC会因为收不到对方的arp-reply而无法封包。默认情况下,3层设备收到本网其他地址的arp-request的时候不会理睬,启用local-proxy-arp之后3层设备会对收到的所有本网arp-request回应arp-reply,回复中的MAC地址是3层设备对应的3层接口的MAC。
interface Vlan2
no ip proxy-arp !禁用proxy-arp,为安全考虑
ip local-proxy-arp !启用local-proxy-arp实现同一vlan内互相访问
ip route-cache same-interface!会自动生成本命令
端口隔离技术和arp inspection技术的组合使用是解决arp攻击的方法之一,端口隔离技术不是的专利,在H3C交换机上同样有类似的实现:
在接口模式下运行port isolate即可实现。需要注意的是,protected port/端口隔离 技术应当仅仅应用到连接用户的接口下,千万不要应用到连接3层设备的接口,否则会造成用户无法访问