规则动作:
规则的头包含了定义一个包的 who,where 和 what 信息,以及当满足规则定义的
所有属性的包出现时要采取的行动。规则的第一项是"规则动作"(rule action),
"规则动作"告诉 snort 在发现匹配规则的包时要干什么。在 snort 中有五种动作:
alert、log、pass、activate 和 dynamic.
1、Alert-使用选择的报警方法生成一个警报,然后记录(log)这个包。
2、Log-记录这个包。
3、Pass-丢弃(忽略)这个包。
4、activate-报警并且激活另一条 dynamic 规则。
5、dynamic-保持空闲直到被一条 activate 规则激活,被激活后就作为一条 log
规则执行。
你可以定义你自己的规则类型并且附加一条或者更多的输出模块给它,然后你就
可以使用这些规则类型作为 snort 规则的一个动作。
下面这个例子创建一条规则,记录到 tcpdump。
ruletype suspicious
{
type log output
log_tcpdump: suspicious.log
}
??搠?敧?捯浵
???o??< 下面这个例子创建一条规则,
记录到系统日志和 MySQL 数据库
ruletype redalert
{
type alert output
alert_syslog: LOG_AUTH LOG_ALERT
output database: log, mysql, user=snort dbname=snort host=localhost
}
协议
规则的下一部分是协议。Snort 当前分析可疑包的 ip 协议有四种:tcp 、udp、
icmp 和 ip。将来可能会更多,例如 ARP、IGRP、GRE、OSPF、RIP、IPX 等。
Ip 地址
规则头的下一个部分处理一个给定规则的 ip 地址和端口号信息。关键字"any"
可以被用来定义任何地址。Snort 没有提供根据 ip 地址查询域名的 机制。地址
就是由直接的数字型 ip 地址和一个 cidr 块组成的。Cidr 块指示作用在规则地
址和需要检查的进入的任何包的网络掩码。/24 表示 c 类网络, /16 表示 b 类网
络,/32 表示一个特定的机器的地址。例如,192.168.1.0/24 代表从 192.168.1.1