OSX: Snort: ERROR: /etc/snort/../rules/local.rules(0) Regeldatei "/etc/snort/../rules/local.rules" kann nicht geöffnet werden: Keine solche Datei oder ein solches Verzeichnis

13471
Drew

Ich versuche, Snort IDS auf einem Mac mit diesem Tutorial zu installieren und auszuführen: https://discussions.apple.com/thread/3370709?start=0&tstart=0

OSX Yosemite (10.10.2); PostgreSQL 9.4.1 (installiert mit Homebrew) Snort: stabil 2.9.7.0 (installiert mit Homebrew)

Wenn ich endlich versuche, es so zu spielen:

$ sudo /usr/local/bin/snort -d -e -i en0 -c /etc/snort/snort.conf 

Das bekommen:

Password:  Running in IDS mode  --== Initializing Snort ==-- Initializing Output Plugins! Initializing Preprocessors! Initializing Plug-ins! Parsing Rules file "/etc/snort/snort.conf" ... ERROR: /etc/snort/../rules/local.rules(0) Unable to open rules file "/etc/snort/../rules/local.rules": No such file or directory.  Fatal Error, Quitting.. 

Die Regel ist tatsächlich am Platz /etc/snort/rules/local.rules

RULE_PATH ist eingestellt /etc/snort/snort.conf an/etc/snort/rules

So:

$ echo $RULE_PATH /etc/snort/rules 

versuch das:

$ grep RULE_PATH /etc/snort/snort.conf  var RULE_PATH ../rules var SO_RULE_PATH ../so_rules var PREPROC_RULE_PATH ../preproc_rules ... 

Nun, nach dem Umziehen

var RULE_PATH ../rules var SO_RULE_PATH ../so_rules var PREPROC_RULE_PATH ../preproc_rules 

zu

var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules 

Bekommen:

$ sudo /usr/local/bin/snort -d -e -i en0 -c /etc/snort/snort.conf Running in IDS mode  --== Initializing Snort ==-- Initializing Output Plugins! Initializing Preprocessors! Initializing Plug-ins! Parsing Rules file "/etc/snort/snort.conf" ... ERROR: /etc/snort/snort.conf(741) Unknown output plugin: "database" Fatal Error, Quitting.. 

Zeile 741 in /etc/snort/snort.confist:

output database: log, postgresql, user=snort password=password dbname=snort host=localhost

Seit snort 2.9.3.0 wird die direkte Datenbankausgabe nicht mehr unterstützt. Ich sollte die einheitliche Ausgabe von Snort verwenden. Ich könnte stattdessen Barnyard2 verwenden, um auf Postgresql umzuleiten.

-2

2 Antworten auf die Frage

2
agtoever

Hinweis: Diese Antwort besteht aus einem Dialog in den Kommentaren der ursprünglichen Frage.


Das Problem mit dem Regelverzeichnis
Aus dem Fehler ist klar, dass irgendwo (wahrscheinlich in snort.conf) ein ..Pfad vorhanden ist, der auf den falschen Pfad verweist. Basierend auf dem Fehler würde ich sagen, dass var RULE_PATH ../ruleses in der Konfigurationsdatei ist. Sie sollten, dass entweder ändern var RULE_PATH ./rulesoder einen absoluten Pfad verwenden: var RULE_PATH /etc/snort/rules. Sie sollten dies für SO_RULE_PATHund PREPROC_RULE_PATHauch tun . So hat deine Konfig jetzt:

var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules 

Das Problem bei der Ausgabe von Daten in eine Datenbank
Seit Snort 2.9.3.0 wird die direkte Datenbankausgabe nicht mehr unterstützt . Sie sollten die vereinheitlichte Ausgabe output unified2: filename merged.log, limit 128, mpls_event_types, vlan_event_typesvon snort verwenden (wie hier " ). Sie können stattdessen Barnyard2 verwenden, um auf postgresql umzuleiten. Eine Erklärung, wie Sie dies einrichten, würde (meiner Meinung nach) für diese Antwort zu weit gehen. Einen grundlegenden Anfang finden Sie hier . A Eine ausführlichere Erklärung (und speziell für OSX) finden Sie hier .

0
matias figueroa

FEHLER: /etc/snort/../rules/local.rules(0) Regeldatei "/etc/snort/../rules/local.rules" kann nicht geöffnet werden: Keine solche Datei oder Verzeichnis.

Schwerwiegender Fehler beim Beenden ..

Ich konnte diesen Fehler durch Kommentieren der folgenden Zeilen beheben:

#var RULE_PATH ../rules #var SO_RULE_PATH ../so_rules #var PREPROC_RULE_PATH ../preproc_rules   #var WHITE_LIST_PATH ../rules #var BLACK_LIST_PATH ../rules 

Diese Zeilen beziehen sich auf Windows-Benutzer !!