Ich habe snort-2.9.7 aus den Quellen installiert und als IDS gestartet:
% snort -devQ -A console -c /etc/snort/snort.conf -i eth0:eth1
Enabling inline operation
Running in IDS mode
...
Die Konfigurationsdatei ist sehr 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
Die Regel in icmp.rules ist zu Testzwecken ebenfalls einfach:
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;)
Auf dem Host, auf dem Snort ausgeführt wird, hat die Schnittstelle eth0 die Adresse 10.10.10.1. Wenn ich jedoch von einem anderen Host einen Ping an 10.10.10.1 sende, werden ICMP-Pakete von Snort nicht gelöscht und ICMP-Antworten generieren:
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
Was bedeutet Warnung? Mache ich etwas falsch?
Antwort1
Ersetzen Sie Ihre ICMP-Regel durch Folgendes:
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;)
Beachten Sie, dass es keine Snort-Regelaktion namensBlock. Benutze das eine oder das andereablehnenoderfallenWeitere Informationen finden Sie unterdiese Handbuchseite.
AKTUALISIEREN:
Ich bin nicht sicher, ob Sie mehr als eine Schnittstelle in Ihren snort
Befehl einfügen können. Versuchen Sie, zwei Instanzen von auszuführen snort
, eine für jede Netzwerkschnittstelle, oder verwenden Sie den anderen erklärten AnsatzHier.