网络安全二:使用DHCP Snooping + DAI防范ARP欺骗/中间人攻击
ARP(地址解析协议)的工作原理
1.我们知道每台主机都有一个ARP缓存表,以表示 IP 地址和 MAC 地址之间的对应关系。
2.当源主机要发送数据时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 广播包。
3.当源主机要去往外网时,网关会将自己的 MAC 地址写入 ARP 响应包中,以单播的形式告诉源主机自己是它想要找的MAC 地址
4.源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP缓存表,并利用此信息发送数据。
ARP欺骗/中间人攻击原理
1.当用户发送 ARP 广播请求时,hacker主机会欺骗用户说自己才是网关,然后将自己的 MAC 地址写入 ARP 响应包中回给用户。
2.同时hacker主机也欺骗网关说自己才是用户,网关把ARP响应包发给hacker主机。
3.hacker主机充当一个中间人的角色,用户所有流量会先经过hacker主机再转发出去。
ARP欺骗/中间人攻击实例
攻击者:
使用cain等工具进行欺骗
用户PC:
可以看到网关的MAC并不是路由器的MAC,而是攻击者PC的MAC
攻击者PC:
用户PC正常情况与ARP欺骗时的情况对比:
在攻击者PC上开启抓包可以看到192.168.3.4这台电脑在使用QQ邮箱
ARP欺骗/中间人攻击防范
临时处理方法:在PC端静态绑定ARP
静态绑定ARP:arp -s 192.168.3.1 78-6A-89-3B-1A-F1
高级一点的处理方法:DHCP Snooping + DAI
DHCP Snooping + DAI原理
1.交换机开户dhcp snooping后会维护一个IP地址与MAC地址的绑定信息表。
2.DAI基于dhcp snooping工作,DAI可以利用dhcp snooping的binding表来检查所有信任端口的ARP请求和响应,确保应答来自真正的MAC所有者。如果是虚拟的MAC则丢弃。
举例:
即假如DAI的数据表记录着PC1的mac是a.a.a.a 10.1.1.1 fa0/1的信息
如果交换机fa0/1收到一个ARP的信息说 是 b.b.b.b 10.1.1.3的话就会把这个arp包丢弃
DHCP Snooping + DAI实例
1.开启DHCP Snooping
![](https://img2020.cnblogs.com/blog/2029945/202005/2029945-20200509121919961-758963089.png)
5.测试
修改前:
![](https://img2020.cnblogs.com/blog/2029945/202005/2029945-20200509122108025-988406947.png)
修改后:
![](https://img2020.cnblogs.com/blog/2029945/202005/2029945-20200509122146866-1235588254.png)
交换机日志:
![](https://img2020.cnblogs.com/blog/2029945/202005/2029945-20200509122253213-1232449914.png)
可以看到有drop
![](https://img2020.cnblogs.com/blog/2029945/202005/2029945-20200509122321707-29460970.png)