5. Security Considerations (安全考虑)
5. Security Considerations (安全考虑)
根据定义, IPsec-NAT 兼容性要求实现 IPsec 的主机和路由器能够安全地处理其 IP 头部未受到加密保护的数据包。由此产生了许多值得讨论的问题。
由于 IPsec AH 无法通过 NAT, 提供 IPsec-NAT 兼容性解决方案的副作用之一可能是在源和目的之间存在 NAT 的情况下使用具有空加密的 IPsec ESP 代替 AH。然而, 应该注意的是, 具有空加密的 ESP 不提供与 AH 相同的安全属性。例如, 存在与 IPv6 源路由相关的安全风险, 这些风险被 AH 排除, 但不被具有空加密的 ESP 排除。
此外, 由于 ESP 使用任何变换都不能防止源地址欺骗, 因此需要执行某种形式的源 IP 地址完整性检查。反欺骗检查的重要性未被广泛理解。通常在 IPsec_{esp,ah}_input() 中对源 IP 地址进行反欺骗检查。这确保数据包来自与原始 IKE 阶段 1 和阶段 2 安全关联中声明的地址相同的地址。当接收主机位于 NAT 后面时, 对于单播会话, 此检查可能不严格有意义, 而在全球互联网中, 此检查对于隧道模式单播会话很重要, 以防止 [AuthSource] 中描述的欺骗攻击, 当接收方的访问控制依赖于解封装后经过验证的 ESP 数据包的源 IP 地址时, 可能会发生此类攻击。如果 IPsec-NAT 兼容性方案将源地址用于访问控制, 则应提供反欺骗保护。
让我们考虑两个主机 A 和 C, 它们都位于 (不同的) NAT 后面, 它们与路由器 B 协商 IPsec 隧道模式 SA。主机 A 和 C 可能具有不同的特权; 例如, 主机 A 可能属于被信任访问大部分企业内网的员工, 而 C 可能是仅被授权访问特定网站的承包商。
如果主机 C 发送一个伪造 A 的 IP 地址作为源的隧道模式数据包, 重要的是此数据包不被授予与 A 对应的特权。如果执行身份验证和完整性检查, 但不进行反欺骗检查 (验证发起 IP 地址是否对应于 SPI), 则主机 C 可能被允许访问网络中禁止访问的部分。因此, IPsec-NAT 兼容性方案必须提供某种程度的反欺骗保护。