snort ips规则 - 拒绝工作,但丢弃和sdrop不工作

时间:2014-03-02 10:30:08

标签: snort

我尝试将snort作为IPS运行。所以我在ubuntu服务器上通过apt-get和config daq_type 将snort安装为 afpacket ,将 daq_mode 安装为 inline 。和 2接口,如 eth1:eth2 然后我写了一个测试规则

reject tcp any any -> any any (sid: 1000005;)

它可以正常工作,但当我将其更改为

drop tcp any any -> any any (sid: 1000005;)

它不起作用。当我将动作改为sdrop时,结果是一样的。 我从源代码安装snort但结果是一样的。 你能帮忙写出真正的规则吗?

1 个答案:

答案 0 :(得分:7)

Snort可以在三种不同模式下运行,即分接(被动),内联和内联测试。 如果要使用丢弃规则丢弃数据包,则需要确保以串联模式运行。从它的外观来看,你可能不是内联模式。 “拒绝”的原因是因为它将为TCP发送重置,这将停止该流的其余部分,或者它将为UDP发送ICMP端口不可达消息。请参阅规则标题上的snort手册(http://manual.snort.org/node29.html)中的以下说明:

drop - 阻止并记录数据包

拒绝 - 阻止数据包,记录它,然后如果协议是TCP则发送TCP重置,或者如果协议是UDP,则发送ICMP端口不可达消息。

sdrop - 阻止数据包但不记录它。

如果snort没有以内联模式运行,它实际上不会丢弃数据包,它只会生成一个警报(用于丢弃)并传递数据包。

有关三种模式的snort手册,请参阅以下内容:http://manual.snort.org/node11.html#SECTION00295100000000000000 具体而言,内联模式描述如下:

当Snort处于Inline模式时,它充当IPS,允许触发删除规则。可以使用命令行参数-Q和snort config选项policy_mode将Snort配置为以内联模式运行,如下所示:

snort -Q
config policy_mode:inline

您需要确保“config policy_mode:inline”行是snort.conf并且在运行snort时传递“-Q”选项。如果两者都没有完成,它就不会掉落。希望这有帮助!