Snort は、タップ (パッシブ)、インライン、およびインライン テストという 3 つの異なるモードで動作できます。ドロップ ルールを使用してパケットをドロップする場合は、インライン モードで実行していることを確認する必要があります。見た目からすると、おそらくインライン モードではありません。「拒否」が機能する理由は、TCP のリセットを送信して残りのストリームを停止するか、または UDP の ICMP ポート到達不能メッセージを送り返すためです。ルール ヘッダーに関するSnort マニュアル ( http://manual.snort.org/node29.html ) の次の説明を参照してください。
drop - パケットをブロックしてログに記録します
reject - パケットをブロックしてログに記録し、プロトコルが TCP の場合は TCP リセットを送信し、プロトコルが UDP の場合は ICMP ポート到達不能メッセージを送信します。
sdrop - パケットをブロックしますが、ログに記録しません。
Snort がインライン モードで実行されていない場合、実際にパケットをドロップすることはなく、アラート (ドロップの場合) を生成してパケットを渡すだけです。
3 つのモードについては、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」オプションを渡します。この両方ができていないと落ちません。お役に立てれば!