Apple 设备对 Cisco ASA 造成“陆地攻击”

网络工程 思科 思科 安全
2021-07-05 14:47:06

最近迁移到我们环境中的 Cisco ASA/Sourcefire 实施,并且一直在浏览 ASA 上的日志。查看日志,我注意到多个严重错误不断涌现。该消息是被拒绝的“陆地攻击”。

IP 是从内部发送到 ASA 本身的外部 PAT POOL 地址。这是来自 ASA 的错误消息。以下是错误消息的示例:

06-17-2016 08:01:16 Local4.CriticalX.XXXX%ASA-2-106017:由于从(外部 IP)到(外部 IP)的陆地攻击而拒绝 IP

在进行了一些wireshark之​​后,我们发现每次网络中的Apple设备尝试访问地址时都会发生这种情况:

17.173.254.222

17.173.254.223

17.173.255.222

17.173.255.223

这是一个数据包捕获:(1.1.1.1 = 我们的外部 Nat 地址)

61065 232.862006 10.70.200.188 -> 17.173.254.222 UDP 源端口:58994 目标端口:16384

61066 232.862006 10.70.200.188 -> 17.173.254.222 UDP 源端口:58994 目标端口:16385

61067 232.862006 10.70.200.188 -> 17.173.254.223 UDP 源端口:58994 目标端口:16386

61068 232.862006 10.70.200.188 -> 17.173.254.222 UDP 源端口:49729 目标端口:16384

61069 232.862006 10.70.200.188 -> 17.173.254.222 UDP 源端口:49729 目标端口:16385

61070 232.862006 10.70.200.188 -> 17.173.254.223 UDP 源端口:49729 目标端口:16386

61080 232.901006 10.70.200.188 -> 1.1.1.1 UDP 源端口:58994 目标端口:58994

第 61080 行是触发“陆地攻击”消息的原因,并且在恢复到使用正确的内部本地地址作为源之前重复了大约 5 次。出于某种原因,它的行为就像 Apple 诉诸于使用外部全局地址作为设备的源地址,从而导致土地攻击日志。我们发现它在发生这种情况时使用的端口对于 Apple 的 FaceTime、iMessage、Gamecenter 和 iChat 很常见。通常为 16393 - 16403。

我曾尝试在 ASA 之前在核心交换机的第 3 层接口上添加“ip verify unicast sourcereachable-via rx”,但没有成功。

有没有人见过这个并成功修复它?正在寻找除在发送到 ASA 之前使用核心 ACL 阻止 17.173.xxx.222/3 之外的解决方案。

1个回答

LAND 攻击或某些圈子中的 LAN-D 攻击是一种涉及向主机发送源地址和目标地址与主机 IP 地址匹配的数据包的攻击。

这个想法是,如果 IP 为 5.5.5.5 的主机接收到目的地为 5.5.5.5(自身)和源为 5.5.5.5 的数据包,它将响应数据包,返回自身......可能会创建一个响应循环......有时只是蓝屏崩溃主机的操作系统。

几乎所有现代操作系统都已修补以使这种“攻击”无效,但 Cisco ASA(和许多其他安全产品)仍然​​可以抵御这种类型的“攻击”。也就是说,如果 ASA 看起来是一个具有匹配源地址和目标地址的数据包,它将丢弃它,声称存在潜在的 LAND 攻击。

在您的情况下,您的内部地址10.70.200.0/24被 NAT 转换为公共地址1.1.1.1. 所以可能会发生两件事,这两件事都可能触发 LAND 攻击。

想象一下这个场景:

Host ----- ASA ----- Upstream Router ----- Internet

场景#1:主机发送一个带有 SRC 10.70.200.20 和 DST 1.1.1.1 的数据包。数据包到达 ASA,ASA 应用您的 PAT 规则并将其转换为 SRC 1.1.1.1 DST 1.1.1.1 -- ASA 检测匹配的源/目标并丢弃数据包

场景#2:主机发送一个带有 SRC 10.70.200.20 和 DST 1.1.1.1 的数据包。数据包到达 ASA,ASA 应用您的 PAT 规则并将其转换为 SRC 1.1.1.1 DST 1.1.1.1。数据包被转发到上游路由器。上游路由器在其路由表中有一个条目,告诉它 1.1.1.1 IP 地址存在于您的 ASA 并以这种方式发送它。ASA 收到 DST 为 1.1.1.1 且 SRC 为 1.1.1.1 的数据包——ASA 检测到匹配的源/目标并丢弃数据包

根据我的经验,我看到它主要是#2 在起作用。我不相信(不要引用我的话)ASA 会监视对从较高安全级别到较低安全级别(也就是从内部到外部)的流量的陆地攻击。

我猜这发生在 Apple 设备试图直接相互通信时,它们使用 STUN 或其他一些系统检测彼此的公共 IP 地址,但它们没有意识到它们在同一个内部网络上,所以它们实际上共享相同的公共 IP 地址。

规避,你需要创建一个新的PAT规则,以便当你的内部主机都讲为1.1.1.1,其来源应该是重新写为1.1.1.2(或任何其他比1.1.1.1)。这样 SRC 和 DST 不匹配,并且不会触发 ASA 的 LAND Attack 防御。