Cisco Cisco Firepower Management Center 2000 User Guide

Page of 1826
 
36-84
FireSIGHT 系统用户指南
  
 36       了解和编写入侵规则       
  了解规则中的关键字和参数
使用 
flowbits
 关键字时,请注意:
  •
使用 
setx
 运算符时,指定的状态只能属于指定的组,而不能属于任何其他组。
  •
可以多次定义 
setx
 操作符,每次用一个实例指定不同的状态和同一个组。
  •
如果使用 
setx
 运算符并指定了某个组,则不能对该指定的组使用 
set
toggle
 或 
unset
 运算符。
  •
isset
 和 
isnotset
 运算符会对指定状态进行评定,无论该状态是否在组中。
  •
保存入侵策略、重新应用入侵策略以及应用访问控制策略时 (不管访问控制策略是引用一个入
侵策略还是多个入侵策略),如果您启用包含未指定组的 
isset
 或 
isnotset
 运算符的一个规
则,而且您不会为对应的状态名称和协议启用至少一个会影响 
flowbits
 分配的规则 (
set
setx
set
toggle
),那么,将会启用会影响对应状态名称的 
flowbits
 分配的所有规则。
  •
保存入侵策略、重新应用入侵策略以及应用访问控制策略时 (不管访问控制策略是引用一个
入侵策略还是多个入侵策略),如果您启用包含已指定组的 
isset
 或 
isnotset
 运算符的一个
规则,系统还将会启用会影响 
flowbits
 分配 (
set
setx
unset
toggle
)且定义对应组名
称的所有规则。
使用 state_name  flowbits 示例
以 Bugtraq ID #1110 中所述的 IMAP 漏洞为例。该漏洞存在于 IMAP 的实现中,尤其是在 LIST、
LSUB、 RENAME、 FIND 和 COPY 命令中。但是,要想利用该漏洞,攻击者必须登录到 IMAP 
服务器。由于来自 IMAP 服务器的登录确认及紧随着而来的漏洞必定存在于不同的数据包中,因
此,难以构建非基于流量的规则来捕获该漏洞。使用 
flowbits
 关键字可以构建一系列规则来追踪
用户是否登录到 IMAP 服务器;如果是,将会在检测到其中一项攻击时生成事件。如果用户未登
录,则攻击不能利用该漏洞,且不会生成事件。
以下两个规则分片说明了此示例。第一个规则分片查找来自 IMAP 服务器的 IMAP 登录确认:
alert tcp any 143 -> any any (msg:"IMAP login"; content:"OK
 
LOGIN"; flowbits:set,logged_in; flowbits:noalert;)
下图说明了上述规则分片中 
flowbits
 关键字的影响:
请注意,
flowbits:set
 设置 
logged_in
 状态,
flowbits:noalert
 则抑制警报,因为 IMAP 服务器
上可能会出现许多无恶意的登录会话。
以下规则分片查找 LIST 字符串,但不生成事件,除非由于会话中某个之前的数据包而设置了 
logged_in 状态:
alert tcp any any -> any 143 (msg:"IMAP LIST";
 
content:"LIST"; flowbits:isset,logged_in;)
下图说明了上述规则分片中 
flowbits
 关键字的影响: