IPv6 安全基础:NDP 欺骗、RA 攻击与防护要点
"IPv6 更不安全"是一个流传很广的说法。准确的说法是:IPv6 没有更脆弱,但它的默认配置比 IPv4 更"信任邻居"。如果只是把地址换成 IPv6,而安全策略没跟着动,就会出现真实的缺口。这篇梳理主要风险与对应的防护措施,可作为接入侧加固的检查提纲。
一、为什么 IPv6 会"看起来更危险"
三个结构性原因:
- NDP 原生无认证(RFC 4861)。IPv4 的 ARP 也没有认证,但 NDP 取代了它,同时新增了"路由器发现"这一能力——伪造它能直接改变默认网关与 DNS,危害面比 ARP 欺骗更大。
- 没有 NAT 的天然隔离。IPv4 时代大量设备躲在 NAT 后面,外网无法直接发起连接;IPv6 假设端到端可达,因此防火墙策略从"隐式隔离"变成"必须显式配置"。
- 双栈导致策略不对等。做了多年的 IPv4 安全策略很完善,IPv6 侧往往是"能通就行",形成事实上的影子通道。
二、主要风险与防护对照
| 风险 | 机理 | 防护手段 |
|---|---|---|
| 伪造 RA(Rogue RA) | 伪造路由器通告,抢占默认网关或下发恶意 DNS | RA Guard(RFC 6105)、接入端口过滤 RA |
| NDP 欺骗 | 伪造 NS/NA 冒充邻居,形成中间人 | NDP 监控(RFC 7039)、端口安全、私有 VLAN |
| DHCPv6 仿冒 | 伪造 DHCPv6 服务器分发地址与配置 | DHCPv6 Shield(RFC 7610) |
| DAD 干扰 | 对所有 NS 回 NA,使新设备无法获得地址 | NDP 监控 + 端口异常检测 |
| 扩展头绕过 | 用异常扩展头链干扰检测设备解析 | 强制 RFC 7112(首分片须含完整头链) |
| 隧道穿透 | 6to4 / Teredo 自动隧道绕过边界策略 | 边界过滤,或显式禁用自动隧道 |
| 策略不对等 | v4 严、v6 松 | 双栈策略同步评审 + 双栈资产扫描 |
关于伪造 RA 的一个现实提醒
RA 攻击里最"常见"的一种其实不是攻击,而是误配置:把家用路由器的 LAN 口接到了公司网络的 LAN 口。它一上线就开始发 RA,宣告自己是网关,周围设备的默认路由于是被改到这台小路由器上,整片区域"突然上不了网"。
这类故障的现象很容易误判成"运营商故障",而正确的排查方向是:在故障网段内监听 RA,看是不是出现了不该存在的路由器。 受管交换机上的 RA Guard 能让这种事故根本没有发生的机会。
三、ICMPv6 不能"一禁了之"
很多安全基线习惯"禁用 ICMP",在 IPv6 里这是灾难性的做法,因为 ICMPv6 承担了协议的基础功能:
| 类型 | 名称 | 能否屏蔽 |
|---|---|---|
| 1 | 目的不可达 | 不建议(影响路径发现) |
| 2 | 报文过大(Packet Too Big) | 绝对不能(屏蔽会导致 PMTUD 黑洞) |
| 3 | 超时 | 不建议 |
| 4 | 参数问题 | 不建议 |
| 128 / 129 | Echo 请求 / 应答 | 可策略性限制 |
| 133~137 | RS / RA / NS / NA / Redirect | 绝对不能全禁(禁了 IPv6 直接不能用) |
实用口径:入方向至少要放行类型 14 与 133137,并可按来源加以限制(例如只允许链路本地来源的 RA/NS/NA)。其余类型按业务需要收敛。
四、边界与接入侧的加固清单
接入层(离终端最近的一跳)
- 启用 RA Guard:只允许受信任的上行端口发送 RA。
- 启用 DHCPv6 Shield:阻断非授权 DHCPv6 服务器应答。
- 启用 NDP 监控:记录并告警异常 NS/NA 行为。
- 端口安全 + 私有 VLAN:限制单端口可学习的地址数量。
边界(出口)
- 入方向源地址过滤:不允许来自公网的报文携带本地/特殊前缀作为源地址。
- Bogon 过滤:丢弃 IANA 特殊用途前缀(RFC 6441 / IANA 特殊用途地址注册表)。
- 反向路径校验(uRPF):防止源地址伪造。
- 过滤已知隧道前缀:如不再使用,显式丢弃
2002::/16(6to4)等。
管理面
- 明确禁用不需要的自动隧道(Teredo、ISATAP、6to4)。
- 把 IPv6 纳入资产发现与漏洞扫描范围,别只扫 IPv4。
- 日志与审计同时采集双栈来源——否则 IPv6 侧的事件会"记不到账"。
- 频率限制与黑名单策略按
/64归并,避免被前缀内海量地址绕过。
五、主机侧的基本动作
| 动作 | 说明 |
|---|---|
| 默认拒绝入站 | 主机防火墙对 v6 与 v4 采用同一套策略 |
| 关闭多余隧道接口 | 减少被绕过的路径 |
| 隐私扩展按场景取舍 | 移动设备建议开启(RFC 4941),服务器/需要稳定标识的设备使用固定地址 |
| 服务器不使用 EUI-64 | 避免地址暴露 MAC 与硬件厂商信息 |
| 双栈同权管理 | 不要把"仅 v4 的策略"当成完整策略 |
六、参考标准
做 IPv6 安全规划时,下面几份文档值得作为依据:
| 文档 | 内容 |
|---|---|
| RFC 9099 | 运营商/企业 IPv6 网络安全运维考量(本篇主要依据) |
| RFC 6105 | IPv6 RA Guard |
| RFC 7610 | DHCPv6 Shield |
| RFC 7039 | NDP 监控 MIB |
| RFC 7112 | 分片与扩展头链的处理要求 |
| RFC 6441 | IANA IPv6 特殊用途地址(过滤依据) |
| RFC 3971 | SEND(安全邻居发现,部署少但思路可参考) |
小结
- IPv6 的主要新风险集中在接入层:伪造 RA、NDP 欺骗、DHCPv6 仿冒。
- 策略不对等是最隐蔽也最常见的缺口:v4 严了、v6 忘了。
- ICMPv6 不能全禁,类型 1
4 与 133137 必须放行。 - 频率限制按
/64归并,双栈日志同时采集,扫描同时覆盖两套协议。 - 别让 IPv6 成为绕过既有治理体系的"影子网络"。
下一篇进入实务篇:《家庭网络开通 IPv6 全流程》。