DAI(动态ARP监控技术)和IP Source Guard

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DAI(动态ARP监控技术)和IP Source Guard
一、ARP Poisoning(ARP毒化技术)
正常情况下PC-A是正常PC,路由器是我们的网关,正常情况下PC-A作一个ARP Request请问10.1.1.1这个网关的MAC地址是多少,网关正常就会回网关是10.1.1.1,MAC地址是 C.C.C.C,PC-A会有一个正常的ARP条目:
这样PC-A就可以正常把流量交给网关了就上网了,但是现在PC-B这个攻击者作了ARP毒化的处理,它会伪装网关给PC-A 发送一个免费ARP毒化PC-A的ARP的映射表项,让PC-A的ARP映射表项
映射为这个时候PC-A上网的流量就会送给PC-B,然后PC-B代理交给服务器,同样PC-B还会作一个毒化ARP的映射去毒化网关的ARP说10.1.1.2的MAC地址是B.B.B.B,这样网关回的包也会绕到PC-B,这样去回的包都要受攻击者来控制。

毒化的过程
(1)ARP这种解析是后到者优先,当你们正常合法的映射已经完成时,攻击者
就会作一个免费ARP的Replies来毒化你们的ARP的缓存。

(2)免费ARP:免费ARP有好处,也有坏处的。

免费ARP好处:比如我一个PC的地址设置为1.1.1.1,当我开机的时候可能会弹出一个报错,什么MAC地址跟我的IP址重叠,这是怎么发现的呢?比如PC开机就会发送一个免费ARP,免费ARP的内容是请问1.1.1.1的MAC地址是多少,自己问自己IP地址的MAC地址是多少,它不希望任何人可以回应这个,如果没有人回应MAC地址就没有重叠,如果有人回应了说我是1.1.1.1我的MAC地址是什么什么,这时PC就会报一个错说这个MAC地址它的IP地址和我的重叠了,这是免费ARP的好处。

免费ARP的坏处:ARP这种解析是后到者优先,当你们正常合法的映射已经完成时,攻击者就会作一个免费ARP的Replies来毒化你们的ARP 的缓存。

二、启用DAI动态ARP监控技术能够抵御这种ARP毒化攻击
(1)能保护ARP毒化的攻击
(2)DAI技术需要使用DHCP Snooping的绑定表,就是利用这个绑定表的资源来判断这个ARP是正确的,还是有问题的
(3)这个绑定表是通过来追踪整个DHCP一个过程构建起来的,了解到是合法IP和MAC地址的映射,这样我基于这个绑定表作DAI抵御
ARP的欺骗。

(4)会丢掉那些有问题的免费ARP的包
(5)会抵御由于ARP毒化所造成中间人攻击
(6)对ARP的包进行限速,抵御端口的扫描攻击
关于DAI
(1)DAI关联每一个接口为Trust或Untrust
(2)被配置为DAI的trust接口,就是所有ARP都不校验
(3)被配置为DAI的Untrust接口,它对所有ARP的包要通过DAI校验,
校验每一个ARP的包是不是映射正确,映射正确过,映射不正确丢

(4)DHCP Snooping 这个绑定表是非常重要的,因为我们如何来确认什
么是正确的IP和MAC映射就基于这个绑定表的内容来确认。

(5)一般面向普通客户的接口被配置成Untrust,上的接口配置成trust.
三、DAI的配置
(1)依然的配置IP DHCP Snooping,依然要在某些VLAN上启用。

R1(config)#int f0/0
R1(config-if)#no sh
R2(config)#int f0/0 //R2的这个接口手工配置一个IP地址
R2(config-if)#ip add 10.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#end
SW1(config)#vlan 2
SW1(config-vlan)#exit
SW1(config)#int range f0/1 , f0/2
SW1(config-if-range)#switch mode access
SW1(config-if-range)#switch access vlan 2
SW1(config-if-range)#exit
SW1(config)#int vlan 2
SW1(config-if)#ip add 10.1.1.254 255.255.255.0
SW1(config-if)#end
在交换机上配置DHCP服务器
SW(config)#service dhcp // 默认为启用DHCP服务
SW(config)#ip dhcp pool VLAN2
SW(dhcp-config)#network 10.1.1.0 255.255.255.0
SW(dhcp-config)#default-router 10.1.1.254
SW(dhcp-config)#end
下面让R1模拟一台PC客户端
R1(config)#int f0/0
R1(config-if)#ip address dhcp
R1(config-if)#end
R1#show ip interface brief
下面开始DHCP Snooping的配置
SW(config)#ip dhcp snooping //全局激活
SW(config)#ip dhcp snooping vlan 2
//在vlan2上启用这个技术,此时所于VLAN2的所有接口都是Untrust,这个实验不需要设置trust,因为连接客户端PC的交换机本身就是DHCP 服务器
(2)在有的DHCP Snooping,有了绑定表的基础上,再配置DAI SW(config)#ip arp inspection vlan 2 //启用ARP的监控技术
SW(config)#int f0/24 //把上行接口配置Trust
SW(config-if)#ip arp inspection trust
//交换机之间链路配置DAI信任端口,用户端口则在默认的非信任端口
SW#show ip dhcp snooping bingding
//这个DHCP Snooping绑定表中现在只有R1的绑定条目,R2是我手
工配置的绑定表,所在不在DHCP Snooping绑定表中
R1#ping 10.1.1.2 //这个时候R1 PING R2也是不通的,通不了的愿意是解析不了。

