远程访问问题、固定 L2L 和动态 L2L IPSEC 在 ASA 5540 8.2 上协同工作

网络工程 思科 思科 网络安全
2021-08-01 02:06:12

我在运行 8.2 的 ASA5540 上混合使用远程访问、L2L 和动态 L2L 隧道时遇到问题

这是相关配置的片段:-

crypto dynamic-map outside-crypto-dynamic-map 10 match address outside-crypto-dynamic-map-10
crypto dynamic-map outside-crypto-dynamic-map 10 set transform-set ESP-3DES-MD5
crypto dynamic-map outside-crypto-dynamic-map 20 set transform-set ESP-3DES-MD5
crypto map outside-crypto-map 201 match address outside-crypto-map-201
crypto map outside-crypto-map 201 set peer X.X.X.X
crypto map outside-crypto-map 201 set transform-set ESP-3DES-MD5
crypto map outside-crypto-map 202 match address outside-crypto-map-202
crypto map outside-crypto-map 202 set peer Y.Y.Y.Y
crypto map outside-crypto-map 202 set transform-set ESP-AES256-SHA
crypto map outside-crypto-map 65535 ipsec-isakmp dynamic outside-crypto-dynamic-map
crypto map outside-crypto-map interface outside

我有许多使用动态 IP 的远程站点。这些的 LAN 子网位于 ACL“outside-crypto-dynamic-map-10”中。

这些匹配很好基于这一行:-

crypto dynamic-map outside-crypto-dynamic-map 10 match address outside-crypto-dynamic-map-10

我还有其他“静态”L2L 隧道,它们在上面的配置中按 201 和 202 正常工作。

对于我的远程访问(Cisco VPN Client)用户,除非我有以下行,否则他们将无法连接:-

crypto dynamic-map outside-crypto-dynamic-map 20 set transform-set ESP-3DES-MD5

如果我尝试向该序列添加“匹配地址”语句(如下所示),则远程访问将停止工作(其中“vpc-client-subnet”是一个 ACL,其中包含来自用于远程访问客户端的 IP 池的子网)因为它找不到匹配的本地/远程。

crypto dynamic-map outside-crypto-dynamic-map 20 match address vpc-client-subnet

问题是我有许多 L2L 端点(我不再想要连接但无法控制),它们仍然配置(在远程端)与动态 L2L 对等方使用的 PSK。我已经从“outside-crypto-dynamic-map-10”中删除了他们的 LAN 子网(因为我不想让他们再连接了)所以他们不再匹配动态映射 seq 10,但是他们仍然能够成功完成针对“outside-crypto-dynamic-map 20”的第 2 阶段,似乎这一端只接受远程提议的任何内容作为 SA 的本地/远程。

我无法更改 PSK。我无法向“outside-crypto-dynamic-map 20”添加“匹配地址”,因为它会阻止远程访问客户端连接,但是如果我不这样做,那么它会充当其他对等方的包罗万象否则知道 PSK。

理想情况下,我可以将“匹配地址”添加到 seq 20,以便远程访问用户与其匹配,但“旧”seq 10 对等点不会。或者,当 SA 与没有“匹配地址”语句的映射匹配时,是否有办法阻止 ASA 接受远程对等方对 SA 的本地/远程想法?

编辑:

相关的隧道组配置:-

tunnel-group DefaultL2LGroup ipsec-attributes
 pre-shared-key *****
 peer-id-validate nocheck
 isakmp keepalive threshold 30 retry 5

tunnel-group x.x.x.x type ipsec-l2l
tunnel-group x.x.x.x ipsec-attributes
 pre-shared-key *****
 isakmp keepalive threshold 30 retry 5

tunnel-group ravpn type remote-access
tunnel-group ravpn general-attributes
 address-pool ip-pool-ravpn
 authentication-server-group Edirectory
 default-group-policy ravpn
tunnel-group ravpn ipsec-attributes
 pre-shared-key *****
 isakmp keepalive threshold 30 retry 2

tunnel-group-map default-group DefaultL2LGroup

“静态”隧道有多个隧道组(根据上面的 xxxx 示例)。远程访问用户命中“ravpn”隧道组,动态的都匹配“DefaultL2LGroup”。这些之间的 PSK 并不相同。

3个回答

我建议为所有远程访问用户创建第二个远程访问隧道组。开始一个一个地迁移它们,完成后您可以删除现有的默认 L2L 组,或者您可以更改 PSK。

如果您遇到一些不想更改的用户,您可以强制执行特定的 VPN 客户端版本并通知他们您正在进行重大安全更新。

通常,您的远程 VPN 用户只需要动态加密映射下的几行即可让他们正确连接。像这样的东西:

加密动态映射 DYN_CRY_MAP 65535 设置转换集 ESP-AES-128-SHA

加密映射 OUTSIDE_map 65535 ipsec-isakmp 动态 DYN_CRY_MAP

这是假设您已经指定了适当的匹配转换集。

您的远程用户 VPN 子网不需要在加密映射中指定,因为它们是动态端点。ASA 知道这一点并相应地调整加密表。您的动态 L2L 端点也不需要在加密映射下指定,并且将以相同的方式运行。此外,一个“功能”是上面两行中的最后一行必须应用在加密映射的最后。你已经有了它,但只是想让你知道。

这条线允许阶段 1 从动态 L2L 端点连接:

隧道组 DefaultL2LGroup ipsec 属性

 预共享密钥 *****

 peer-id-validate nocheck

 isakmp 保持连接阈值 30 重试 5

阶段 2 由您的加密映射条目处理。

恐怕最简单和最有效的方法是更改​​ DefaultL2LGroup 隧道组上的 PSK,然后在您仍要连接的所有设备上更改它。由于它们是动态端点,因此您无法真正通过外部接口上的 IP 进行过滤,并且如果它们知道 PSK,则您无法控制它们建立隧道。

如果您有任何问题,请随时提出。

伊恩

@aleks - 如果您知道不再允许使用哪些 L2L 设备,并且您知道它们的私有 IP 范围,那么您是否不能在入站 ACL(应用于 ASA 的外部接口)上拒绝这些私有 IP。这可能不会阻止第 2 阶段的设置,但肯定会不允许流量通过。只是一个想法(我在谷歌搜索另一个问题时遇到了这个问题)。