跳到主要内容

6. ICMP 处理

本节描述 IPsec 对 ICMP traffic 的处理. ICMP traffic 分为两类: error message (例如 type = destination unreachable) 和 non-error message (例如 type = echo). 本节仅适用于 error message. Non-error ICMP message (不以 IPsec implementation 本身为目的地的消息) 的 disposition MUST 使用 SPD entry 明确说明.

本节讨论同时适用于 ICMPv6 和 ICMPv4. 此外, SHOULD 提供一种机制, 允许管理员使 ICMP error message (选定消息, 全部消息或不记录) 被记录, 以帮助问题诊断.

6.1. 处理发往 IPsec Implementation 的 ICMP Error Message

6.1.1. 在 Unprotected Side 收到的 ICMP Error Message

在 unprotected side 收到的 ICMP message 未经过 authentication, 处理它可能导致 denial 或 degradation of service. 这意味着一般而言, 忽略此类 message 会比较理想. 然而, host 或 security gateway 会从未经认证的 source 收到许多 ICMP message, 例如 public Internet 中的 router. 忽略这些 ICMP message 可能降低服务质量, 例如因为未能处理 PMTU message 和 redirection message.

关键考虑:

  • Security Risk: 未认证 ICMP message 可用于 denial of service attack
  • Operational Need: 某些 ICMP message (PMTU, redirect) 是网络正常运行所必需的
  • Trade-off: 在安全性和功能性之间平衡

6.1.2. 在 Protected Side 收到的 ICMP Error Message

在 boundary 的 protected side 收到的 ICMP error message 已经过 authentication, 可以更有信心地处理.

ICMP Message 类别

Error Message

  • Destination Unreachable
  • Time Exceeded
  • Parameter Problem
  • Packet Too Big (ICMPv6)

Non-Error Message (需要显式 SPD entry)

  • Echo Request/Reply
  • Router Advertisement/Solicitation
  • Neighbor Discovery (ICMPv6)