但这个网络是通的,比如我ping网关,如下图所示
有些是就手工配置的IP地址,就是没有映射,怎么办呢?我们可以手工配置ARP 的映射,通过ARP的访问控制列表来现实。

R2#show arp //R2的MAC地址是0017.5aa7.2d28
SW(config)#arp access-list test
SW(config-arp-nac)#permit ip host 10.1.1.2 mac host 0017.5aa7.2d28
//这是手工配置的ARP访问控制列表,其实也就是作一个手工的映射。

SW(config)#ip arp inspection filter test vlan 2
//相当于把这个手工的映射应用到VLAN 2上面。

R1#ping 10.1.1.2 //这时PING R2就可以通了。

限制接口ARP的数量
SW(config)#int f0/1
SW(config-if#ip arp inspection limit 10
//限制这个接口ARP的数量,ARP包的数量每秒超过10个这个接口也会被Shutdown
_____________________________________________________________________ _____________________________________________________________________ IP Source Guard Protection Against Spoofed IP Address(IP Source Guard保护抵御IP地址的欺骗)
一、这是一个在交换机上面抵御IP地址欺骗的技术
(1)保护交换机抵御IP地址的的欺骗
(2)也是要基于DHCP Snooping绑定表
(3)跟踪IP地址到端口的关联,也就说我们绑定表不是有IP和MAC还有端口的关联吗,我这个接口就认定是这个IP地址,换成其它的IP地址那就不行了,也就是说本来你是DHCP获得的10.1.1.25,你非要伪装为你是10.1.1.50,就会被交换机给干掉。

(4)动态会产生一个端口访问列表,来丢掉流量不是源自于DHCP推送IP 地址的流量。

(5)IP DHCP Snooping必须要被配置,来确认源IP地址
(6)在配置了DHCP Snooping的基础之上配置端口安全,这样就能够对IP地址欺骗进行控制,还能对MAC地址欺骗进行控制,也就是说IP
Source Gurad技术你可以基于IP来作过虑,也可以基于IP和MAC
两个条件来作过滤。

(7)IP Source Guard建议在Untrust接口来配置,因为Untrust接口才会有绑定表,基于绑定表可以基于IP或IP和MAC作确认。

二、IP Source Guard配置
SW#show ip dhcp snooping
SW#show ip dhcp snooping binding
我们先介绍一下IP和MAC的过虑
SW(config)#int f0/1 //下面的两条命令实现IP和MAC地过滤。

SW(config-if)#switchport port-security
SW(config-if)#ip verify source port-security
SW#show ip verity source //看一下f0/1是基于IP和MAC的过滤
SW的F0/2口连接的R2又是手工配置的IP地址,刚才ARP没有这个绑定
表,ARP我们手工敲好一个映射,现在又出现这个问题了,我还想使用IP Source Guard技术,但是没有绑定表,我们也可以手敲一个绑定表。

SW(config)#ip source binding 0017.5aa7.2d28 vlan 2 10.1.1.2 f0/2
SW(config)#int f0/2
SW(config-if)#ip verify source //这是基于IP的过滤。

//这是基于IP地址的过滤
注意:就算你不用DHCP,你全部手敲,你要让这个效果能作的出来、能够实现过滤(如果你想作IP Source Guard技术),你依然需要配上ip dhcp
snooping和ip dhcp snooping vlan *,只有这个才能生效。

DAI也是一样的,DAI你说我全部都是手工绑定,你不想用DHCP,你还是要敲上ip dhcp snooping和ip dhcp snooping vlan *
我们可测试一下
SW#show ip verify source
R1(config)#int f0/0 //把MAC改一下
R1(config-if)#mac-address 1.1.1
R1(config-if)#end
R1#ping 10.1.1.2 //此时就不通了。

我在把MAC改为来,再适一下
R1(config)#int f0/1
R1(config-if)#no mac-address //MAC改回来就通了。

下面我们再改一下IP地址,查看一下结果。

R2(config)#int f0/0
R2(config-if)#int f0/0
R2(config-if)#ip address 10.1.1.5 255.255.255.0 R2(config-if)#end
R2#ping 10.1.1.1 //结果是不通的
再把IP地址改回来
R2(config)#int f0/0
R2(config-if)#int f0/0
R2(config-if)#ip address 10.1.1.2 255.255.255.0 R2(config-if)#end
R2#ping 10.1.1.1 //改回来就可以通了。

SW#show ip verfity source。

相关文档
最新文档