基于流的会话
Junos OS 缓存由流的第一个数据包触发的会话信息。缓存会话由同一流的后续数据包使用,并且使用该流模块使用该会话的反向流使用,该模块已集成到转发路径中。
了解 SRX 系列防火墙的会话特征
根据路由和其他分类信息创建会话,以存储信息并为流分配资源。会话具有特征,您可以更改其中一些特征,例如会话何时终止。例如,您可能希望确保会话表永远不会完全满,以防止攻击者试图淹没该表,从而阻止合法用户启动会话。
根据协议和服务,会话使用超时值进行编程。例如,TCP 的默认超时为 1800 秒。UDP 的默认超时为 60 秒。
如果在服务超时之前没有流量使用该会话,则该会话将老化并释放到公共资源池以供重用。您可以通过以下方式影响会话的生存期:
您可以使用以下任一方法指定终止会话的情况:
根据会话表的已满程度使会话老化
为老化的 TCP 会话设置显式超时
将 TCP 会话配置为在收到 TCP RST(重置)消息时失效
将
fin-invalidate-session
语句配置为在任一会话端点向其对等方发送 FIN(ish) 消息时终止会话。当对等方端点收到设置了 FIN 标志的数据包时,它会发送 ACK(nowlege) 消息。通常,使用此方法拆除会话涉及从每个会话传输一对 FIN-ACK 消息。
您可以按如下方式配置会话以容纳其他系统:
禁用 TCP 数据包安全检查
更改最大段大小
了解主动会话老化
会话表是 SRX 系列防火墙的有限资源。如果会话表已满,设备将拒绝任何新会话。
当会话表中的会话数超过指定的高水位线阈值时,主动会话老化机制会加速会话超时过程。此机制可将会话表已满时 SRX 系列防火墙拒绝新会话的可能性降至最低。
配置以下参数以执行主动会话老化:
high-watermark–当会话表中的会话数超过 high-watermark 阈值时,设备会执行积极的会话老化。
low-watermark–当会话表中的会话数降至阈值以下 low-watermark 时,设备会退出积极的会话老化并恢复正常。
early-ageout –在激进会话老化期间,超时时间低于 early-ageout 阈值的会话将被标记为无效。
在 SRX1400、SRX3400、SRX3600、SRX5600 和 SRX5800 设备上,SPU 会检查会话表,找到超时值低于提前老化时间值的会话,然后将其标记为无效。(平台支持取决于安装中的 Junos OS 版本。
示例:控制 SRX 系列防火墙的会话终止
此示例说明如何根据一段时间后老化的情况,或者会话表中的会话数已满或达到指定百分比来终止 SRX 系列防火墙的会话。您可以在会话表中指定超时值或会话数。
要求
在开始之前,请了解终止会话的情况。
概述
在某些情况下,您可以控制会话终止,例如,在收到 TCP FIN 关闭或收到 RST 消息后、遇到 UDP 的 ICMP 错误以及在服务超时之前未收到匹配流量时。当会话终止时,将释放其资源以供其他会话使用。
在此示例中,您将配置以下情况以终止会话:
超时值为 20 秒。
注意:可以为 TCP 会话初始化配置的最小值为 4 秒。默认值为 20 秒;如果需要,可以将 TCP 会话初始化值设置为小于 20 秒。
280 秒的显式超时值,用于更改三次握手期间的 TCP 会话超时。
该命令在 TCP 三次握手期间将会话表中的初始 TCP 会话超时设置为 280。计时器在收到第一个 SYN 数据包时启动,并在三次握手期间随每个数据包重置。完成三次握手后,会话超时将重置为特定应用程序定义的超时。如果计时器在三次握手完成之前过期,则会话将从会话表中删除。
收到 TCP RST(重置)消息的任何会话都将失效。
配置
程序
分步过程
要控制 SRX 系列防火墙的会话终止,请执行以下操作:
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要控制 SRX 系列防火墙的会话终止,请执行以下操作:
指定会话的老化值。
[edit security flow] user@host# set aging early-ageout 20
配置老化值。
[edit security flow] user@host# set tcp-session tcp-initial-timeoout 280
使接收 TCP RST 消息的任何会话无效。
[edit security flow] user@host# set tcp-session rst-invalidate-session
如果完成设备配置,请提交配置。
[edit ] user@host# commit
验证
要验证配置是否正常工作,请输入 show security flow
命令。
SRX 系列服务网关的清除会话
您可以使用命令 clear
终止会话。您可以清除所有会话,包括特定应用程序类型的会话、使用特定目标端口的会话、使用特定接口或端口的会话、使用特定 IP 协议的会话、与源前缀匹配的会话以及资源管理器会话。
终止 SRX 系列服务网关的会话
您可以使用以下命令终止除隧道和资源管理器会话之外的所有会话。命令输出显示已清除的会话数。请注意,此命令将终止发出 clear 命令的管理会话。
user@host> clear security flow session all
终止 SRX 系列服务网关的特定会话
您可以使用以下命令终止您指定的会话 ID 的会话。
user@host> clear security flow session session-identifier 40000381
使用过滤器指定要为 SRX 系列服务网关终止的会话
您可以根据为命令指定的 clear
过滤器参数终止一个或多个会话。下面的示例使用协议作为筛选器。
user@host> clear security flow session protocol 89
配置组播流会话的超时值
您可以通过配置自定义应用程序并将应用程序与策略关联来配置组播流会话的超时值。
组播流会话有一个模板会话以及一个或多个叶会话。由于这些会话链接在一起,因此它们只能有一个超时值。组播流会话的超时值是通过考虑叶会话策略中配置的超时值和 IP 协议超时值来确定的。这些超时值中的最大值被选为组播流会话超时。
如果未配置叶会话超时值,则 IP 协议超时值将自动用作多播流会话的超时值。IP 协议超时是默认值,不可配置。
配置叶会话超时对于数据包间隔长于默认 IP 协议超时的组播流特别有用。例如,数据包间隔超过 60 秒的组播流将出现流会话过早老化和数据包丢弃的情况,UDP 超时值始终为 60 秒。对于此类流,您可以配置更高的叶会话超时值并防止丢包。
要设置叶会话超时值,请配置自定义应用程序并将该应用程序与策略关联: