Instalé snort-2.9.7 desde las fuentes y lo ejecuté como IDS:
% snort -devQ -A console -c /etc/snort/snort.conf -i eth0:eth1
Enabling inline operation
Running in IDS mode
...
El archivo de configuración es muy trivial:
#
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
La regla en icmp.rules también es simple para fines de prueba:
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;)
En el host donde se ejecuta Snort, la interfaz eth0 tiene la dirección 10.10.10.1, sin embargo, cuando envío ping 10.10.10.1 desde otro host, Snort no descarta los paquetes icmp y las respuestas icmp generan:
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
¿Qué significa advertencia? ¿Estoy haciendo algo mal?
Respuesta1
Reemplace su regla icmp por la siguiente:
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;)
Tenga en cuenta que no existe una acción de regla de snort llamadabloquear. Utilizar cualquierarechazarogota. Para más información, veresta página del manual.
ACTUALIZAR:
No estoy seguro de que puedas poner más de una interfaz en tu snort
comando. Intente ejecutar dos instancias de snort
, una para cada interfaz de red, o utilice el otro enfoque explicadoaquí.