83603025_p0 1440.jpg

1. IP Source Guard(IP 源防攻击)特征


  • 基于二层接口的源 IP 地址过滤
  • 只支持在二层物理接口或者 VLAN 上使用,而且只对开启了 IPSG 功能的非信任接口进行检查
  • 只检查主机发送的 IP 报文(IPv4 和 IPv6),不对 ARP 和 PPPoE 进行检查
  • 利用「绑定表(源 IP 地址、源 MAC 地址、所属 VLAN、入接口的绑定关系,静态绑定表或 DHCP Snooping 绑定表)」去检查二层接口上收到的 IP 报文,匹配绑定表的报文才允许通过,其他报文将被丢弃
    • 防止非法主机伪造合法主机的 IP 地址进行冒充
    • 防止非法主机不能通过自己手工配置的 IP 地址方式来访问网络或攻击网络
  • 静态绑定表项中指定的信息都用于 IPSG 过滤接口收到的报文
  • 动态绑定表项中 IPSG 依据该表项中的哪些信息过滤接口收到的报文,由用户设置的检查项决定,缺省是四项都进行匹配检查(MAC 地址、IP 地址、VLAN ID、入接口)
  • 需要使用到信任接口时,通常与 DHCP Snooping 配合使用
  • IPSG 防止不了 ARP 欺骗攻击
  • IPSG 无法避免地址冲突

    2. Port Role


image.png
信任接口:从接口收到的报文也不会执行 IPSG 检查(需要确定此接口一般不存在攻击)。在 DHCP Snooping 的场景下,通常把与合法 DHCP 服务器直接或间接连接的接口设置为信任接口
非信任接口:从接口收到的报文会执行 IPSG 检查(使能 IPSG)
未使能 IPSG:从接口收到的报文不会执行 IPSG 检查(可能存在攻击)

3. 实现原理


非法主机仿冒合法主机的 IP 地址发送报文到达 Switch 后,因报文和绑定表不匹配被 Switch 丢弃

IPSG - 图3

4. 应用场景


IPSG - 图4

  • 防止主机私自更改 IP 地址(针对 IP 地址是动态分配的环境,或管理手工指定)
  • 限制非法主机接入(针对 IP 地址是静态分配的环境)

    1)基于接口使能IPSG

    在接入用户侧的接口上应用 IPSG,该接口接收的所有 IP 报文均进行 IPSG 检查

IPSG - 图5

2)基于VLAN使能IPSG

在接入用户侧的 VLAN 上应用 IPSG,属于该 VLAN 的所有接口接收到 IP 报文均进行 IPSG 检查

IPSG - 图6

3)多交换机环境

IPSG - 图7

  • 假设接入内网1 的 Switch_1 不支持 IPSG 功能,可以在 Switch_2 上的 IF1 接口应用 IPSG(需要在 Switch_2 上创建内网1 内主机的绑定表)。但是由于 Switch_1 没有 IPSG 功能,所以从 Switch_1 发送过来的报文是有可能存在 IP 欺骗攻击的,在 Switch_2 的 IF1 接口上应用 IPSG 可以把攻击隔绝在这里,使受攻击的范围减小到最小
  • 接入内网2 的 Switch_2 的 IF2 接口上也需要应用 IPSG 功能,如果不应用,内网2 内也可能存在 IP 地址欺骗攻击

    5. 绑定表


绑定表生成后,IPSG 基于绑定表向指定的[**接口或者指定的 VLAN **]下发 ACL,由该 ACL 来匹配检查所有 IP 报文

绑定表类型 生成过程 适用场景
静态绑定表 使用 user-bind 命令手工配置 适用于主机数较少且主机使用静态 IP 地址的场景
DHCP Snooping动态绑定表(1) DHCP 主机动态获取IP地址时,设备根据 DHCP 服务器发送的 DHCP Reply 报文动态生成 适用于主机数较多且主机从 DHCP 服务器获取 IP 地址的场景
DHCP Snooping动态绑定表(2) 802.1X 用户认证过程中,设备根据认证用户的信息生成
- 适用于主机数较多、主机使用静态 IP 地址、并且网络中部署了 802.1X 认证的场景
- 该方式生成的表项不可靠,建议配置静态绑定表
ND Snooping动态绑定表 配置 ND Snooping 功能后,设备通过侦听用户用于重复地址检测的 NS 报文来建立 仅针对IPv6主机,适用于主机数较多的场景

6. 与其他相关特性比较


1)IPSG 与 DAI

都是采用绑定表(静态绑定表或者 DHCP Snooping 绑定表)实现对报文过滤

特性 功能介绍 应用场景
IPSG 利用绑定表对 IP 报文进行过滤。设备会匹配检查接口上接收到的 IP 报文,只有匹配绑定表的 IP 报文才允许通过 防止 IP 地址欺骗攻击。如防止非法主机盗用合法主机的 IP 地址,非法获取上网权限或者攻击网络
DAI 利用绑定表对 ARP 报文进行过滤。设备会匹配检查接口上接收到的 ARP 报文,只有匹配绑定表的 ARP 报文才允许通过 防御中间人攻击。中间人通过ARP欺骗,引导流量从自己这里经过,从而可以截获他人信息

2)IPSG 与 静态 ARP

静态 IPSG 和静态 ARP 都可以实现 IP 和 MAC 的绑定

  • 静态 ARP 防止不了 IP 地址欺骗攻击
  • IPSG 防止不了 ARP 欺骗攻击 | 特性 | 功能介绍 | 应用场景 | | :—-: | :—-: | :—-: | | IPSG | 通过静态绑定表固定 IP 地址和 MAC 地址之间映射关系,设备会匹配检查接口上接收到的报文,只有匹配绑定表报文才允许通过 | 一般部署在与用户直连的接入设备(也可以是汇聚或者核心设备)上,防止内网中的 IP 地址欺骗攻击。如非法主机仿冒合法主机的 IP 地址获取上网权限 | | 静态ARP | 通过静态 ARP 表固定 IP 地址和 MAC 地址之间映射关系,静态 ARP 表项不会被动态刷新,设备根据静态 ARP 表转发接收到的报文 | 一般部署在网关上,配置重要服务器的静态 ARP 表项,防止 ARP 欺骗攻击,保证主机和服务器之间的正常通信 |

3)IPSG 与 Port Security

静态 IPSG 和端口安全都可以实现 MAC 地址和接口的绑定

特性 功能介绍 应用场景
IPSG 通过在绑定表中固定 MAC 和接口的绑定关系,实现固定主机只能从固定接口上线,并且绑定表以外的非法 MAC 主机无法通过设备通信。但是绑定表项需要手工配置,如果主机较多,配置工作量比较大 绑定 MAC 和接口只是 IPSG 的一部分功能,IPSG 能实现 IP 地址、MAC 地址、VLAN 和接口之间的任意绑定。它主要用来防止 IP 地址欺骗攻击。如防止非法主机盗用合法主机的 IP 地址,非法获取上网权限或者攻击网络
端口安全 通过将接口学习到的指定数量的动态 MAC 地址转换为安全 MAC 地址,以固定 MAC 表项,实现固定主机只能从固定接口上线,并且 MAC 表以外的非法 MAC 主机无法通过设备通信。安全 MAC 地址是动态生成的,无需手工配置 防止非法主机接入,还可以控制接入主机的数量,比较适合于主机较多的场景