Skip to main content

6. ICMP 处理 (ICMP Processing)

本节描述 IPsec 对 ICMP 流量的处理。ICMP 流量有两类:错误消息(例如,type = destination unreachable)和非错误消息(例如,type = echo)。本节专门适用于错误消息。非错误 ICMP 消息(未发送到 IPsec 实现本身的消息)的处理必须 (MUST) 使用 SPD 条目明确说明。

本节中的讨论适用于 ICMPv6 和 ICMPv4。此外,应该 (SHOULD) 提供一种机制,允许管理员记录 ICMP 错误消息(选定的、全部或无),作为问题诊断的辅助手段。

6.1. 处理发送到 IPsec 实现的 ICMP 错误消息

6.1.1. 在未受保护侧接收的 ICMP 错误消息

在未受保护侧接收的 ICMP 消息未经认证,其处理可能导致拒绝服务或服务降级。这表明,通常应该忽略此类消息。但是,许多 ICMP 消息将由主机或安全网关从未经认证的源(例如,公共互联网中的路由器)接收。忽略这些 ICMP 消息可能会降低服务质量,例如,由于未能处理 PMTU 消息和重定向消息。

关键考虑因素

  • 安全风险:未经认证的 ICMP 消息可用于拒绝服务攻击
  • 操作需求:某些 ICMP 消息(PMTU、重定向)对于正常的网络操作是必需的
  • 权衡:在安全性和功能性之间取得平衡

6.1.2. 在受保护侧接收的 ICMP 错误消息

在边界受保护侧接收的 ICMP 错误消息已经过认证,可以更有信心地处理。

ICMP 消息类别

错误消息

  • Destination Unreachable(目标不可达)
  • Time Exceeded(超时)
  • Parameter Problem(参数问题)
  • Packet Too Big(数据包过大,ICMPv6)

非错误消息(需要显式 SPD 条目)

  • Echo Request/Reply(回显请求/回复)
  • Router Advertisement/Solicitation(路由器通告/请求)
  • Neighbor Discovery(邻居发现,ICMPv6)