第110篇:IP Source Guard:防 IP 地址欺骗

关键词:IP Source Guard、IPSG、IP 欺骗、绑定表、IP+MAC+Port 绑定、DHCP Snooping、二层安全


一、引言

在前一篇文章中,我们学习了 DHCP Snooping 如何防范非法 DHCP 服务器攻击并生成绑定表。然而,仅仅阻止非法 DHCP 服务器还不够。攻击者仍然可以手动配置一个合法的 IP 地址(如通过 ARP 扫描获取的 IP),然后冒充其他主机进行通信。这就是 IP 地址欺骗攻击。

IP Source Guard(IPSG)通过在接入端口上检查入方向报文的源 IP(和源 MAC),确保只有合法的 IP-MAC-Port 组合才能通过,从根本上杜绝 IP 地址欺骗。

二、核心概念

2.1 IP 地址欺骗攻击场景

攻击方式 描述 危害
静态 IP 欺骗 攻击者手动配置他人的 IP 地址 冒充合法用户,绕过访问控制
DHCP 劫持后欺骗 从非法 DHCP 服务器获取 IP 后欺骗 流量劫持,中间人攻击
IP 扫描后伪装 扫描网络中活跃 IP 后使用 隐藏真实身份,逃避审计

2.2 IP Source Guard 工作原理

IP Source Guard 工作原理 - 图示

2.3 IPSG 绑定表来源

IPSG 需要依赖绑定表来验证报文的合法性。绑定表有三种来源:

来源 配置方式 说明
DHCP Snooping 绑定表 自动生成 动态获取,推荐方式
静态绑定表 手动配置 dhcp snooping userbinding
端口安全绑定 端口安全特性 MAC 地址绑定后自动关联

2.4 IPSG 检查模式

检查模式 检查内容 适用场景
仅检查源 IP 源 IP 必须在绑定表中 基础防护
检查源 IP + 源 MAC 源 IP 和源 MAC 都必须在绑定表中 增强防护
检查源 IP + 源 MAC + VLAN IP+MAC+VLAN 都在绑定表中 完整防护
检查源 IP + 源 MAC + Port IP+MAC+VLAN+端口 都在绑定表中 最高级别防护

三、技术细节

3.1 IPSG 与 DHCP Snooping 的关系

IPSG 与 DHCP Snooping 的关系 - 图示

IPSG 通常与 DHCP Snooping 配合使用:DHCP Snooping 负责建立绑定表,IPSG 负责基于绑定表进行端口级检查。

3.2 静态绑定配置

当终端使用静态 IP 地址时,DHCP Snooping 无法自动生成绑定表项,需要手动配置静态绑定:

# 格式:dhcp snooping userbinding mac-address ip-address vlan vlan-id interface interface-type interface-number
[HUAWEI] dhcp snooping userbinding static 00e0-fc12-3456 10.10.10.100 10 GigabitEthernet 0/0/5

3.3 IPSG 对非 DHCP 客户端的影响

如果终端使用静态 IP 地址且未配置静态绑定,IPSG 会丢弃该终端的所有出站报文。解决方法: 1. 为该终端配置静态绑定表项 2. 在该端口上关闭 IPSG(不推荐,降低安全性)

四、实战配置/案例分析

4.1 华为交换机 IPSG 配置

# ========== 前提:DHCP Snooping 已启用并生成绑定表 ==========

# 1. 在 VLAN 视图下启用 IPSG
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping ip-source-guard enable
[HUAWEI-vlan10] quit

# 2. 在端口上启用 IPSG(可选,VLAN 级别启用后默认对所有端口生效)
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] dhcp snooping ip-source-guard enable

# ========== 静态 IP 终端的绑定配置 ==========
# 3. 为静态 IP 终端配置绑定表
[HUAWEI] dhcp snooping userbinding static 00e0-fc12-3456 10.10.10.200 10 GigabitEthernet 0/0/2

# 4. 启用 IPSG 同时检查 MAC
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping ip-source-guard enable include-mac
[HUAWEI-vlan10] quit

# ========== 验证 ==========
[HUAWEI] display dhcp snooping userbinding
# 查看绑定表(动态 + 静态)

[HUAWEI] display dhcp snooping ip-source-guard statistics
# 查看 IPSG 丢弃统计

4.2 故障案例:IPSG 误杀合法终端

场景描述:启用 IPSG 后,某台使用静态 IP 的打印机无法被网络访问,用户报告打印失败。

排查过程:

  1. 检查打印机端口:
[SW-ACC] display dhcp snooping userbinding | include GE0/0/8
# 未发现 GE0/0/8 端口的绑定表项
  1. 检查 IPSG 统计:
[SW-ACC] display dhcp snooping ip-source-guard statistics interface GigabitEthernet 0/0/8
# 大量报文被丢弃
  1. 根因分析:打印机使用静态 IP 地址 10.10.10.250,未通过 DHCP 获取地址,DHCP Snooping 未生成绑定表项。IPSG 检查时发现该端口没有绑定表项,丢弃所有报文。

处理措施:

# 为打印机配置静态绑定
[SW-ACC] dhcp snooping userbinding static 001a-2b3c-4d5e 10.10.10.250 10 GigabitEthernet 0/0/8

# 验证绑定表
[SW-ACC] display dhcp snooping userbinding | include 10.10.10.250
# 确认绑定表项已生成

# 验证打印机通信恢复

4.3 批量静态绑定配置

# 当有大量静态 IP 终端时,可以使用批量配置
[HUAWEI] dhcp snooping userbinding static 00e0-fc00-0001 10.10.10.1 10 GigabitEthernet 0/0/1
[HUAWEI] dhcp snooping userbinding static 00e0-fc00-0002 10.10.10.2 10 GigabitEthernet 0/0/2
[HUAWEI] dhcp snooping userbinding static 00e0-fc00-0003 10.10.10.3 10 GigabitEthernet 0/0/3

# 或使用 DHCP Snooping 绑定表导入功能
[HUAWEI] dhcp snooping userbinding import url flash:userbinding.csv

五、总结

项目 说明
IPSG 本质 在接入端口检查报文的源 IP(和源 MAC),防止 IP 欺骗
依赖绑定表 DHCP Snooping 动态生成 或 手动静态配置
检查模式 仅 IP / IP+MAC / IP+MAC+VLAN / IP+MAC+VLAN+Port
静态 IP 处理 需要手动配置静态绑定表项
与 DHCP Snooping 关系 DHCP Snooping 建表,IPSG 查表
华为推荐 VLAN 级别启用 IPSG + 包含 MAC 检查

思考

  1. IPSG 检查的是报文的源 IP 地址。如果攻击者修改了报文的源 MAC 地址但保留了正确的源 IP,IPSG(仅检查 IP 模式)能否检测到?如果启用了 IP+MAC 检查呢?

  2. 在大型网络中,如果大量终端使用静态 IP 地址,逐台配置静态绑定表是否可行?有没有更高效的批量管理方案?

  3. IPSG 部署后,移动终端(如笔记本电脑从 GE0/0/1 换到 GE0/0/2 接入)是否会因为端口变化而无法通信?如何解决?

下篇预告:第111篇:ARP 欺骗攻击与 DAI(Dynamic ARP Inspection)