如何防止欺骗攻击

恶意用户有时可以使用欺骗攻击来欺骗交换机或其他主机,以使用流氓计算机作为网关。攻击者的目标是成为中间人,一个幼稚的用户向攻击者发送数据包,就好像它是路由器一样。

攻击者可以在正常转发它们之前从发送给它的数据包中收集信息。本文介绍了三种防止某些类型的欺骗攻击的策略。 

通过DHCP侦听防止欺骗攻击

一个动态主机配置协议(DHCP)服务器通常提供所有客户端PC需要在网络上运行的基本信息。例如,客户端可能会收到IP地址,子网掩码,默认网关地址,DNS地址等。

假设攻击者可以在与同一台客户端PC处于同一子网中的计算机上启动恶意DHCP服务器。现在,当客户端广播其DHCP请求时,流氓服务器可以发送精心制作的DHCP答复,并用其自己的IP地址替换为默认网关。

当客户端收到答复时,它将开始使用欺骗的网关地址。发往本地子网外部地址的数据包,然后先到达攻击者的计算机。攻击者可以将数据包转发到正确的目的地,但与此同时,它可以检查它拦截的每个数据包。实际上,这成为中间人攻击的一种。

启用DHCP侦听

您可以使用DHCP侦听功能来防止欺骗攻击。启用DHCP侦听功能后,交换机端口将分类为受信任或不受信任。DHCP服务器位于受信任的端口上,而所有其他主机位于不受信任的端口之后。

交换机先拦截来自不受信任端口的所有DHCP请求,然后再将其泛洪至整个VLAN。来自不受信任端口的所有DHCP答复都将被丢弃,因为它们必须来自有效的DHCP服务器。此外,有问题的交换机端口会在err-disable状态下自动关闭。

当客户端收到合法答复时,DHCP侦听也跟踪已完成的DHCP绑定。该数据库包含客户端MAC地址,提供的IP地址,租用时间等。默认情况下,所有交换机端口均假定为不受信任,因此不希望或不允许DHCP答复。 

仅允许可信端口发送DHCP答复。因此,您应该仅识别已知的受信任DHCP服务器所在的端口。在Cisco设备中,您可以使用以下接口配置命令执行此操作:

Switch(config)# interface type member/module/number
Switch(config-if)# ip dhcp snooping trust

通过IP Source Guard防止欺骗攻击

地址欺骗是一种很难缓解的攻击。通常,为主机分配一个IP地址,并且期望该主机在发送的所有流量中使用该地址。IP地址可在系统上有效使用,在该系统中,可以信任主机以表现自己并使用自己的合法源地址。

流氓或受损的主机PC不一定会遵循这些规则。它可以使用其合法地址,也可以开始使用从其他主机借来的或随机使用的欺骗地址。欺骗性地址通常用于掩盖拒绝服务攻击的起源。

如果源地址确实不存在,则不会有返回流量返回到发起方。路由器或第3层设备可以执行一些简单的测试,以检测通过的数据包中的欺骗源地址。例如,如果已知192.168.1.0网络在VLAN 50上存在,则从VLAN 60输入的数据包在该子网中永远不会有源地址。

但是,当欺骗的地址在应该已经存在的VLAN或子网中使用时,很难检测到它们。例如,在VLAN 50上的192.168.1.0网络中,流氓主机开始发送欺骗性源地址为192.168.1.10的数据包。

该地址肯定在192.168.1.0/24子网内,因此它并不是明显的欺骗。因此,恶意主机可能非常成功地攻击了其自己的子网或VLAN中的其他主机。

IP Source Guard使用示例场景

您可以使用IP源防护功能来检测和抑制地址欺骗攻击,即使它们发生在同一子网中也是如此。通常,第2层交换机和第2层端口将学习并存储MAC地址。交换机必须有一种方法来查找MAC地址并找出与它们关联的IP地址。

欺骗攻击IP源防护

IP Source Guard通过使用DHCP侦听数据库和静态IP源绑定条目来做到这一点。如果配置并启用了DHCP侦听,则交换机将获悉使用DHCP的主机的MAC和IP地址。可以通过以下条件之一测试到达交换端口的数据包:

  • 源IP地址必须与DHCP Snooping
    或静态表项学习到的IP地址相同。动态端口访问控制列表(ACL)用于过滤流量。交换机会自动创建此ACL,将学习到的源IP地址添加到ACL,然后将ACL应用于学习到该地址的接口。
  • 源MAC地址必须与在交换机端口上通过DHCP侦听获知的MAC地址相同。端口安全性用于过滤流量。

如果该地址不是学习或静态配置的地址,则交换机将丢弃该数据包。要配置IP Source Guard,请首先配置并启用DHCP侦听,如上一节所示。

在Cisco设备中,如果希望IP Source Guard检测欺骗的MAC地址,则还需要配置并启用端口安全性。对于不使用DHCP的主机,可以使用以下配置命令配置静态IP源绑定:

Switch(config)# ip source binding mac-address vlan vlan-id ip-address interface type member/module/number

觉得文章有用?

点个广告表达一下你的爱意吧 !😁