web-dev-qa-db-ja.com

snort:ドロップicmpルールは実際にはパケットをドロップしません

ソースからsnort-2.9.7をインストールし、IDSとして起動しました。

% snort -devQ -A console -c /etc/snort/snort.conf -i eth0:eth1
Enabling inline operation
Running in IDS mode
...

設定ファイルは非常に簡単です:

#
var RULE_PATH rules
# Set up the external network addresses. Leave as "any" in most situations
ipvar EXTERNAL_NET any
# Setup the network addresses you are protecting
ipvar HOME_NET [10.10.10.0/24]
config daq: afpacket
config daq_mode: inline
config policy_mode:inline
include $RULE_PATH/icmp.rules

Icmp.rulesのルールは、テストの目的でも単純です。

block icmp 10.10.10.2 any <> 10.10.10.1 any (msg:"Blocking ICMP Packet from 10.10.10.2"; sid:1000001; rev:1;)

Snortが実行されているホストでは、インターフェイスeth0のアドレスは10.10.10.1ですが、別のホストからping 10.10.10.1を送信すると、icnorパケットがSnortによってドロップされず、icmp応答が生成されます。

WARNING: No preprocessors configured for policy 0.
02/27-15:04:40.623763  [Drop] [**] [1:1000001:1] Blocking ICMP Packet from 10.10.10.2 [**] [Priority: 0] {ICMP} 10.10.10.2 -> 10.10.10.1

警告とはどういう意味ですか?私は何か間違ったことをしていますか?

2
Mark

Icmpルールを次のように置き換えます。

reject icmp 10.10.10.2 any <> 10.10.10.1 any (msg:"Blocking ICMP Packet from 10.10.10.2"; sid:1000001; rev:1;)

blockと呼ばれるsnortルールアクションがないことに注意してください。 rejectまたはdropを使用します。詳細については、 このマニュアルページ を参照してください。

更新:

snortコマンドに複数のインターフェイスを配置できるかどうかはわかりません。 snortの2つのインスタンス(ネットワークインターフェイスごとに1つ)を実行するか、説明されている他のアプローチを使用してみてください ここ

1
Linostar