跳到主要内容

11. 安全考虑

本文档的重点是安全,因此安全考虑贯穿整个规范。

IPsec 对跨越 IPsec 边界时双向绕过 IP 头数据施加了严格约束,在使用隧道模式 SA 时尤其如此。有些约束是绝对的,有些则受本地管理控制,通常按每个 SA 分别控制。对于出站流量,这些约束旨在限制隐蔽信道的带宽。对于入站流量,这些约束旨在防止某个有能力篡改一个数据流(位于 IPsec 边界未受保护一侧)的攻击者,对其他数据流(位于边界受保护一侧)造成不利影响。第 5 节中关于隧道模式 SA 的 DSCP 值处理讨论,说明了这一关注点。

如果某个 IPsec 实现被配置为仅依据 ICMP 头取值,就让 ICMP 错误消息通过 SA,而不检查 ICMP 消息载荷中的头部信息,则可能产生严重漏洞。考虑这样一种场景:若干站点(A、B、C)通过受 ESP 保护的隧道相互连接:A-B、A-C、B-C。另假定每个隧道的流量选择器对协议和端口字段都指定了 ANY,并指定了涵盖各站点安全网关后方系统地址范围的 IP 源/目的地址范围。这会允许站点 B 的某台主机向站点 A 的任意主机发送“目的不可达”的 ICMP 消息,声称站点 C 网络上的所有主机均不可达。这是一种非常高效的拒绝服务(DoS)攻击。如果按照第 6.2 节所述对 SPD 进行了适当配置,并使 ICMP 错误消息接受 IPsec 所提供的检查,这种攻击本可以被阻止。


相关小节: