流处理结果
在策略实时分析中,要确定流是 允许 (Permitted)、转义 (Escaped) 还是拒绝 (Rejected) 状态,我们必须首先从网络角度确定流的处理结果 (Disposition) 情况。根据 Cisco Secure Workload 代理给出的信号和观察结果,每个流将收到 ALLOWED、 DROPPED 或 PENDING 处理结果。根据流路径和流类型的代理配置,存在多种场景。
首先,无论流类型如何,如果流路径上的任何代理报告该流已被 DROPPED,则该流量将收到 DROPPED 处理结果。
当流路径上没有任何代理报告 DROP 时,我们会分别考虑双向流和单向流的情况。观察到双向流时,我们会根据流的源、目标端口和协议以及时间成对查看流(正向和反向)。但不能对单向流执行相同的操作。
对于双向流,如果在两端都安装了代理并启用了数据平面,并且源和目标代理都报告观察到该流,则正向流将收到 ALLOWED 处理结果。否则,正向流将获得 PENDING 处理结果。如果在源或目标工作负载上安装了代理,但未在两者上安装,则当且仅当代理在
60 秒窗口内观察到后续反向流时,正向流才会收到 ALLOWED 处理结果。否则,将为转发流分配 PENDING 状态。双向数据流反向部分的处理结果也遵循同样的逻辑,只是现在的源和目的是相反的。例如,如果只有一方有代理,反向流处理结果是 PENDING
还是 ALLOWED,取决于基于相同逻辑的后续正向流的观察和时间安排。
请注意,我们假设防火墙会实施静默丢弃。如果在同一流上发送拒绝消息(例如,拒绝具有 RST + ACK 的 TCP SYN),则会检测反向流,并将先前的转发流标记为 ALLOWED。但是,如果在其他流上发送拒绝消息(例如,拒绝包含 ICMP 消息的 TCP SYN),则转发流将保持 PENDING 状态。
对于单向流,如果任何代理将流报告为已丢弃(与双向流的情况一样),则该流将被视为已丢弃。但是,由于没有匹配的反向流量,如果两个代理都观察到流量,则该流量的处理结果状态为 PENDING。
违规类型
根据正在分析的策略检查流处理结果,以确定最终的违规类型。
流的违规类型将被
-
允许,如果其处理结果为 ALLOWED 或 PENDING,并且其决定性策略操作为 ALLOW,
-
转义,如果其处理结果为 ALLOWED 且决定性策略操作为 DENY,
-
拒绝,如果其处理结果为 DROPPED 或 PENDING,并且其决定性策略操作为 DENY,
DROPPED 状态只会被分配给其相关代理明确报告其 DROPPED 状态的流。当没有明确的代理丢弃报告时,流将处于 PENDING 状态。
当处理结果为 PENDING 时:
对于双向流,如果流的正向和反向部分的策略违规类型一致,则策略分析或执行分析页面只显示单一类型。否则,将单独显示正向和反向,例如 PERMITTED:REJECTED。
示例场景:
-
数据包在源端执行时被丢弃。
-
数据包离开源。
-
如果源端只有一个代理,而出口代理在 60 秒内也观察到反向数据包,则该流量将被报告为 ALLOWED。
-
如果源端和目标端都有仅可视性代理,则当且仅当入口代理报告流已丢弃时,才会为流提供 DROPPED 处理结果状态。否则,流将报告为 ALLOWED。
-
在目标处接收流数据包,但没有反向流量。在目标收到流数据包,但没有反向流量。
如果没有目标端代理,则流将收到 PENDING 状态。否则,系统将为其分配 ALLOWED 状态。