大多数网络工程师都熟悉我们所描述的 TCP 3 路握手, 如下所示:
3路握手 |
1。 a-B 合成
2。 一个<-- B SYN/ACK b=""></-- B SYN/ACK>
3。 a-B ACK
|
简而言之: TCP 会话通常从向服务器发送同步数据包 (SYN) 的客户端开始。 作为响应, 服务器将 SYN/ACK 发送回客户端。完成3路握手的第三步和最后一个步骤是客户端向服务器发送最终 ACK。
也就是说, 更少的人知道其他有效的构建 TCP 连接的方法, 称为拆分握手和同时打开握手。下表说明了它们的行为方式:
4路拆分握手 | 4路拆分握手 | 同时打开 | 5路拆分握手 |
1。 a-B 合成
2。 一个<-- B ACK b=""></-- B ACK>
3。 一个<-- B SYN b=""></-- B SYN>
4。 a-B ACK
| 1。 a-B 合成
2。 一个<-- B SYN b=""></-- B SYN>
3。 B。
4。 一个<-- B ACK b=""></-- B ACK>
| 1。 a-B 合成
2。 一个<-- B SYN b=""></-- B SYN>
3。 B。
4。 一个<-- B SYN/ACK b=""></-- B SYN/ACK>
| 1。 a-B 合成
2。 一个<-- B ACK b=""></-- B ACK>
3。 一个<-- B SYN b=""></-- B SYN>
4。 B。
5。 一个<-- B ACK b=""></-- B ACK>
|
当有效的 tcp 握手时, 它们会混淆某些网络安全设备, 从而无法正确处理 tcp 流。
只是为了让事情清楚: 注意, 帕洛阿尔托网络下一代防火墙正确处理分裂握手和同时开放会话和所有7层进程使用这种握手!
通过添加此功能, 我们添加了在区域保护配置文件中简单地除去 TCP 拆分握手 (服务器 SYN) 的可能性。 如果在区域上启用此设置, 则会丢弃来自服务器的任何 SYN 数据包。这将阻止使用上面显示的4或5方式握手的任何一个完整的握手。
请注意, 默认情况下不启用此设置!
希望防止 non-3-way TCP 握手行为的客户可以在区域保护配置文件中启用此设置, 并将其分配给所需的区域。
此功能是用 PAN OS 7.0 添加的。 如果从较低的 PAN OS 版本升级, 默认情况下将不启用该设置。 如果您从 PAN OS 7.0 降级, 则该选项将被简单地删除。
启用此功能很容易。 只需检查 "拆分握手" 复选框网络 > 网络配置文件 > 区域保护 > 基于数据包的攻击保护并选择 " TCP 删除" 选项卡:
拆分握手
不要忘记将此区域保护配置文件分配给所需的区域, 否则此配置将不会执行任何任务。
对于全景图, 该选项在设备模板中可用, 如下面的截图所示。 还请注意, 如果将其推送到较早的 PAN OS 版本, 则会删除该选项。
全景设备模板
有2个全局计数器可以验证以解决 TCP 拆分握手:
- tcp_split_handshake: 这个计数器会检测到一个分裂的握手. 请注意, 此计数器也可在较旧的 PAN OS 版本中使用。它只检测到 TCP 拆分握手。
- flow_dos_pf_tcpsplithandshake: 这是一个实际的放置计数器, 它是在 PAN OS 7.0 中添加的. 因此, 您需要先启用该功能, 然后才能看到这一特性。
如果不知道如何使用全局计数器, 可以阅读以下文章:
如何对疑难解答-使用-通过 CLI 的计数器
全局计数器的重要意义
此外, 如果已启用该功能, 将其配置为区域, 并且使用此功能丢弃了数据包, 则下面的 CLI 命令将显示:
>> 显示区域保护区域 lab-200
---------------------------------------------------------
有保护配置文件的区域数: 1
---------------------------------------------------------
区 lan-200, vsys vsys1,配置文件保护-
---------------------------------------------------------
IPv (4/6) 筛选器:
tcp 拒绝-非 syn: 已启用: 是, (全局), 数据包已丢弃: 0
IPv4 数据包筛选器:
丢弃-tcp 拆分-握手: 已启用: 是, 数据包丢弃: 0
IPv6 数据包筛选器:
干杯!
-金