10.48. 配置规则

配置规则是指当匹配成功时,会改变Suricata针对某个流、事务、数据包或其他单元的配置的规则。

示例:

config dns any any -> any any (dns.query; content:"suricata"; config: logging disable, type tx, scope tx; sid:1;)

这个示例会检测DNS查询是否包含字符串 suricata ,如果包含则禁用该DNS事务的日志记录。这意味着对于这个DNS事务,将不会生成/触发 eve.json 记录以及Lua输出。

示例:

config tcp:pre_flow any any <> any 666 (config: tracking disable, type flow, scope packet; sid:1;)

这个示例会跳过任何来自或去往TCP端口666的数据包的流追踪。

10.48.1. 关键字

config 规则关键字提供了配置变更的设置及其作用范围。

语法:

config:<子系统> <动作>, type <类型>, scope <作用域>;

子系统 可以设置为:

  • logging 设置影响日志记录。

  • tracking 设置影响追踪。

类型 可以设置为:

  • tx 子系统的子类型。如果 子系统 设置为 logging ,将 类型 设置为 tx 表示影响事务日志记录。

  • flow 子系统的子类型。如果 子系统 设置为 flow ,将 类型 设置为 flow 表示禁用流追踪。

作用域 可以设置为:

  • tx 设置影响匹配的事务。

  • packet 设置影响匹配的数据包。

当前 <子系统> 中的 动作 仅限于 disable

10.48.2. 动作

配置规则可以使用 config 规则动作,但不是必须的。当规则匹配时, config 规则动作不会生成警报,但规则动作仍会生效。这等同于 alert ... (noalert; ...)