恶意用户可能会发送伪造的信息,骗取交换机或主机将不可靠的机器作为网关。攻击者的目标是成为中间人,让无判断的用户将其作为路由器,向其发送分组,这样攻击者可以在将发送给他的分组正常转发前,收集其中的信息。
1)DHCP探测
假定攻击者在客户PC所在的子网的一台机器上运行伪造的DHCP服务器。当客户广播其DHCP请求时,伪造服务器将发送精心伪造的DHCP应答,将其IP地址作为默认网关。
客户收到应答后,将开始使用伪造的网关地址。前往子网外的分组将首先经过攻击者的机器。攻击者可能将分组转发到正确的目的地,但同时可能查看其拦截的每个分组。
Cisco Catalyst 交换机可以使用DHCP探测功能,帮助防范这种攻击。DHCP 探测被启用时,交换机端口被分为可信任和不可信任两种。合法的DHCP服务器位于可信任端口上,而其他所有主机位于不可信任端口上。
交换机拦截来自不可信任端口的所有DHCP请求,然后向整个 VLAN 泛洪。任何来自不可信任端口的DHCP 应答都将被丢弃,因为他们肯定来自伪造的DHCP服务器。同时,相应的交换机端口将自动关闭,进入 errdsable 状态。
DHCP 探测的配置如下:
1.启用 DHCP 探测。
switch(config)#ip dhcp snooping
2.指定要实现 DHCP 探测的 VLAN 。
switch(config)#ip dhcp snooping vlan vlan-id [vlan-id]
在该命令中,可指定单个VLAN 号,也可以指定 VLAN 号范围。
3.配置端口信任。
默认情况下,所有交换机端口都被视为不可信任的,因此不期望或允许 DHCP 应答。只有可信任端口被允许发送 SHCP 应答,因此应将已知 DHCP 服务器所在的端口指定为可信的。
switch(config)#interface type mode/num
switch(config-if)#ip dhcp snooping trust
对于不可信任端口,可以限制 DHCP 请求的分组速率。
switch(config)#ip dhcp snooping rate rate
其中,rate 的取值范围为1~2048 DHCP 分组 /秒
4.显示 DHCP 探测的状态
switch(config)#sh ip dhcp snooping
2)源 IP 地址防护
Cisco Catalyst 交换机能够使用源 IP 地址防护来检并挫败地址伪造攻击,即使攻击是在伪造地址所属的了网中发起的。二层交换机通常会获悉并存储 MAC 地址,交换机必须采取某种方式查阅 MAC 地址,并确定与之相关的 IP 地址。
源IP 地址防护通过使用 DHCP 欺骗数据库以及静态源 IP 地址绑定项来完成这项工作。如果配置并启用了 DHCP 欺骗,交换机就将获得使用 DHCP 主机的 MAC 地址和 IP 地址。分组到达交换机端口后,可以检测它是否符合下述条件之一。
源 IP 地址是否与 DHCP 欺骗获悉的或静态项指出的 IP 地址相同。使用一个动态端口ACL 来过滤数据流。,交换机自动创建该 ACL ,将获悉的 IP 地址加入其中,并将其应用于获悉该地址的接口。
源 MAC 必须与交换机端口和 DHCP 欺骗获悉的 MAC 相同。使用端口安全性来过滤数据流。
如果地址不同于获悉或动态配置的地址,交换机就将分组丢弃。
配置过程如下:
1地址获取。
要配置源 IP 地址防护,首先需要配置并启用 DHCP 欺骗。
对于不使用 DHCP 的主机,需要配置静态的源 IP 地址绑定:
switch(config)ip source bingding mac-address vlan vlan-id ip-address interface type/num
2启用源 IP 地址防护。
switch(config)#interface type mode/num
switch(config-if)#ip verify source [port-security]
3查看运行情况
switch#show ip verity source [ interface type/num ]
如果要查看源 IP 地址绑定数据库中的信息(动态获悉或静态配置的),命令如下:
switch#show ip source bingding [ip-address] [mac-address ] [dhcp-snooping | static] [interface type mode/num] [vlan vlan-id]
3)动态ARP检测
动态 ARP 检测(DAI)可用来验证网络中的 ARP 包,会拦截、记录并丢弃带有无效 IP-MAC 地址映射的 ARP 包,可以保护网络免受中间人攻击的影响。动态 ARP 检测课确保只允许有效的 ARP 请求和回应被转发。
配置步骤为:
1在一个或多客户VLAN 上启用:
switch(config)#ip arp inspection vlan vlan-range
在该命令中,可指定单个 VLAN ID ,用连字符分隔的 VLAN ID 范围或用逗号分隔的 VLAN ID 列表。
2将端口指定为可信。
switch(config)#interface type mod/num
switch(config-if)#ip arp inspection trust
3验证配置
switch#show ip arp inspection vlan vlan-id