配置 IKE
IKE 也称为 ISAKMP,是允许两个主机商定如何建立 IPSec 安全关联的协商协议。要为虚拟专用网络配置 ASA,您可以设置在整个系统范围内应用的全局 IKE 参数,还可以创建对等体通过协商建立 VPN 连接的 IKE 策略。
过程
步骤 1 |
|
步骤 2 |
|
步骤 3 |
配置 IKE 策略。 |
启用 IKE
过程
步骤 1 |
要为 VPN 连接启用 IKE,请执行以下操作:
|
步骤 2 |
要为站点到站点 VPN 启用 IKE,请执行以下操作:
|
站点到站点 VPN 的 IKE 参数
在 ASDM 中,依次选择配置 > 站点间 VPN > 高级 > IKE 参数。
NAT 透明度
-
启用经由 NAT-T 的 IPsec
经由 NAT-T 的 IPsec 允许 IPSec 对等体通过 NAT 设备建立远程访问和 LAN 到 LAN 连接。其方法是使用端口 4500 将 IPsec 流量封装在 UDP 数据报中,从而为 NAT 设备提供端口信息。NAT-T 会自动检测所有 NAT 设备,但只有在必要时封装 IPSec 流量。默认情况下启用此功能。
-
ASA 可同时支持标准 IPsec、经由 TCP 的 IPsec、NAT-T 和经由 UDP 的 IPsec,具体取决于与其交换数据的客户端。
-
同时启用 NAT-T 和经由 UDP 的 IPsec 时,NAT-T 优先。
-
启用时,经由 TCP 的 IPsec 优先于所有其他连接方法。
NAT-T 的 ASA 实施支持单个 NAT/PAT 设备之后的 IPSec 对等体,如下所示:
-
一个 LAN 到 LAN 连接。
-
LAN 到 LAN 连接或多个远程访问客户端,但不是二者的混合。
要使用 NAT-T,请执行以下操作:
-
为用于打开端口 4500 的接口创建 ACL (Configuration > Firewall > Access Rules)。
-
在此窗格中启用经由 NAT-T 的 IPsec。
-
在 Configuration > Site-to-Site VPN > Advanced > IPsec Prefragmentation Policies 窗格中的 Fragmentation Policy 参数上,编辑您将用于启用 IPsec 预分片的接口。配置该项后,可以仍然允许流量通过不支持 IP 分片的 NAT 设备;它们不会阻碍支持分片的 NAT 设备的操作。
-
-
启用经由 TCP 的 IPsec
对于标准 ESP 或 IKE 在其中无法工作,或者仅在修改现有防火墙规则的情况下才能工作的环境,经由 TCP 的 IPsec 使得 VPN 客户端可以在其中进行操作。经由 TCP 的 IPSec 将 IKE 和 IPSec 协议同时封装在 TCP 数据包内,并支持同时穿过 NAT 与 PAT 设备和防火墙的安全隧道。此功能默认为已禁用。
注
此功能不能与基于代理的防火墙配合使用。
IPsec over TCP 可与远程访问客户端配合使用。它可在所有物理和 VLAN 接口上工作。它只是一个客户端到 ASA 功能。它不适用于 LAN 间连接。
-
ASA 可同时支持标准 IPsec、IPsec over TCP、NAT 遍历和 IPsec over UDP,具体取决于与其交换数据的客户端。
-
启用时,经由 TCP 的 IPsec 优先于所有其他连接方法。
您可以同时在 ASA 及其连接的客户端上启用经由 TCP 的 IPsec。
您可以为您指定的最多 10 个端口启用经由 TCP 的 IPsec。如果您输入一个已知端口,例如端口 80 (HTTP) 或端口 443 (HTTPS),系统会显示一条警告,指示与该端口关联的协议将不再工作。其结果是,您无法再使用浏览器通过启用 IKE 的接口管理 ASA。要解决此问题,请将 HTTP/HTTPS 管理重新配置到不同的端口。
您必须在客户端以及 ASA 上配置 TCP 端口。客户端配置必须包含至少一个您为 ASA 设置的端口。
-
发送至对等体的标识
选择对等体将在 IKE 协商期间用于标识自身的 Identity:
Address |
使用交换 ISAKMP 标识信息的主机的 IP 地址。 |
Hostname |
使用交换 ISAKMP 标识信息的主机的完全限定域名(默认)。此名称包含主机名和域名。 |
Key ID |
远程对等体使用您指定的 Key Id String 来查找预共享密钥。 |
Automatic |
按连接类型确定 IKE 协商:
|
会话控制
-
Disable Inbound Aggressive Mode Connections
第 1 阶段 IKE 协商可以使用主模式或攻击性模式。两者提供相同的服务,但是攻击性模式只需要对等体之间的两次交换,而不是三次。攻击性模式速度更快,但是不为通信方提供标识保护。因此在建立于其中加密信息的安全 SA 之前,需要它们交换标识信息。此功能默认为已禁用。
-
Alert Peers Before Disconnecting
-
客户端或 LAN 到 LAN 会话可能出于某些原因丢失,例如:ASA 关闭或重新启动、会话空闲超时、超过最大连接时间或管理员切断。
-
ASA 可以通知合格的对等体(在 LAN 到 LAN 配置中)会话即将断开,并向其传达原因。收到此警报的对等体或客户端会对该原因进行解码,并将其显示在事件日志或弹出窗格中。默认情况下会禁用此功能。
-
您可以通过此窗格启用该功能,以便 ASA 可以发送这些警报,并传达断开的原因。
合格客户端和对等体包括以下项:
-
已启用警报的安全设备。
-
运行 4.0 或更高版本软件的 VPN 客户端(无需进行配置)。
-
-
Wait for All Active Sessions to Voluntarily Terminate Before Rebooting
您可以安排 ASA 仅当所有活动会话都已自行终止后,才重新启动。此功能默认为已禁用。
-
Number of SAs Allowed in Negotiation for IKEv1
限制可以随时协商的 SA 的最大数量。
IKE v2 特定设置
IKE v2 可使用其他会话控制,限制打开的 SA 的数量。默认情况下,ASA 不限制打开的 SA 的数量:
-
“Cookie 质询”- 使得 ASA 可以响应 SA 发起数据包,向对等设备发送 Cookie 质询。
-
“对传入 SA 进行 Cookie 质询前的百分比阈值”- ASA 允许协商的 SA 总数量的百分比,超过该百分比后,对于任何未来的 SA 协商,都会触发 Cookie 质询。范围为 0 到 100%。默认为 50%。
-
-
Number of Allowed SAs in Negotiation - 限制可以随时协商的 SA 的最大数量。如果与 Cookie Challenge 配合使用,可以配置低于此限制的 Cookie 质询阈值,以便实现有效的交叉检查。
-
“允许的最大 SA 数”- 限制 ASA 上允许的 IKEv2 连接的数量。默认情况下,限制是许可证指定的最大连接数。
-
Notify Invalid Selector - 当 SA 上接收的入站数据包与该 SA 的流量选择器不匹配时,允许管理员启用或禁用向对等体发送 IKE 通知。发送此通知默认为已禁用。
使用 IKE v2 特定设置防止 DoS 攻击
您可以配置 Cookie Challenge(这会质询传入安全关联 (SA) 的标识),或者限制打开的 SA 的数量,从而防止对于 IPsec IKEv2 连接的拒绝服务 (DoS) 攻击。默认情况下,ASA 不会限制打开的 SA 的数量,也从不对 SA 进行 Cookie 质询。您还可以限制允许的 SA 的数量,这可以停止来自协商的更多连接,从而防御 Cookie 质询功能无法抵御的内存和/或 CPU 攻击,并且保护当前的连接。
在 DoS 攻击中,当对等设备发送 SA 发起数据包并且 ASA 发送其响应但对等设备不再响应时,攻击者发起 DoS 攻击。如果对等设备持续这样做,ASA 上所有允许的 SA 请求会用尽,直到其停止响应。
启用 Cookie 质询的阈值百分比可以限制打开的 SA 协商的数量。例如,使用默认设置 50%,当 50% 的允许 SA 处于协商(打开)状态时,ASA 会对到达的任何其他 SA 发起数据包进行 Cookie 质询。
如果与Number of SAs Allowed in Negotiation 或“允许的最大 SA 数”配合使用,可以配置低于这些限制的 Cookie 质询阈值,以便实现有效的交叉检查。
您还可以通过依次选择 Configuration > Site-to-Site VPN > Advanced > System Options,在 IPsec 层次上限制所有 SA 的生存期。
关于 IKEv2 多对等体加密映射
从 9.14(1) 版本开始,ASA IKEv2 支持多对等体加密映射 - 当隧道中的对等体关闭时,IKEv2 尝试与列表中的下一个对等体建立隧道。最多可以使用 10 个对等体地址来配置加密映射。IKEv2 上的这种多对等体支持非常有用,特别是从具有多对等体加密映射的 IKEv1 迁移时。
IKEv2 仅支持双向加密映射。因此,在双向加密映射上也配置了多个对等体,并使用相同的方法接受来自发起隧道的对等体的请求。
IKEv2 发起方行为
IKEv2 发起与对等体(例如 Peer1)的会话。如果对等体 1 无法访问 5 次 SA_INIT 重传,则会发送最终重传。此活动大约需要 2 分钟。
当 Peer1 发生故障时,SA_INIT 消息会被发送到 Peer2。如果 Peer2 也无法访问,则在 2 分钟后发起与 Peer3 的会话。
在加密映射的对等体列表中的所有对等体都用尽后,IKEv2 会再次从 Peer1 发起会话,直到与任何对等体建立 SA。下图描述了该行为。
注 |
发起 IKE SA 需要持续的流量,以便每次失败尝试都会移动到下一个对等体,并最终由某个可访问的对等体建立 SA。在流量中断的情况下需要手动触发,以便启动与下一个对等体的 IKE SA。 |
IKEv2 响应方行为
如果在加密映射中为 IKE SA 的响应方设备配置了多个对等体,则每次尝试 IKE SA 时,都会使用加密映射中的当前活动对等体的地址来验证发起方 IKE SA 的地址。
例如,如果加密映射中的当前活动对等体(用作响应方)是第一个对等体,则会从 Peer1 IP 地址发起 IKE SA。同样,如果加密映射中的当前活动对等体(用作响应方)是第二个对等体,则会从 Peer2 IP 地址发起 IKE SA。
注 |
IKEv2 多对等体拓扑的响应方侧不支持对等体遍历。 |
加密映射更改时重置对等体索引
对加密映射所做的任何更改都会将对等体索引重置为零,并且隧道启动将从列表中的第一个对等体开始。下表提供了特定条件下的多对等体索引转换:
SA 之前的条件 |
对等体索引已移动 是/否/重置 |
---|---|
对等体无法访问 |
是 |
第 1 阶段提议不匹配 |
是 |
第 2 阶段提议不匹配 |
是 |
未收到 DPD 确认 |
是 |
身份验证阶段的流量选择器不匹配 |
是 |
身份验证失败 |
是 |
由于对等体无法访问,密钥更新失败 |
重置 |
SA 后的条件 |
对等体索引已移动 是/否/重置 |
---|---|
由于提议不匹配,密钥更新失败 |
重置 |
重新生成密钥期间流量选择器不匹配 |
重置 |
加密映射修改 |
重置 |
HA 切换 |
否 |
清除加密 IKEv2 SA |
重置 |
清除 ipsec sa |
重置 |
IKEv2 SA 超时 |
重置 |
IKEv2 多对等体的准则
IKEv1 和 IKEv2 协议
如果加密映射同时配置了 IKE 版本和多个对等体,则在移动到下一个对等体之前,将在两个版本的每个对等体上进行 SA 尝试。
例如,如果加密映射配置了两个对等体(例如 P1 和 P2),则会使用 IKEv2 向 P1 发起隧道,使用 IKEv1 向 P1 发起隧道,使用 IKEv2 向 P2 发起隧道,以此类推。
高可用性
具有多个对等体的加密映射会启动通往 HA 中的响应方设备的隧道。当第一台设备无法访问时,它就会移至下一台响应方设备。
发起方设备发起到响应方设备的隧道。如果主用设备发生故障,备用设备会尝试从 Peer1 IP 地址建立隧道,而不管主用设备上的 Peer2 IP 地址的加密映射如何。
集中式集群
具有多个对等体的加密映射可以启动通往集中式集群部署中的响应方设备的隧道。如果第一台设备无法访问,它会尝试移至下一台响应方设备。
发起方设备发起到响应方设备的隧道。如果无法访问 Peer1,那么集群中的每个节点都会移动到下一个 Peer2。
分布式集群
如果配置了 IKEv2 多对等体加密映射,则不支持分布式集群。
多情景模式
在多情景模式下,多对等体行为将特定于每个情景。
调试命令
如果隧道建立失败,请启用这些命令以对问题作进一步分析。
-
debug crypto ikev2 platform 255
-
debug crypto ikev2 protocol 255
-
debug crypto ike-common 255
Sep 13 10:08:58 [IKE COMMON DEBUG]Failed to initiate ikev2 SA with peer 192.168.2.2,
initiate to next peer 192.168.2.3 configured in the multiple peer list of the crypto map.
IKE 策略
Configuration > Site-to-Site VPN > Advanced > IKE Policies
使用该窗格可通过 Add 添加、通过 Edit 编辑或通过 Delete 删除 IKEv1 和 IKEv2 策略。
要设置 IKE 协商条款,您可以创建一个或多个 IKE 策略,包括以下内容:
-
唯一优先级(1 至 65543,其中 1 为最高优先级)。
-
身份验证方法,用于确保对等体的身份。
-
加密方法,用于保护数据并确保隐私。
-
HMAC 方法,用于确保发送方身份,以及确保消息在传输过程中未被修改。
-
Diffie-Hellman 群,用于确立 encryption-key-determination 算法的强度。ASA 使用此算法派生加密密钥和散列密钥。
-
ASA 在更换加密密钥前可使用该加密密钥的时长限制。
每个 IKE 协商分为两个部分,分别称为第 1 阶段和第 2 阶段。第 1 阶段创建第一条隧道,用于保护后来的 IKE 协商消息。第 2 阶段创建用于保护数据的隧道。
对于 IKEv1,您只能为一个参数启用一个设置。对于 IKEv2,每个提议对于加密、D-H 群、完整性哈希和 PRF 哈希可具有多个设置。
如果您未配置任何 IKE 策略,ASA 会使用默认策略,默认策略始终会被设为最低优先级,它包含有每个参数的默认值。如果您没有为特定参数指定值,则默认值生效。
当 IKE 协商开始时,发起协商的对等体将其所有策略发送到远程对等体,然后远程对等体按优先级顺序搜索其自己的策略的匹配项。
如果 IKE 策略具有相同的加密、哈希、身份验证和 Diffie-Hellman 值,而且 SA 生存期小于或等于发送的策略中的生存期,则它们之间存在匹配。如果生存期不同,则会应用较短的生存期(来自远程对等体)。如果不存在匹配,IKE 将拒绝协商,并且不会建立 IKE SA。
字段
-
IKEv1 Policies - 显示每个配置的 IKE 策略的参数设置。
-
Priority # - 显示此策略的优先级。
-
Encryption - 显示加密方法。
-
Hash - 显示散列算法。
-
D-H Group - 显示 Diffie-Hellman 群。
-
Authentication - 显示身份验证方式。
-
Lifetime (secs) - 显示以秒为单位的 SA 生存期。
-
-
IKEv2 Policies - 显示每个配置的 IKEv2 策略的参数设置。
-
Priority # - 显示此策略的优先级。
-
Encryption - 显示加密方法。
-
Integrity Hash - 显示散列算法。
-
PRF Hash - 显示伪随机功能 (PRF) 散列算法。
-
D-H Group - 显示 Diffie-Hellman 群。
-
Lifetime (secs) - 显示以秒为单位的 SA 生存期。
-
添加或编辑 IKEv1 策略
Configuration > Site-to-Site VPN > Advanced > IKE Policies > Add/Edit IKE Policy
Priority # - 键入一个数值,以便设置 IKE 策略的优先级。取值范围为 1 至 65535,其中 1 为最高优先级。
Encryption - 选择一个加密方法。这是保护在两个 IPSec 对等体之间传输的数据的对称加密方法。选项如下:
des |
56 位 DES-CBC。安全性较低,但速度比备选提议快。默认值。 |
3des |
168 位三重 DES。 |
aes |
128 位 AES。 |
aes-192 |
192 位 AES。 |
aes-256 |
256 位 AES。 |
Hash - 选择确保数据完整性的散列算法。它可以确保数据包来自您认为的发送方,并且在传输过程中未被修改。
sha |
SHA-1 |
默认值为 SHA-1。MD5 的摘要较小,被认为速度比 SHA-1 稍快。已发生过针对 MD5 的成功(但非常困难)攻击;然而,IKE 使用的 HMAC 变体可防止此类攻击。 |
md5 |
MD5 |
“身份验证”- 选择 ASA 用于建立每个 IPSec 对等体标识的身份验证方法。对于增长型网络,预共享密钥不能很好地进行扩展,但是在小型网络中更容易设置。选项如下:
pre-share |
预共享密钥。 |
rsa-sig |
使用 RSA 签名算法生成的带密钥的数字证书。 |
D-H Group - 选择 Diffie-Hellman 群标识符,两个 IPsec 对等体会在不相互传输该标识符的情况下,使用该标识符来派生共享机密。
1 |
群 1(768 位) |
群 2(1024 位 Diffie - Hellman)执行所需的 CPU 时间较少,但安全性要低于群 1 或 5。 |
2 |
群 2(1024 位) |
|
5 |
群 5(1536 位) |
|
14 |
组 14(2048 位) |
默认 Diffie-Hellman 组为 Group 14(2048 位 Diffie-Hellman) |
Lifetime (secs) - 为 SA 生存期选择 Unlimited 或输入一个整数。默认值为 86400 秒或 24 小时。生命期越长,ASA 设置未来 IPsec 安全关联的速度就越慢。加密强度大到足以确保安全性,无需使用非常快的再生密钥时间(大约每隔几分钟再生一次)。建议接受默认值。
Time Measure - 选择时间度量值。ASA 接受以下值:
120 - 86,400 秒 |
2 - 1440 分钟 |
1 - 24 小时 |
1 天 |
添加或编辑 IKEv2 策略
Configuration > Site-to-Site VPN > Advanced > IKE Policies > Add/Edit IKEv2 Policy
Priority # - 键入一个数值,以便设置 IKEv2 策略的优先级。取值范围为 1 至 65535,其中 1 为最高优先级。
Encryption - 选择一个加密方法。这是保护在两个 IPSec 对等体之间传输的数据的对称加密方法。选项如下:
des |
为 ESP 指定 56 位 DES-CBC 加密。 |
3des |
(默认)为 ESP 指定三重 DES 加密算法。 |
aes |
为 ESP 指定带有 128 位密钥加密的 AES。 |
aes-192 |
为 ESP 指定带有 192 位密钥加密的 AES。 |
aes-256 |
为 ESP 指定带有 256 位密钥加密的 AES。 |
aes-gcm |
指定 AES-GCM/GMAC 128 位支持,以确保对称加密和完整性。 |
aes-gcm-192 |
指定 AES-GCM/GMAC 192 位支持,以确保对称加密和完整性。 |
aes-gcm-256 |
指定 AES-GCM/GMAC 256 位支持,以确保对称加密和完整性。 |
NULL |
表示不加密。 |
D-H Group - 选择 Diffie-Hellman 群标识符,两个 IPsec 对等体会在不相互传输该标识符的情况下,使用该标识符来派生共享机密。
1 |
群 1(768 位) |
默认情况下,群 2(1024 位 Diffie - Hellman)执行所需的 CPU 时间较少,但安全性要低于群 2 或 5。 |
2 |
群 2(1024 位) |
|
5 |
群 5(1536 位) |
|
14 |
群 14 |
|
19 |
群 19 |
|
20 |
群 20 |
|
21 |
群 21 |
|
24 |
群 24 |
Integrity Hash - 选择确保 ESP 协议的数据完整性的散列算法。它可以确保数据包来自您认为的发送方,并且在传输过程中未被修改。
sha |
SHA 1 |
默认值为 SHA 1。MD5 的摘要较小,被认为速度比 SHA-1 稍快。已发生过针对 MD5 的成功(但非常困难)攻击;然而,IKE 使用的 HMAC 变体可防止此类攻击。 |
md5 |
MD5 |
|
sha256 |
SHA 2,256 位摘要 |
指定具有 256 位摘要的安全散列算法 SHA 2。 |
sha384 |
SHA 2, 384-bit digest |
指定具有 384 位摘要的安全散列算法 SHA 2。 |
sha512 |
SHA 2, 512-bit digest |
指定具有 512 位摘要的安全散列算法 SHA 2。 |
null |
表示将 AES-GCM 或 AES-GMAC 配置为加密算法。如果 AES-GCM 已被配置为加密算法,对于完整性算法您必须选择 null。 |
Pseudo-Random Function (PRF) - 对于在 SA 中使用的所有加密算法,指定用于构建密钥内容的 PRF。
sha |
SHA-1 |
默认值为 SHA-1。MD5 的摘要较小,被认为速度比 SHA-1 稍快。已发生过针对 MD5 的成功(但非常困难)攻击;然而,IKE 使用的 HMAC 变体可防止此类攻击。 |
md5 |
MD5 |
|
sha256 |
SHA 2,256 位摘要 |
指定具有 256 位摘要的安全散列算法 SHA 2。 |
sha384 |
SHA 2,384 位摘要 |
指定具有 384 位摘要的安全散列算法 SHA 2。 |
sha512 |
SHA 2,512 位摘要 |
指定具有 512 位摘要的安全散列算法 SHA 2。 |
Lifetime (secs) - 为 SA 生存期选择 Unlimited 或输入一个整数。默认值为 86400 秒或 24 小时。生命期越长,ASA 设置未来 IPsec 安全关联的速度就越快。加密强度大到足以确保安全性,无需使用非常快的再生密钥时间(大约每隔几分钟再生一次)。建议接受默认值。
ASA 接受以下值:
120 - 86,400 秒 |
2 - 1440 分钟 |
1 - 24 小时 |
1 天 |