何时使用 IPsec 隧道模式或传输模式?

信息安全 加密 网络 ipsec
2021-08-16 17:15:54

我基本上了解隧道模式和传输模式是如何工作的,但我不知道什么时候应该使用一种而不是另一种。

在想要通信的两方中,如果一台计算机 B 不了解 IPsec,我认为他们必须使用隧道模式,将原始 IP 和有效负载放入 ESP 并将数据包传递给 B 附近知道 IPsec 的设备,并且该设备解密数据包并将解密的数据包发送到计算机 B。

但是如果两台计算机都知道IPsec,我可以使用传输模式吗?各种文章都提到,如果两台计算机在一个内网中,则使用传输;如果它们在不同的网络中,请使用隧道。为什么?如果两台电脑在不同的网络,使用传输模式,会出现什么问题?

(尽量不要说AH和所谓的安全网关,我不知道它们是什么。)

3个回答

来自思科:http : //www.ciscopress.com/articles/article.asp? p= 25477

隧道模式最常用于网关之间或网关的终端站,网关充当其后面主机的代理。

传输模式用于终端站之间或终端站和网关之间,如果网关被视为主机 - 例如,从工作站到路由器的加密 Telnet 会话,其中路由器是实际目的地.

那么有什么区别:

隧道模式通过加密整个数据包的 IP 标头来保护任何内部路由信息。原始数据包由另一组 IP 标头封装。

  • 隧道模式支持 NAT 穿越。
  • 额外的头被添加到数据包中;因此有效载荷 MSS 较少

传输模式加密有效载荷和 ESP 拖车。原始数据包的 IP 标头加密。

  • 传输模式针对客户端到站点的 VPN 场景实施。
  • 传输模式不支持NAT 穿越。
  • MSS更高

传输模式通常与其他隧道协议(GRE、L2TP)一起使用,首先封装IP数据包,然后使用IPsec保护GRE/L2TP隧道包。

编辑:

以下是与微软不同之处的详细阅读: http ://technet.microsoft.com/en-us/library/cc757712%28v=ws.10%29.aspx

为了详细说明 Milen 的答案,如果您没有路由问题,那么无论是 2 个网关相互通信,还是 2 个主机相互通信(不进行 IPsec),传输模式都肯定是可行的。

例如,如果您有 2 个公共 DMZ 服务器通过 Internet 通过 Telnet 相互通信,并且在网络更深处,2 个 IPsec 路由器用于加密该特定流量。在这种情况下,传输模式会很好,因为所有各方的接口上都有公共 IP:

DMZhost-A >> IPSECrouter-A >> INTERNET >> IPSECrouter-B >> DMZhost-B

这允许 ISP 根据 IP 数据包的“下一个标头”数据(显示为 TCP)对数据包进行分类。但是,TCP 端口将隐藏在数据包的加密部分(实际的 TCP 标头)中。

从这个意义上说,数据包很容易受到攻击者分析,因为他至少会知道这是某种 TCP 会话,并且还会拥有 DMZ 服务器的真实 IP。

在 IPSec 传输模式下,仅对 IP 有效负载进行加密,而原始 IP 标头保持不变。它还允许公共网络上的设备查看数据包的最终来源和目的地。借助此能力,您可以在中间网络中根据 IP 标头中的信息启用特殊处理。但是,第 4 层报头将被加密,从而限制了对数据包的检查。不幸的是,通过以明文传递 IP 标头,传输模式允许攻击者执行一些流量分析。

在此处输入图像描述

资料来源:思科

引用这一点后,几乎从来没有这种情况 - 底层有效负载通常是隧道协议(例如,在 Windows 或移动客户端的情况下,L2TP 可能是 GRE),因此在现代网络术语中,存在针对流量分析的“缓解”因素在运输方式。