ソースから 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 を送信すると、ICMP パケットは 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
警告とはどういう意味ですか? 何か間違ったことをしているのでしょうか?
答え1
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;)
snortルールアクションは存在しないことに注意してくださいブロックどちらかを使用する拒否するまたは落とす詳細については、このマニュアルページ。
アップデート:
コマンドに複数のインターフェースを指定できるかどうかはわかりませんsnort
。ネットワークインターフェースごとに のインスタンスを 2 つ実行するかsnort
、または説明されている他の方法を使用してください。ここ。