S5700 ARP防中间人攻击

发布时间:  2015-12-29 浏览次数:  297 下载次数:  0
问题描述

某客户,S5700做为接入交换机,通过S5700去访问外网,通过 S9700DHCP SERVER获取IP地址,客户希望做到防中间人攻击。

保证client 2 与其它客户端正常通信,防止报文错误的交互。


告警信息


client 1 初次只知道 client 2的 IP地址,不知道MAC地址,client 1 会广播发送ARP请求,这时候如果,攻击者伪造了一个相同的IP ,出现问题就是,client 1 会将伪造者当成正确的接受者,报文不能正确发送到client 2 
处理过程

1.使用命令display mac-address 检查二层是否有MAC地址表。

2.如果没有则查看物理链路层是否有故障,查看接口是否down的状态。

3.如果有MAC地址表象,则表明二层没有问题,下一步检查三层口。在网关设备上,使用命令display arp查看是否有学习到所有PC的MAC地址和IP地址。

4.如果只有一个条MAC地址对应的IP地址,而且是可以ping通的,则表明网关上做了IP MAC地址绑定的防攻击的功能。

5.其它PC不能与网关互通,是因为网关设备做了ip mac地址绑定,当一台PC去访问网关时,网关会对应自身绑定的 ip 和 MAC地址做检查,若果是对应自己绑定的ip 和 MAC则允许通信,如果没有检测到对应的MAC表象,则代表非法,直接丢弃ARP报文。

根因


client 1 初次访问 client 2 时,只知道对方的IP 而不知道对方的MAC地址,于是发送ARP的广播请求,每台客户端都会收到这份广播报文,正常情况下,只有client 2 才会接收和响应这份ARP的请求报文,client 2 收到这份ARP报文后,会构建 IP与MAC地址对应的表项。并且向client 1 响应ARP,以单播的形式回应。但是如果攻击者,伪造了一个相同的IP 收到client 1 发送的ARP报文时,不会丢弃这份报文,而是去响应这份请求报文,这时候client 1 就不能够拥有client 2 的正确的MAC地址,从而数据直接发送给了攻击者。

解决方案

1.在S5700接入交换机连接PC终端接口上使能ARP报文检查功能arp anti-attack check user-bind enable 

2.连接PC终端的接口使能报文丢弃告警功能arp anti-attack check user-bind alarm enable 

3.配置DHCP Snooping功能,以便生成动态用户的地址和端口的绑定关系表,并为静态用户配置静态绑定表,用于后续的ARP报文检查。

user-bind static ip-address 10.1.1.2 mac-address 0001-0001-0001 interface GE 0/0/3 vlan 10


4.在相同VLAN内使能ARP检测功能,对收到的ARP报文的 IP MAC VLAN的绑定关系进行检查,防止非法ARP报文。

建议与总结

1.采用动态ARP的检测,交换机端口都使能DHCP监听功能,动态ARP检测,需要判断报文是否来自合法的端口。

2.交换机连接DHCP SERVER的端口要设置为信任端口。

END