18-会话管理配置
本章节下载 (227.47 KB)
目 录
会话管理是为了实现NAT、ASPF、攻击检测及防范等基于会话进行处理的业务而抽象出来的公共功能。此功能把传输层报文之间的交互关系抽象为会话,并根据发起方或响应方的报文信息对会话进行状态更新和超时老化。
会话管理支持多个业务特性分别对同一个业务报文进行处理,实现的主要功能包括:
· 报文到会话的快速匹配;
· 传输层协议状态的管理;
· 报文应用层协议类型的识别;
· 支持会话按照协议状态或应用层协议类型进行老化;
· 支持指定会话维持永久连接;
· 会话的传输层协议报文校验和检查;
· 为需要进行端口协商的应用层协议提供特殊的报文匹配;
· 支持对ICMP差错控制报文的解析以及根据解析结果进行会话的匹配。
会话管理主要基于传输层协议对报文进行检测。其实质是通过检测传输层协议信息(即通用TCP协议和UDP协议)来对连接的状态进行跟踪,并对所有连接的状态信息进行统一维护和管理。
在实际应用中,会话管理配合ASPF特性,可实现根据连接状态信息动态地决定数据包是否被允许通过防火墙进入内部区域,以便阻止恶意的入侵。
需要注意的是,会话管理作为公共功能,只能实现连接跟踪,并不能阻止潜在的攻击报文通过。
目前会话管理在设备上实现的具体功能如下:
· 支持TCP、UDP、ICMP、Raw IP等报文的会话创建、会话状态更新以及根据协议状态设置超时时间。
· 支持应用层协议的端口映射,允许为应用层协议自定义对应的非通用端口号,同时可以根据应用层协议设置不同会话超时时间。
· 支持TCP、UDP、ICMP报文的校验和检查。在校验和检查失败的情况下,不进行会话的匹配或创建,而是由基于会话管理的其他业务来处理。
· 支持ICMP差错报文的映射,可以根据ICMP差错报文的内层报文查找原始的会话。另外,由于差错报文都是某主机出错后产生的,因而可以加速该原始会话的超时老化。
· 支持设置长连接会话,保证指定的会话在一段较长的时间内不会被老化。
· 支持应用层协议(如FTP等协议)的控制通道和动态数据通道的会话管理。
· 支持对基于会话的连接数目进行限制。相关介绍及配置请参见“安全配置指导”中的“连接限制”。
会话管理可支持的配置包括:协议状态会话超时时间、应用层协议会话超时时间、使能会话校验和检查、长连接会话及删除会话、会话日志。这些配置可根据实际应用需求选择进行,配置无先后,相互不关联。
· 此会话超时时间只对正在建立过程中的会话有效。
· 如果会话所属的应用层协议支持会话超时时间的配置,则该会话处于READY/ESTABLISH状态时,会话的超时时间就为对应的应用层协议会话超时时间,具体配置请参见“1.2.2 配置应用层协议会话超时时间”。
已经建立的会话表项如果在一定时间内未被任何报文匹配,则会由于超时而被系统自动删除。以下配置用于实现根据会话所处协议状态来设置会话表项的超时时间。
表1-1 配置各协议状态的会话超时时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置各协议状态的会话超时时间 |
session aging-time { accelerate | fin | icmp-closed | icmp-open | rawip-open | rawip-ready | syn | tcp-est | udp-open | udp-ready } time-value |
必选 缺省情况下,各协议状态的会话超时时间为: · accelerate:10秒 · fin:30秒 · icmp-closed:30秒 · icmp-open:60秒 · rawip-open:30秒 · rawip-ready:60秒 · syn:30秒 · tcp-est:3600秒 · udp-open:30秒 · udp-ready:60秒 |
当会话数目过多时(大于80万条),建议不要将协议状态超时时间设置得过短。否则会造成控制台响应速度过慢。
此会话超时时间只对已经建立并处于READY/ESTABLISH状态的会话有效。
对于处于已建立状态的会话(TCP握手建立连接成功或UDP进入READY状态),用户可以根据会话所属的应用层协议类型设置超时时间。
表1-2 配置应用层协议会话超时时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置应用层协议的会话超时时间 |
application aging-time { dns | ftp | msn | qq | sip } time-value |
必选 缺省情况下,各应用层协议的会话超时时间为: · DNS协议的会话超时时间为60秒 · FTP协议的会话超时时间为3600秒 · MSN协议的会话超时时间为3600秒 · QQ协议的会话超时时间为60秒 · SIP协议的会话超时时间为300秒 |
· 当会话数目过多时(大于80万条),建议不要将应用层协议会话的超时时间设置得过短。否则会造成控制台响应速度过慢。
· 建议配置的FTP协议会话超时时间不要小于FTP报文的保活间隔时间。
对于不支持攻击检测和攻击防御的设备,设备很容易遭受到针对会话资源的攻击,会话资源被挤占后,设备将无法支持正常的转发业务(如:NAT)处理。
会话超时提前功能可以解决设备因被攻击而导致的会话资源被挤占的问题。
配置会话超时提前功能之后,当会话数比例(即当前建立的会话数和会话总规格数的比例)超过阈值高门限时,会话超时将会提前,当会话数比例等于或者低于阈值低门限时,会话超时时间将恢复到由命令application aging-time或者session aging-time所设置的正常值。
表1-3 配置会话超时提前
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置会话超时时间缩短的长度 |
session early-ageout shorten-time threshold-high threshold-high-value threshold-low threshold-low-value |
必选 缺省情况下,没有设置缩短会话超时时间的长度 |
通过限制会话连接数的最大值,可以限制会话表的创建,从而减少会话管理模块在设备运行时对其它模块内存的挤占。
表1-4 配置会话连接数最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置会话连接数最大值 |
非IFR模式: session max-entries max-entries slot slot-number IRF模式: session max-entries max-entries chassis chassis-number slot slot-number |
必选 缺省情况下,会话连接数最大值因产品型号板卡不同而有所差异,具体请参见产品规格。 实际配置时,会话连接数的最大值不能够超过设备或者单板的会话连接数规格 |
为保证对会话的连接跟踪不被校验和发生错误的报文所干扰,可以使能对协议报文的校验和检查功能。此功能可以确保会话管理只处理校验和正确的报文,而校验和错误的报文由基于会话管理的其它业务来处理。
表1-5 配置使能校验和检查
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
配置使能校验和检查 |
session checksum { all | { icmp | tcp | udp } * } |
必选 缺省情况下,不进行校验和检查 |
启用此功能后可能会导致设备处理性能下降,请慎用。
用户可以根据需要将一些符合给定特征的会话设置为长连接会话,长连接会话的老化时间不会随着状态的变迁而更改,同时也不会由于没有报文命中而被删除。长连接会话可以设置比普通会话更长的老化时间,或者设置成永不老化。被设置成永不老化的长连接会话,只有当会话的发起方或响应方主动发起关闭连接请求或管理员手动删除该会话时,才会被删除。
需要根据长连接会话特征配置基本或高级ACL(Access Control List,访问控制列表),满足该ACL规则的会话为长连接会话。
基本或高级访问控制列表的具体配置请参见“ACL和QoS配置指导”中的“ACL”。
表1-6 配置长连接会话规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置长连接会话规则 |
session persist acl acl-number [ aging-time [ seconds ] time-value ] |
必选 缺省情况下,无长连接会话规则 该功能仅支持配置IPv4基本和高级ACL。 |
一个长连接会话规则只能引用一个ACL。
通过以下配置可以手动删除会话。
表1-7 删除会话
操作 |
命令 |
说明 |
删除会话 |
非IRF模式: reset session [ slot slot-number ] [ source-ip source-ip ] [ destination-ip destination-ip ] [ protocol-type { icmp | raw-ip | tcp | udp } ] [ source-port source-port ] [ destination-port destination-port ] [ vpn-instance vpn-instance-name ] IRF模式: reset session [ chassis chassis-number slot slot-number ] [ source-ip source-ip ] [ destination-ip destination-ip ] [ protocol-type { icmp | raw-ip | tcp | udp } ] [ source-port source-port ] [ destination-port destination-port ] [ vpn-instance vpn-instance-name ] |
必选 此命令在用户视图下执行 |
VLAN接口上不支持使能会话日志功能。
会话日志是为满足网络管理员安全审计的需要,对用户的访问信息、用户IP地址的转换信息、用户的网络流量信息等进行的记录,并可采用Flow日志的格式发送给日志服务器主机或者输出到信息中心。
表1-8 使能会话日志功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能会话日志功能 |
session log enable [ acl acl-number ] { inbound | outbound } |
必选 缺省情况下,会话日志功能处于关闭状态 该功能仅支持配置IPv4基本和高级ACL。 |
存活时间或收发数目达到一定阈值的会话才会以日志的形式进行记录并输出,该阈值包括以下两种类型:
· 时间阈值:当一个会话存在的时间达到设定的时间阈值时,输出会话日志。
· 流量阈值:分为报文数阈值和字节数阈值两种。当一个会话收发的报文数或字节数达到设定的流量阈值时,输出会话日志。
表1-9 配置会话日志阈值
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置输出会话日志的时间阈值 |
session log time-active time-value |
可选 缺省情况下,时间阈值为0,表示不依据时间阈值发送会话日志 |
|
配置输出会话日志的流量阈值 |
配置报文数流量阈值 |
session log packets-active packets-value |
可选 缺省情况下,报文数流量阈值为0,表示不依据报文数流量阈值发送会话日志 |
配置字节数流量阈值 |
session log bytes-active bytes-value |
可选 缺省情况下,字节数流量阈值为0,表示不依据字节数流量阈值发送会话日志 |
· 同时配置了时间阈值和流量阈值的情况下,只要有一个阈值首先到达,就会输出相应的会话日志,并将会话的所有统计信息清零。
· 同时仅有一种流量阈值有效,以最后一次配置的阈值类型为准,例如,先配置报文数阈值再配置字节数阈值,则当前有效的阈值是字节数阈值,只会输出达到字节数阈值的会话日志。
会话日志采用Flow日志的形式输出,下面为具体的配置。关于Flow日志各项功能的具体介绍请参见“网络管理和监控配置指导”中的“Flow日志”,此处不做详细描述。
表1-10 配置会话日志的输出
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Flow日志版本信息 |
userlog flow export version version-number |
可选 缺省情况下,Flow日志报文的版本号为1.0 |
设置承载Flow日志的UDP报文的源IP地址 |
userlog flow export source-ip ip-address |
可选 缺省情况下,承载Flow日志的UDP报文的源IP地址为发送该报文的接口的IP地址 |
设置Flow日志服务器的IP地址和UDP端口号 |
非IRF模式: userlog flow export slot slot-number [ vpn-instance vpn-instance-name ] host ip-address udp-port IRF模式: userlog flow export chassis chassis-number slot slot-number [ vpn-instance vpn-instance-name ] host ipv4-address udp-port |
必选 缺省情况下,没有配置Flow日志服务器的IP地址和UDP端口号 |
配置Flow日志输出到信息中心 |
userlog flow syslog |
可选 缺省情况下,Flow日志输出到Flow日志服务器 |
以上Flow日志的相关命令请参见“网络管理和监控命令参考”中的“Flow日志”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后会话的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除会话统计信息。
表1-11 会话管理显示和维护
操作 |
命令 |
显示应用层协议的会话超时时间 |
display application aging-time [ | { begin | exclude | include } regular-expression ] |
显示各协议状态的会话超时时间 |
display session aging-time [ | { begin | exclude | include } regular-expression ] |
显示硬件中的会话个数(非IRF模式) |
display session hardware slot slot-number [ | { begin | exclude | include } regular-expression ] |
显示硬件中的会话个数(IRF模式) |
display session hardware chassis chassis-number slot slot-number [ | { begin | exclude | include } regular-expression ] |
显示会话表的信息(非IRF模式) |
display session table [ slot slot-number ] [ source-ip source-ip ] [ destination-ip destination-ip ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
显示会话表的信息(IRF模式) |
display session table [ chassis chassis-number slot slot-number ] [ source-ip source-ip ] [ destination-ip destination-ip ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
显示会话统计信息(非IRF模式) |
display session statistics [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示会话统计信息(IRF模式) |
display session statistics [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示会话关联表信息(非IRF模式) |
display session relation-table [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示会话关联表信息(IRF模式) |
display session relation-table [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
查看日志的配置和统计信息(非IRF模式) |
display userlog export slot slot-number [ | { begin | exclude | include } regular-expression ] |
查看日志的配置和统计信息(IRF模式) |
display userlog export chassis chassis-number slot slot-number [ | { begin | exclude | include } regular-expression ] |
清除会话表(非IRF模式) |
reset session [ slot slot-number ] [ source-ip source-ip ] [ destination-ip destination-ip ] [ protocol-type { icmp | raw-ip | tcp | udp } ] [ source-port source-port ] [ destination-port destination-port ] [ vpn-instance vpn-instance-name ] |
清除会话表(IRF模式) |
reset session [ chassis chassis-number slot slot-number ] [ source-ip source-ip ] [ destination-ip destination-ip ] [ protocol-type { icmp | raw-ip | tcp | udp } ] [ source-port source-port ] [ destination-port destination-port ] [ vpn-instance vpn-instance-name ] |
清除会话统计信息(非IRF模式) |
reset session statistics [ slot slot-number ] |
清除会话统计信息(IRF模式) |
reset session statistics [ chassis chassis-number slot slot-number ] |
清除设备缓存区中的Flow日志(非IRF模式) |
reset userlog flow logbuffer slot slot-number |
清除设备缓存区中的Flow日志(IRF模式) |
reset userlog flow logbuffer chassis chassis-number slot slot-number |
· reset userlog flow logbuffer命令的具体介绍请参见“网络管理和监控命令参考”中的“Flow日志”。
· display session hardware命令仅支持查看SPE-FWM-200、SPE-IPS-200、SPE-ACG-200和FIP600线卡上的会话个数。
· display session statistics和display session table命令无法查看SPE-FWM-200、SPE-IPS-200、SPE-ACG-200和FIP600线卡上的会话统计和会话表信息。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!