Hillstone-HCSP之路:StoneOS 功能特性

HCSP之路:StoneOS 功能特性

1 Deny Session功能

Deny Session的工作原理如下:配置Deny Session功能后,系统会为由于某些原因本不能建立会话的数据包建立Deny Session,之后,当与已建立的Deny Session具有相同五元组的数据包进入设备后,会直接与相应的Deny Session相匹配,系统进而会丢弃这些数据包。

系统可以在以下情况下建立Deny Session:

  • 未能通过AD(二层和三层IP地址欺骗攻击防护)检查。
  • 未能找到匹配的策略规则。
  • 未能找到匹配的转发或者逆向路由。
  • 到设备本身的数据包被拒绝时。
  • 当超出会话限制时。

在以下情况下,Deny Session将会被删除:

  • Deny Session自行老化。建立的Deny Session不能够更新,因此一段时间以后会自行老化进而被删除。用户可以指定该老化时间。
  • 如果系统允许Deny Session的逆向流量建立正常会话,相应的Deny Session将会被删除。

1.1 配置Deny Session

# Flow配置模式下
deny-session deny-type {all | ad | policy | route | self | session-limit}

1.2 指定最大Deny Session数

# Flow配置模式下
deny-session percentage number
  • number:指定Deny Session数占系统最大Session数的百分比。范围是0到10。0表示关闭Deny Ses-sion功能。默认值是2,即默认最多可建立占总会话数2%的Deny Session。

1.3 指定Deny Session超时时间

# Flow配置模式下
deny-session timeout time
  • time:指定超时时间,单位为秒。取值范围为1到3秒。默认为3秒。

1.4 Deny Session检查命令

# 显示Deny Session配置信息
show flow deny-session

# 显示Deny Session信息
show session deny

2 TCP首包检查,TCP SYN包检查

开启后,在建立TCP连接时,设备将对收到的数据包进行检查,默认关闭

  • 当收到的包为TCP SYN包时,建立TCP连接。
  • 当收到的包为TCP非SYN包时,按照指定动作对数据包进行处理。
tcp-syn-bit-check {drop | reset}

3 IP包数据处理选项

3.1 配置MSS值

MSS为TCP数据包每次能够传输的最大数据分段。

tcp-mss {all | tunnel} size
  • all:为所有TCP SYN包指定MSS值。
  • tunnel :为IPsec VPN /SSL VPN/GRE/L2TP 等隧道的TCP SYN包指定MSS值。
  • size: 指定TCP SYN包的MSS值。范围是64到65535。所有TCP SYN/ACK包的默认MSS值为1448,IPSec VPN的TCP SYN/ACK包默认MSS值为1380。

3.2 TCP序列号检查

该功能检查TCP序列号,如果TCP序列号超出TCP窗口,该TCP包将会被丢弃。默认开启。

# 关闭
tcp-seq-check-disable

3.3 TCP三次握手超时时间检查

tcp-syn-check [timeout-value]
  • timeout-value:指定三次握手的超时时间,单位为秒。范围是1到1800秒。默认值是20秒。

3.4 TCP连接终止老化时间配置

在TCP连接终止的过程中,支持配置老化时间的状态有以下几种:

  • ESTABLISHED状态
  • FIN_WAIT_1状态
  • FIN_WAIT_2状态
  • TIME_WAIT状态
# 配置ESTABLISHED状态的老化时间
tcp-establish-check [timeout-value]
  • timeout-value: 指定TCP连接处于ESTABLISHED状态的老化时间,单位为秒。TCP三次握手建立后,进入ESTABLISHED状态,如果没有数据传输,TCP连接使用该状态的老化时间。取值范围是1到1800秒。默认值是300秒。
# 配置FIN_WAIT_1状态的老化时间
tcp-fin-wait-1-check [timeout-value]

# 配置FIN_WAIT_2状态的老化时间
tcp-fin-wait-2-check [timeout-value]
  • timeout-value:指定TCP 连接处于FIN_WAIT_1/2状态的老化时间,单位为秒。范围是1到1800秒。默认值是120秒。
# 配置TIME_WAIT状态的老化时间
tcp-time-wait-check [timeout-value]
  • timeout-value:指定TCP连接处于TIME_WAIT状态的老化时间,单位为秒。范围是1到1800秒。默认值是5秒。

3.5 IP分片包处理

可以配置系统允许的每个IP包的最大分片数(超过该分片数值的IP数据包将会被丢弃)以及分片重组的超时时间(如果在指定的超时时间结束时设备仍未收到所有的分片包,数据包将会被丢弃)。

# 配置系统允许的每个IP的最大分片数
fragment chain number
  • number:指定系统允许的每个IP包的最大分片数,默认值为48。取值范围是1到1024。
