IPv6 暴露面是什么
IPv6 常被遗漏,原因在于它是一套并行的协议栈:域名可能新增了 AAAA 记录,云安全组里存在独立的 IPv6 规则,主机可能通过地址自动配置获得全局地址,而边界防火墙的 IPv6 策略往往还是空的。结果是某些服务在 IPv4 侧做过严格最小化,在 IPv6 侧却处于默认放行状态。核查必须按协议栈分别进行,不能假设一边做过另一边就同样做过。
基本信息
| 解析记录 | AAAA 记录单独存在,需与 A 记录一起核对 |
|---|---|
| 主机监听 | 双栈监听(::)会让服务在两个协议栈上同时可达 |
| 防火墙 | 云安全组与主机防火墙的 IPv6 规则通常独立配置 |
| 常见问题 | IPv4 做了限制,IPv6 侧为默认放行 |
典型使用场景
- 暴露面季度核查时把 IPv6 作为独立项,而不是 IPv4 的附注
- 排查『某端口已关闭却仍能访问』:确认是否走了 IPv6 路径
- 云环境核对安全组的 IPv6 规则,检查是否存在宽范围放行
- 不需要 IPv6 的服务关闭 AAAA 解析或在边界直接拒绝
- 内网终端获得全局地址后,重新评估其可达范围与隔离策略
核查命令
核查命令
# 域名是否有 IPv6 地址
dig +short example.com AAAA
dig +short AAAA example.com
# 主机侧:确认监听与防火墙规则(注意 :: 形式)
ss -lntp | grep -E '\[::\]|\*:80'
ip6tables -L -n 2>/dev/null | head -20
# 很多环境 IPv4 有规则、IPv6 为空,需逐项补齐
# 云侧:单独核对 IPv6 安全组规则中的 ::/0 放行核查维度
| 维度 | 检查内容 | 异常表现 |
|---|---|---|
| DNS | AAAA 记录是否存在 | 存在但业务方不知情 |
| 主机监听 | 双栈监听的服务清单 | 服务在 :: 上监听未收敛 |
| 主机防火墙 | ip6tables / firewalld 规则 | 规则为空或全放行 |
| 云安全组 | IPv6 入站规则范围 | 存在 ::/0 宽范围放行 |
双栈环境的审计要按协议栈分别做:IPv4 侧做过的最小化,IPv6 侧并不一定复制过,二者的配置是独立的。
安全组只审了 IPv4 规则是常见缺口:::/0 的放行规则可能从建立以来无人查看,等于同一服务存在两条不同宽度的入口。