下一步 上一页 目录

6. IPsec 伪装技术说明和特殊安全注意事项

6.1 IPsec 伪装的局限性和弱点

使用 AH 协议的流量不能被伪装。AH 协议包含跨越 IP 地址的加密校验和,伪装网关无法正确地重新生成该校验和。因此,所有伪装的 AH 流量都将被丢弃,因为它们具有无效的校验和。

使用传输模式 ESP 的 IPsec 流量也不能被可靠地伪装。传输模式 ESP 本质上加密了 IP 报头之后的所有内容。例如,由于 TCP 和 UDP 校验和包含源 IP 地址和目标 IP 地址,并且 TCP/UDP 校验和位于加密的载荷内,因此在伪装网关更改 IP 地址后无法重新计算,TCP/UDP 报头将在远程网关的校验和测试中失败,并且数据包将被丢弃。不包含有关源或目标 IP 地址信息的协议可能会成功地使用伪装的传输模式。

除了这些限制之外,当一次只有一个 IPsec 主机被伪装,或者当每个伪装主机与不同的远程主机通信时,IPsec 伪装是安全可靠的。当多个伪装主机与同一远程主机通信时,会出现一些弱点

为了避免这些问题,2.2.x 代码默认情况下阻止建立与同一远程主机的多个连接。如果可以接受与同一远程主机的多个连接暴露的弱点,则可以启用“并行会话”。

出于安全原因阻止并行会话可能会很烦人:IPsec 伪装代码无法嗅探会话并查看会话何时终止,因此即使会话在建立后立即终止,伪装表条目仍将在 IPsec 伪装表生存期内保持存在。如果阻止并行会话,则意味着在最近会话的伪装表条目超时并被删除之前,服务器将对其他客户端不可用。这可能长达几个小时。

6.2 正确路由入站加密流量

在 ISAKMP 密钥交换中,ESP SPI 值被通信的部分是加密的,因此 ESP SPI 值必须通过检查实际的 ESP 流量来确定。此外,出站 ESP 流量不包含任何指示入站 SPI 将是什么的信息。这意味着没有完全可靠的方法可以将入站 ESP 流量与出站 ESP 流量关联起来。

IPsec 伪装尝试通过按远程主机对初始 ESP 流量进行序列化来关联入站和出站 ESP 流量。这意味着

有几种方法可能导致无法正确关联流量

最佳解决方案是某种方法来预加载伪装表,其中包含正确关联的出站 SPI/入站 SPI 对或远程主机 + 入站 SPI 到伪装主机的其他映射。这无法通过检查 ISAKMP 密钥交换来完成,因为它是加密的。可能可以使用 RSIP(也称为 Host-NAT)与伪装的 IPsec 主机通信,并请求在 SPI 信息协商完成后通知它。这正在调查中。如果要做些什么来实现这一点,最早也要在 2.3.x 系列中完成,因为 RSIP 是一个相当复杂的客户端/服务器 NAT 协议。

当收到具有新 SPI 的入站 ESP 数据包时,伪装防火墙会尝试猜测未关联的入站流量的目标伪装主机。如果入站 ESP 流量与已建立的会话或待处理的会话初始化不匹配,则数据包将发送到最近与该远程主机重新密钥协商的伪装主机。 “不正确”的伪装主机将丢弃该流量,因为它被不正确地加密,而“正确”的主机将获得其数据。当“正确”的主机响应时,正常的 ESP 初始化序列化过程就会发生。


下一步 上一页 目录