snort: правило drop icmp на самом деле не отбрасывает пакеты

snort: правило drop 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 с другого хоста, пакеты 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. Попробуйте запустить два экземпляра snort, по одному для каждого сетевого интерфейса, или используйте другой подход, описанный вышездесь.

Связанный контент