我正在编写一个严格的 snort 规则解析器,我想适应来自流行插件的 snort 规则。文档指定任何操作/类型都是可能的,因为它们可以由插件定义。但是,我希望有一个已知操作列表可供查找,以便向用户发出警告。
目前我知道的snort动作有以下几种:
alert
log
pass
activate
dynamic
drop
sdrop
reject
您是否使用过或知道其他任何自定义操作?
答案1
自定义操作由 snort.conf 中的规则类型声明定义;然后可以在规则中使用这些自定义操作。从默认的 snort.conf 开始:
# You can optionally define new rule types and associate one or more output
# plugins specifically to that type.
#
# This example will create a type that will log to just tcpdump.
# ruletype suspicious
# {
# type log
# output log_tcpdump: suspicious.log
# }
#
# EXAMPLE RULE FOR SUSPICIOUS RULETYPE:
# suspicious tcp $HOME_NET any -> $HOME_NET 6667 (msg:"Internal IRC Server";)
因为规则类型可以完全任意,所以首先解析 snort.conf 文件中定义的任何规则类型,然后在规则解析器的操作哈希或任何要匹配的内容中使用它,更有意义。
答案2
这可能是一个很好的起点。我不相信这些是默认的。
答案3
block
和sblock
是在 2.9.0.5 版(或大约这个版本)中添加的。请参阅手册了解详情。它们本质上是drop
和 的镜像sdrop
。