VPN 基础知识
借助隧道,可以使用互联网等公共 TCP/IP 网络在远程用户与企业专用网络之间创建安全连接。每个安全连接都称为一个隧道。
基于 IPSec 的 VPN 技术通过互联网安全关联和密钥管理协议(ISAKMP 或 IKE)以及 IPSec 隧道标准来建立和管理隧道。ISAKMP 和 IPSec 将完成以下操作:
-
协商隧道参数。
-
建立隧道。
-
验证用户和数据。
-
管理安全密钥。
-
加密和解密数据。
-
管理隧道中的数据传输。
-
作为隧道终端或路由器管理入站和出站数据传输。
VPN 中的设备可用作双向隧道终端。它可以从专用网络接收明文数据包,将其封装,创建隧道,然后发送到隧道的另一端,随后解封并发送到最终目的地。它也会从公用网络接收封装数据包,将其解封,然后发送给其在专用网络上的最终目的地。
建立站点间 VPN 连接之后,本地网关后的主机可通过安全 VPN 隧道连接至远程网关后的主机。一个连接由以下部分组成:这两个网关的 IP 地址和主机名、这两个网关后的子网,以及这两个网关用来进行相互身份验证的方法。
互联网密钥交换 (IKE)
互联网密钥交换 (IKE) 是用于对 IPsec 对等体进行身份验证,协商和分发 IPsec 加密密钥以及自动建立 IPsec 安全关联 (SA) 的密钥管理协议。
IKE 协商包含两个阶段。第 1 阶段协商两个 IKE 对等体之间的安全关联,使对等体能够在第 2 阶段中安全通信。在第 2 阶段协商期间,IKE 为其他应用建立 SA,例如 IPsec。两个阶段在协商连接时均使用方案。
IKE 策略是一组算法,供两个对等体用于保护它们之间的 IKE 协商。在各对等体商定公共(共享)IKE 策略后,即开始 IKE 协商。此策略声明哪些安全参数保护后续 IKE 协商。 对于 IKE 版本 1 (IKEv1),IKE 策略包含单个算法集和模数组。与 IKEv1 不同,在 IKEv2 策略中,您可以选择多个算法和模数组,对等体可以在第 1 阶段协商期间从中进行选择。可创建单个 IKE 策略,尽管您可能需要不同的策略来向最需要的选项赋予更高优先级。对于站点间 VPN,您可以创建单个 IKE 策略。
要定义 IKE 策略,请指定:
-
唯一优先级(1 至 65,543,其中 1 为最高优先级)。
-
一种 IKE 协商加密方法,用于保护数据并确保隐私。
-
散列消息身份验证代码 (HMAC) 方法(在 IKEv2 中称为完整性算法),用于确保发送人身份,以及确保消息在传输过程中未被修改。
-
对于 IKEv2,使用单独的伪随机函数 (PRF) 作为派生 IKEv2 隧道加密所要求的密钥内容和散列运算的算法。这些选项与用于散列算法的选项相同。
-
Diffie-Hellman 群,用于确定 encryption-key-determination 算法的强度。设备使用此算法派生加密密钥和散列密钥。
-
身份验证方法,用于确保对等体的身份。
-
在更换加密密钥前,设备可使用该加密密钥的时间限制。
当 IKE 协商开始时,发起协商的对等体将其启用的所有策略发送到远程对等体,然后远程对等体按优先级顺序搜索其自己的策略的匹配项。如果 IKE 策略具有相同的加密、散列(完整性和用于 IKEv2 的 PRF)、身份验证和 Diffie-Hellman 值,而且 SA 生命周期小于或等于发送的策略中的生命周期,则它们之间存在匹配。如果生命周期不同,则会应用较短的生命周期(来自远程对等体)。默认情况下,使用 DES 的简单 IKE 策略是唯一启用的策略。您可以启用更高优先级的其他 IKE 策略来协商更强的加密标准,但 DES 策略应确保成功协商。
VPN 连接应具有多高的安全性?
由于 VPN 隧道通常流经公共网络(最可能是互联网),因此您需要对连接进行加密以保护流量。可以使用 IKE 策略和 IPsec 提议定义要应用的加密和其他安全技术。
如果您的设备许可证允许应用较强的加密,则有大量的加密和散列算法以及 Diffie-Hellman 组供您选择。然而,通常情况下,应用于隧道的加密越强,系统性能越差。您要在安全性和性能之间实现平衡,在提供充分保护的同时不牺牲效率。
我们无法就选择哪些选项提供具体指导。如果您在大型公司或其他组织执行运营,可能已有需要满足的指定标准。如果没有,请花些时间研究各个选项。
下面的主题介绍了几个可用选项。
决定使用哪个加密算法
在决定用于 IKE 策略或 IPsec 提议的加密算法时,您的选择仅限于 VPN 中的设备所支持的算法。
对于 IKEv2,您可以配置多个加密算法。系统将按安全性从高到低的顺序对设置进行排序,并使用该顺序与对等体进行协商。对于 IKEv1,仅可以选择一个选项。
对于 IPsec 提议,该算法用于封装安全协议 (ESP),该协议提供身份验证、加密和防重放服务。ESP 为 IP 协议类型 50。在 IKEv1 IPsec 提议中,算法名称以 ESP- 为前缀。
如果设备许可证符合强加密要求,可以从以下加密算法中选择。如果不符合强加密要求,则只能选择 DES。
-
AES-GCM - (仅 IKEv2。)Galois/Counter 模式中的高级加密标准是提供机密性和数据源身份验证的分组加密操作模式,并且提供比 AES 更高的安全性。AES-GCM 提供三种不同的密钥强度:128 位、192 位和 256 位密钥。密钥越长,其提供的安全性就越高,但性能会随之降低。GCM 是支持 NSA Suite B 所需的 AES 模式。NSA Suite B 是一套加密算法,设备必须支持这套算法才能满足密码强度的联邦标准。.
-
AES-GMAC -(仅 IKEv2 IPsec 提议。)高级加密标准 Galois 消息身份验证代码是仅提供数据源身份验证的分组加密操作模式。它是 AES-GCM 的一个变体,允许在不加密数据的情况下进行数据身份验证。AES-GMAC 提供三种不同的密钥强度:128 位、192 位和 256 位密钥。
-
AES - 高级加密标准是一种对称密码算法,提供比 DES 更高的安全性,在计算上比 3DES 更高效。AES 提供三种不同的密钥强度:128 位、192 位和 256 位密钥。密钥越长,其提供的安全性就越高,但性能会随之降低。
-
3DES - 三重 DES,使用 56 位密钥加密三次,比 DES 更加安全,因其使用不同密钥对每个数据块处理三次。不过,此算法比 DES 使用的系统资源更多且速度更慢。
-
DES - 数据加密标准,使用 56 位密钥进行加密,是一种对称密钥块算法。如果您的许可证账户不符合导出控制要求,这将是您唯一的选择。此算法比 3DES 快且使用的系统资源更少,但安全性也较低。如果不需要很强的数据保密性,并且系统资源或速度存在问题,请选择 DES。
-
空 - 空加密算法提供不加密的身份验证。这通常仅用于测试目的。
决定使用哪些散列算法
在 IKE 策略中,散列算法创建消息摘要,用于确保消息的完整性。在 IKEv2 中,散列算法分成两个选项,一个用于完整性算法,一个用于伪随机函数 (PRF)。
在 IPsec 提议中,散列算法由封装安全协议 (ESP) 用于身份验证。在 IKEv2 IPsec 提议中,这称为完整性散列。在 IKEv1 IPsec 提议中,算法名称以 ESP- 为前缀,并且还有 -HMAC 后缀(代表“散列方法身份验证代码”)。
对于 IKEv2,您可以配置多个散列算法。系统将按安全性从高到低的顺序对设置进行排序,并使用该顺序与对等体进行协商。对于 IKEv1,仅可以选择一个选项。
您可以选择以下散列算法:
-
SHA (安全散列算法)- 生成 160 位摘要的标准 SHA (SHA1)。SHA 抗暴力攻击的能力高于 MD5。但是,它也会比 MD5 占用更多的资源。对于需要最高级别安全性的实施,请使用 SHA 散列算法。
以下 SHA-2 选项更加安全,可用于 IKEv2 配置。如果要实施 NSA Suite B 加密规范,请选择以下选项之一。
-
SHA256 - 指定具有 256 位摘要的安全散列算法 SHA 2。
-
SHA384 - 指定具有 384 位摘要的安全散列算法 SHA 2。
-
SHA512 - 指定具有 512 位摘要的安全散列算法 SHA 2。
-
-
MD5(消息摘要 5)- 生成 128 位的摘要。MD5 能使用更少的处理时间实现比 SHA 更快的整体性能,但 MD5 被认为安全性低于 SHA。
-
空或无(NULL、ESP-NONE) -(仅限 IPsec 提议。)空散列算法;这通常仅用于测试目的。但是,如果选择 AES-GCM/GMAC 选项之一作为加密算法,则应选择空完整性算法。即使选择非空选项,这些加密标准也会忽略完整性散列。
决定要使用的 Diffie-Hellman 模数组
您可以使用以下 Diffie-Hellman 密钥导出算法生成 IPsec 安全关联 (SA) 密钥。每组具有不同的长度模数。模数越大,安全性越高,但需要的处理时间更长。两个对等体上必须具有一个匹配的模数组。
如果选择 AES 加密,要支持 AES 所需的大型密钥长度,应使用 Diffie-Hellman (DH) 组 5 或更高组。IKEv1 策略不支持下面列出的所有组。
要实施 NSA Suite B 加密规范,请使用 IKEv2 并选择椭圆曲线 Diffie-Hellman (ECDH) 的一个选项:19、20 或 21。使用 2048 位模数的椭圆曲线选项和组较少遭受 Logjam 等攻击。
对于 IKEv2,您可以配置多个组。系统将按安全性从高到低的顺序对设置进行排序,并使用该顺序与对等体进行协商。对于 IKEv1,仅可以选择一个选项。
-
1 - Diffie-Hellman 组 1:768 位模数。DH 组 1 被视为不安全,请不要使用。
-
2 - Diffie-Hellman 组 2:1024 位模幂算法 (MODP) 组。此选项不再是一种良好的保护措施。
-
5 - Diffie-Hellman 组 5:1536 位 MODP 组。曾经被认为可以良好地保护 128 位密钥,如今却不再是一种良好的保护措施。
-
14 - Diffie-Hellman 组 14:2048 位模幂算法 (MODP) 组。被认为可以良好地保护 192 位密钥。
-
19 - Diffie-Hellman 组 19:美国国家标准与技术研究所 (NIST) 256 位椭圆曲线取素数 (ECP) 组。
-
20 - Diffie-Hellman 组 20: NIST 384 位 ECP 组。
-
21 - Diffie-Hellman 组 21: NIST 521 位 ECP 组。
-
24 - Diffie-Hellman 组 24:带 256 位素数阶子组的 2048 位 MODP 组。我们不再建议采用此选项。
VPN 拓扑
使用 Firepower 设备管理器仅尽可以配置点对点 VPN 连接。虽然所有连接都是点对点的,但您可以通过定义设备参与的每个隧道,链接到更大的中心辐射型或网状 VPN。
下图显示了典型的点对点 VPN 拓扑。在点对点 VPN 拓扑中,两个终端彼此直接通信。将两个终端配置为对等设备,任一台设备均可启动安全连接。