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 处于内联模式时,它充当 IPS,允许触发丢弃规则。可以使用命令行参数 -Q 和 snort 配置选项 policy_mode 将 Snort 配置为在内联模式下运行,如下所示:
snort -Q
config policy_mode:inline
您需要确保“config policy_mode:inline”行是您的 snort.conf,并且当您运行 snort 时,您传递了“-Q”选项。如果这两个都没有完成,它不会下降。希望这可以帮助!