基于流的会话
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 阈值的会话将被标记为无效。
示例:控制 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 秒)的数据包丢弃。对于此类流,您可以配置更高的叶会话超时值并防止数据包丢弃。
要设置叶会话超时值,请配置自定义应用,并将应用与策略相关联: