帕洛阿尔托网络防火墙会话概述
Resolution
概述
在帕洛阿尔托网络防火墙上, 会话由由6元组密钥唯一标识的两个单向流定义: 源地址、目标地址、源端口、目标端口、协议和安全区域。
除了标识会话的六属性之外, 每个会话还有几个显著的标识符:
- 终端主机-将被标记为客户端 (源 ip) 和服务器 (目标 ip) 的源 ip 和目标 ip
- 流方向-由于每个会话都由两个单向流标识, 因此必须正确识别每个流。帕洛阿尔托网络防火墙将识别第一个流作为客户端到服务器 (c2s) 和返回流作为服务器到客户端 (s2c)。
显示会话命令
要查看与会话相关的任何信息, 用户可以使用 >> show 会话命令后跟所需的选项:
- >> 显示会话所有将显示在输入命令时由防火墙处理的所有当前会话.
注意: 在可以用>> show 会话所有命令 显示的会话数中有一个限制. 该限制基于无法更改的会话的字节大小。
有关详细信息, 请参阅以下文档: 是否可以导出整个会话日志? - >> 显示会话 id [id]将显示基于输入的会话 id 的会话的详细信息
- >> 显示会话信息将显示有关会话管理及其当前统计信息的防火墙的常规配置
- >> 显示会话指示器将显示具有多个虚拟系统功能的防火墙上每个 VSYS 的最大会话数
下面是 >> show 会话 id命令的输出示例:
在下面的截图中, 确定会话的一些重要细节:
- 会话 id -在示例中, 会话 id 为 524342
- c2s 流和s2c 流-标识从客户端到服务器 (c2s) 以及从服务器到客户端 (s2c) 的通信流.
- 与区域的源和dst (目标) 地址-标识会话的每个流的源和 dst 地址. 在上面的示例中, 由于动态 ip 和端口源 NAT, s2c 流中的 dst ip 与 c2s 流中的源 ip 不匹配。
- 源 (运动) 和目标端口 (dport)-标识会话的每个流的源和目标端口. 在该示例中, 由于配置的 NAT 策略, c2s 和 s2c 流显示不同的端口。
- src 用户和dst 用户-如果在防火墙上配置了用户 ID, 则将标识用户 (如果可用).
- 状态-会话状态. 以下部分定义了这些状态。
- 类型-有2种类型的会话:流和预测. 以下部分定义了会话类型。
会话类型、状态和标志
在帕洛阿尔托网络防火墙有两种类型的会话:
- 流规则类型的会话, 其中 c2s 和 s2c 之间的流是相同的 (ex. HTTP, Telnet, SSH)。
- 预测-此类型应用于在需要 Layer7 应用程序层网关 (ALG) 时创建的会话. 已确定应用程序, 并且需要在防火墙上允许新的会话, 而无需任何附加的安全规则 (ex。FTP 主动/被动, 语音协议 h323/sip 等)。这些会话可能是以0作为源/目标 IP/端口创建的, 因为该信息可能尚未知道。与预测会话匹配的数据包将更改为正常流会话。
为了对防火墙上的预测 (PRED) 会话有一个粒状视图, 请使用>> show 会话所有筛选器类型预测命令. 该命令将只显示当前在防火墙上处于活动状态的预测会话。此命令可能不会在防火墙上显示许多预测会话, 原因是每个预测会话一旦与单个数据包匹配, 就会变成流会话。因此, 该命令将仅显示当前待定的预测会话, 以便由数据包匹配。
注意:每个应用程序的预测会话都有自己的超时设置.
下面的示例是为 FTP 活动模式创建的预测会话的输出:
上面的截图显示两个方向的数据包数为 0, 并且预测会话已由客户端触发。
每个会话在任何给定时间都处于某一状态。有三个状态 (称为稳定状态) 将在会话表中显示得最清楚:
- init -默认情况下, 每个会话都在 init 状态下开始. INIT 状态中的会话是空闲池的一部分, 可以随时使用。会话可能以前使用过, 但现在已返回到空闲池中。
- 活动-与特定通信流匹配的任何会话, 并已处理以进行检查和转发.
- 丢弃-由于安全策略、威胁检测而被会话匹配但被拒绝的通信.
帕洛阿尔托网络防火墙中的会话的其他状态为: 打开、关闭、关闭和释放。这些状态称为瞬态. 瞬态状态下的会话很难看到, 因为它们快速地向一个稳定状态过渡。
在正常情况下, 每个状态都将经历以下过渡周期: 初始化 >> 打开 > 活动 > 放弃/关闭关闭 > 免费。从自由状态, 会话将移回初始会话状态 (INIT) 以启动下一个周期。以下状态转换表示会话生命周期:
生命周期中最重要的状态是活动状态。从活动状态, 会话将根据以下条件转换为丢弃或关闭状态:
- 如果已达到会话超时, 会话将超时并过渡到关闭。下一节将介绍会话超时。
- 如果由于安全规则或检测到威胁而导致通信量被拒绝 (操作设置为 "删除"), 会话将转换为丢弃。
在 >> 显示会话的输出中,所有的会话都可以由标志值标识. 每个会话标志值的含义如下所述:
- NS -已在会话中应用了源 NAT
- 已在 会话中应用了目标 NAT
- NB-已在会话中应用了源 + 目标 NAT
- 没有标志-在会话上没有应用 NAT.
会话超时
每个会话都有一个定义的超时值, 该值可在设备上进行配置。通过查看 >> show 会话 id命令的输出, 可以观察到有关会话计时器的一些详细信息。下面的截图显示了通过防火墙的 DNS 会话的输出:
三有关会话超时的重要详细信息:
- 超时-为应用程序配置的特定超时.
- 时间-离开的时间, 直到会话将过期. 在该示例中, 还剩下2秒, 直到会话过期, 会话状态也会发生变化。
- 会话中的会话在每个会话中都有一个流, 这是一个老化过程, 它跟踪会话的生存期. 只要会话是活动的, 并且生存时间不到0秒,会话中的会话将被标记为True.
在下面的示例中, 查看同一个会话的输出, 但现在会话超时 (由于没有匹配会话的通信量):
现在, 请参阅会话状态已关闭, 并且会话中的会话已变为False.
HA 部署中的会话管理
在使用高可用性的部署中, 某些未在本地防火墙上创建但对等设备上的活动会话必须在对等方之间进行同步。在对等方之间进行这些会话同步时, 如果出现故障, 活动会话将不会丢失, 并且通信流将继续在另一个设备上 (在主动/被动部署情况下处于活动状态)。有关涉及 ha 的部署方案的详细信息, 请参阅 ha 部分的管理指南。
用户可以通过查看从HA 对等点同步到 "显示会话 id" 输出 的会话, 来判断是否在本地防火墙上创建了会话。在防火墙上本地创建的会话将具有False值, 并且在对等设备上创建并同步到本地防火墙时将具有真正的值.
附加信息
>> show 会话 id命令显示有关通过防火墙的通信流的其他信息. 虽然更多的信息是由帕洛阿尔托网络支持代表进行高级故障诊断, 但这里有三属性可能对自诊断非常有用:
- 会话将在末尾记录-当配置安全规则时, 有2个用于规则日志记录的选项: 在会话的末尾 (True) 或开始 (False).
在本例中 (请参阅上面的截图), 配置已指定应在末尾记录该规则。 - 卸载 yes -标记已标识应用程序的通信量, 并将在硬件中进行处理.
- Layer7 处理-如果启用, 则在通信流上启用了应用程序 ID, 并且不断识别应用程序. 如果 Layer7 处理设置为 "完成", 则该应用程序已被识别。
请参见
文档 中的泛 OS 管理指南和 CLI 参考指南
所有者: aciobanu