如何缓解“tcp_drop_out_of_wnd”全局计数器的异常增加
21551
Created On 11/16/23 17:41 PM - Last Modified 06/12/24 14:49 PM
Objective
缓解全局计数器tcp_drop_out_of_wnd异常增加。
计数器说明:
当丢弃在TCP滑动窗口之外接收的TCP数据包时,此计数器tcp_drop_out_of_wnd递增。
帕洛阿尔托网络防火墙将创建与原始的 ACK (窗口大小基于通信类型的会话内) 开始滑动序列窗口。 它预计在当前会话内的数据包序列号驻留在此滑动窗口内。 此窗口调整型的交通,每当收到新的 ACK 消息。 设备上的默认行为是当序列号超出此窗口时丢弃数据包。
Environment
- 下一代防火墙
- tcp_drop_out_of_wnd
Procedure
- 检查防火墙当前的 TCP 设置:
> show running tcp state session with asymmetric path : drop packet Bypass if OO queue limit is reached : no Favor new seg data : no Urgent data : clear Drop if zero after clear urgent flag : yes Check Timestamp option : yes Allow Challenge Ack : no Remove MPTCP option : yes
- 识别受这些 TCP 丢弃影响的流量至关重要。 如果可能,请使用流量分析工具或参考网络用户报告的与此全局计数器增加的时间戳相吻合的最近流量问题。 在成功识别的情况下,在防火墙上对该流量的样本执行 数据包捕获将大大有助于针对此问题实施适当的永久修复。
- 可以应用临时解决方法来缓解该问题:
- 如果受影响流量的源区域未知或覆盖所有网络,则以下全局设置将禁用防火墙数据平面流量的 TCP 健全性检查:
> configure # set device config setting tcp asymmetric-path bypass # commit
- 如果受影响流量的源区域已知,则可以配置区域保护配置文件,以允许来自一个或多个特定区域的此类流量,同时仍对连接到防火墙的所有其他区域执行 TCP 健全性检查:
- 在“网络”中创建区域保护配置文件 > “区域保护”>“网络配置文件”
- 将 Zone Protection > TCP Drop > Reject Non-SYN TCP 设置为 no
- 将“TCP 丢弃>非对称路径>区域保护”设置为绕过
- 将此配置文件分配给区域以禁用对其的 TCP 检查。
- 如果受影响流量的源区域未知或覆盖所有网络,则以下全局设置将禁用防火墙数据平面流量的 TCP 健全性检查:
非常重要: 请注意,禁用这些 TCP 健全性检查可能会产生严重的安全隐患,因为攻击者可能会注入通常会丢弃的数据包。 建议仅设置这些命令,以便对这些数据包丢弃的原因进行故障排除,或者在解决问题时暂时绕过检查,但不能作为永久解决方案。
- 如果在查看步骤 2 中的数据包捕获后,确定计数到全局计数器 tcp_drop_out_of_wnd 的丢弃数据包是由于:
- TCP 窗口相关问题:然后通过适当调整窗口大小、确保网络上设备之间的兼容性以及优化其他 TCP 参数来实现更好的性能和可靠性来解决此问题。
- 然后,非对称路由请参阅 DotW:非对称路由问题。
- 防火墙的意外行为,因为丢弃的 TCP 数据包在 TCP 滑动窗口大小内具有序列号,然后调查以下问题和相应的修复是否适用于特定流量用例:
- 防火墙在服务器的质询 ACK 后从客户端删除 RST 有关问题和修复的详细信息,请参阅 KB2 。
- PAN-216314: (仅限 PA-3200 系列防火墙)修复了以下问题:在升级到 PAN-OS 10.1.9 或 PAN-OS 10.1.9-h1 或从 PAN-OS 10.1.9 或 PAN-OS 10.1.9-h1 升级后,卸载的应用程序流量会话断开连接,即使会话处于活动状态也是如此。 这是由于超出了应用程序默认会话超时值。 请参阅 KB1 以获取有关该问题和包含修复程序的版本的详细信息。
- 防火墙会丢弃长时间 TCP 会话的 TCP FIN 或 RST 数据包,并将其标记为窗口外 TCP 数据包,即使 ACK 编号在窗口内也是如此。 此问题已在 11.1.0 中修复。 有关此问题以及修复的其他版本的详细信息,请联系 Palo Alto Networks 支持并提及 PAN-223080。