# 配置分片重组超时时间
fragment timeout time
  • time:指定分片重组超时时间,默认值为2秒。取值范围是1到60秒。

3.6 丢弃SYN包功能

该功能开启后,可避免TCP会话在延迟删除期间匹配并转发SYN包,导致会话删除后新的数据报文无法匹配会话而出现丢包的现象。默认关闭

# 启用
tcp-out-of-state-syn-drop

# 查看TCP会话延迟删除期间丢弃SYN包功能的启用状态
show flow tcp-out-of-state-syn-drop

3.7 巨帧报文(Jumbo Frame)转发

默认关闭。开启该功能后,对小于等于9216字节的报文,系统可以进行如下转发处理:

  • 对于小于出接口MTU值的IPv4/IPv6报文,直接转发;
  • 对于大于出接口MTU值的IPv4报文,分片转发;
  • 对于大于出接口MTU值的IPv6报文,向发送报文的源节点发送“ICMPv6 Packet Too Big”错误信息,并促使发送端缩短报文的长度。
jumbo-frame-transceiver {enable | disable}

# 查看巨帧报文转发功能的启用状态,在接口配置模式下
show flow jumbo_frame_transceiver
  • 注意: 开启巨帧报文转发功能后,接口的MTU值配置范围会发生改变。

4 会话信息

4.1 显示会话信息

show session [generic | h323]
  • generic:显示会话概要信息。
  • h323:显示H323会话信息。

4.2 清除会话信息

clear session [h323] [id number [end-id]] [src-ip A.B.C.D [netmask | wildcard]] [dst-ip A.B.C.D [netmask | wild-card]] [protocol protocol-number][src-port port-number [port-number]] [dst-port port-number [port-number]][vrouter vrouter-name] [vsys vsys-name] [cpucpu-number] [slotslot-number] [ipv4] [ipv6] [detail]
  • h323:清除H323会话信息。
  • id number [end-id]:清除指定ID或一段ID的会话信息。

4.3 延迟删除会话信息

默认开启且延迟删除时间为2秒钟。

tcp-session-close-wait [timeout-value]

# 查看延迟删除会话信息功能启用状态
show flow tcp-session-close-wait
  • timeout-value:指定会话信息的延迟删除时间,单位为秒。
  • 禁用该功能后,在收到FIN/RST报文后,设备会立即删除会话信息。

5 应用识别

5.1 应用识别Bypass功能

配置应用识别bypass功能后,设备以一定的概率对新建的会话只做服务识别和缓存表识别,而不做进一步的深度识别,来控制应用识别功能对设备CPU的利用,从而不会影响到其他功能模块。默认禁用。

# 启用/禁用应用识别Bypass功能
app-ident-bypass {enable | disable}

# 配置CPU利用率范围
app-ident-bypass-threshold start_value end_value
  • start_value:配置CPU利用率范围的最低利用率。取值范围是0至100,默认值是60,单位是%。
  • end_value:配置CPU利用率范围的最高利用率。取值范围是0至100,默认值是80,单位是%。

5.2 应用识别缓存表

应用识别缓存表存储应用信息,用以为应用识别以及策略路由功能提供支持。系统支持动态应用识别缓存表以及静态应用识别缓存表。默认启用。

  • 动态应用识别缓存表:存储系统通过动态学习获得的应用信息(动态识别结果信息)。
  • 静态应用识别缓存表:存储静态应用信息。该缓存表包含在应用特征库中。
# 禁用/启用动态应用识别缓存表
禁用:app cache disable
启用:no app cache disable

# 禁用/启用静态应用识别缓存表
禁用:app cache static disable
启用:no app cache static disable

# 清除动态应用识别缓存表中的所有条目
clear app cache table

# 清除静态应用识别缓存表中的所有条目
clear app cache table static

# 查看应用识别缓存表信息
show app cache status

指定动态应用识别缓存表应用方式

app cache {cache-strict | response-check | pbr-check-strict}
  • cache-strict:适用于源NAT场景(内网客户端通过NAT设备访问外网服务器)。在源NAT环境下,配置该参数可有效避免应用误识别。该选项默认为禁用状态。
  • response-check:当系统有可能遭受到单方向数据包攻击时,为保证应用识别的准确性,建议开启该选项。该选项默认为禁用状态。
  • pbr-check-strict:指定策略路由的应用识别方式。默认情况下,即使系统已经通过动态应用识别缓存表识别出策略路由中的应用,仍要继续执行动态识别,并根据最终识别结果按照策略路由选路。配置该参数后,系统通过动态应用识别缓存表识别出应用后不再执行动态识别,直接根据识别结果按照策略路由选路。
posted @ 2023-06-29 09:57  f_carey  阅读(431)  评论(0编辑  收藏  举报