将 NAT-T 用于 L2TP / IPsec VPN 是否会带来现实的安全风险?

信息安全 虚拟专用网 服务器 ipsec pptp
2021-08-26 06:32:00

我正在升级托管 PPTP VPN 的旧 Windows RAS 服务器。我想迁移到 L2TP/IPsec VPN。

由于我们使用的防火墙设备,VPN 服务器必须位于 NAT 之后。这意味着为了让 L2TP/IPsec 工作,我需要在客户端和服务器上启用/配置 NAT-T。

但是,在 XP SP2 之后的 Windows 版本中,NAT-T 功能被禁用。这显然是出于 Microsoft 的安全考虑。这似乎表明使用 NAT-T 发送的流量最终可能会被发送到错误的目的地。

不建议将 IPSec NAT-T 用于网络地址转换器后面的 Windows Server 2003 计算机

这里有一些关于安全影响的进一步讨论,没有关于收益与风险的真正结论。

NAT 遍历 (NAT-T) 安全问题

我的问题:

  1. 在 NAT-T 上使用 L2TP/IPsec VPN 实际上是不安全的,还是这只是理论上的风险?
  2. 是否有任何理由不使用 L2TP/IPsec+NAT-T 作为 PPTP VPN 的替代品?
1个回答

在 NAT-T 上使用 L2TP/IPsec VPN 实际上是不安全的,还是这只是理论上的风险?

微软说是和否:

的,如果这种情况适用于您:

  1. 网络地址转换器被配置为将 IKE 和 IPSec NAT-T 流量映射到 NAT 配置网络上的服务器。(此服务器是服务器 1。)网络地址转换器映射是我们在本文中推荐的。
  2. 来自配置了 NAT 的网络之外的客户端使用 IPSec NAT-T 与服务器 1 建立双向安全关联。(此客户端是客户端 1。)
  3. 配置 NAT 的网络上的客户端使用 IPSec NAT-T 与客户端 1 建立双向安全关联。(此客户端是客户端 2。)
  4. 由于将 IKE 和 IPSec NAT-T 流量映射到服务器 1 的静态网络地址转换器映射,导致客户端 1 重新建立与客户端 2 的安全关联的情况发生。这种情况可能会导致由发送的 IPSec 安全关联协商流量客户端 1 的目标是客户端 2 被错误路由到服务器 1

尽管这是一种不常见的情况,但基于 Windows XP SP2 的计算机上的默认行为会阻止与位于网络地址转换器后面的服务器建立任何基于 IPSec NAT-T 的安全关联,以确保这种情况永远不会发生。

请注意,最近的 Mircrosoft Windows 操作系统版本(Windows 7、8、10)中仍然存在此建议

,如果您确定此方案不适用于您的情况。

是否有任何理由不使用 L2TP/IPsec+NAT-T 作为 PPTP VPN 的替代品?

如果您选择 IPSec 隧道,则意味着需要保护数据的机密性和完整性,同时还要确保发送者的真实性。将此与 NAT 协议相结合在某种程度上与您的目标相矛盾,因为 NAT 可能会将响应/请求转发到错误的 IP 地址。

另一个技术问题是:

当 TCP 和 UDP 标头已被 ESP 加密时,NAT 无法使用 TCP 和 UDP 标头中的端口号将数据包多路复用到多台内部计算机