So konfigurieren Sie Snort unter Debian

Snort ist ein kostenloses Network Intrusion Detection System (IDS). In weniger offiziellen Begriffen können Sie Ihr Netzwerk in Echtzeit auf verdächtige Aktivitäten überwachen . Derzeit bietet Snort Pakete für Fedora-, CentOS-, FreeBSD- und Windows-basierte Systeme an. Die genaue Installationsmethode variiert zwischen den Betriebssystemen. In diesem Tutorial werden wir direkt aus den Quelldateien für Snort installieren. Dieser Leitfaden wurde für Debian geschrieben.

Aktualisieren, aktualisieren und neu starten

Bevor wir die Snort-Quellen tatsächlich in die Hände bekommen, müssen wir sicherstellen, dass unser System auf dem neuesten Stand ist. Wir können dies tun, indem wir die folgenden Befehle eingeben.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Konfiguration vorinstallieren

Nach dem Neustart Ihres Systems müssen wir eine Reihe von Paketen installieren, um sicherzustellen, dass wir SBPP installieren können. Ich konnte herausfinden, dass einige der Pakete benötigt wurden, daher ist der Basisbefehl unten.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

Sobald alle Pakete installiert sind, müssen Sie ein temporäres Verzeichnis für Ihre Quelldateien erstellen - sie können sich an einer beliebigen Stelle befinden. Ich werde verwenden /usr/src/snort_src. Um diesen Ordner zu erstellen, müssen Sie als rootBenutzer angemeldet sein oder über sudoBerechtigungen verfügen - dies rootmacht es nur einfacher.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Installieren der Datenerfassungsbibliothek (DAQ)

Bevor wir die Quelle für Snort erhalten können, müssen wir den DAQ installieren. Es ist ziemlich einfach zu installieren.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Extrahieren Sie die Dateien aus dem Tarball.

tar xvfz daq-2.0.6.tar.gz

Wechseln Sie in das DAQ-Verzeichnis.

cd daq-2.0.6

Konfigurieren und installieren Sie den DAQ.

./configure; make; sudo make install

Diese letzte Zeile wird ./configurezuerst ausgeführt. Dann wird es ausgeführt make. Zuletzt wird es ausgeführt make install. Wir verwenden hier die kürzere Syntax, um ein wenig beim Tippen zu sparen.

Snort installieren

Wir möchten sicherstellen, dass wir wieder im /usr/src/snort_srcVerzeichnis sind. Wechseln Sie also in dieses Verzeichnis mit:

cd /usr/src/snort_src

Nachdem wir uns im Verzeichnis für die Quellen befinden, laden wir die tar.gzDatei für die Quelle herunter . Zum Zeitpunkt dieses Schreibens ist die neueste Version von Snort 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Die Befehle zum tatsächlichen Installieren von snort sind denen für den DAQ sehr ähnlich, haben jedoch unterschiedliche Optionen.

Extrahieren Sie die Snort-Quelldateien.

tar xvfz snort-2.9.8.0.tar.gz

Wechseln Sie in das Quellverzeichnis.

cd snort-2.9.8.0

Konfigurieren und installieren Sie die Quellen.

 ./configure --enable-sourcefire; make; sudo make install

Nachinstallation von Snort

Sobald wir Snort installiert haben, müssen wir sicherstellen, dass unsere gemeinsam genutzten Bibliotheken auf dem neuesten Stand sind. Wir können dies mit dem Befehl tun:

sudo ldconfig

Testen Sie anschließend Ihre Snort-Installation:

snort --version

Wenn dieser Befehl nicht funktioniert, müssen Sie einen Symlink erstellen. Sie können dies tun, indem Sie Folgendes eingeben:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

Die resultierende Ausgabe ähnelt der folgenden:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Snort ohne Wurzeln

Nachdem wir snort installiert haben, möchten wir nicht, dass es als ausgeführt rootwird. Daher müssen wir einen snortBenutzer und eine Gruppe erstellen . Um einen neuen Benutzer und eine neue Gruppe zu erstellen, können Sie diese beiden Befehle verwenden:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Da wir das Programm unter Verwendung der Quelle installiert haben, müssen wir die Konfigurationsdateien und die Regeln für Snort erstellen.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Nachdem wir die Verzeichnisse und Regeln erstellt haben, müssen wir jetzt das Protokollverzeichnis erstellen.

sudo mkdir /var/log/snort

Und bevor wir Regeln hinzufügen können, benötigen wir einen Speicherort für die dynamischen Regeln.

sudo mkdir /usr/local/lib/snort_dynamicrules

Nachdem alle vorherigen Dateien erstellt wurden, legen Sie die richtigen Berechtigungen für sie fest.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Einrichten der Konfigurationsdateien

Um viel Zeit zu sparen und nicht alles kopieren und einfügen zu müssen, kopieren Sie einfach alle Dateien in das Konfigurationsverzeichnis.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Nachdem die Konfigurationsdateien vorhanden sind, können Sie zwei Dinge tun:

  • Sie können Barnyard2 aktivieren
  • Oder Sie lassen die Konfigurationsdateien einfach in Ruhe und aktivieren selektiv die gewünschten Regeln.

In jedem Fall werden Sie noch einige Dinge ändern wollen. Weiter lesen.

Aufbau

In der /etc/snort/snort.confDatei müssen Sie die Variable ändern HOME_NET. Es sollte auf den IP-Block Ihres internen Netzwerks eingestellt sein, damit die Versuche Ihres eigenen Netzwerks, sich beim Server anzumelden, nicht protokolliert werden. Dies kann 10.0.0.0/24oder sein 192.168.0.0/16. /etc/snort/snort.confÄndern Sie in Zeile 45 die Variable HOME_NETauf den Wert des IP-Blocks Ihres Netzwerks.

In meinem Netzwerk sieht es so aus:

ipvar HOME_NET 192.168.0.0/16

Dann müssen Sie die EXTERNAL_NETVariable auf Folgendes setzen :

any

Was sich einfach EXERNAL_NETin das verwandelt, was du HOME_NETnicht bist .

Regeln festlegen

Nachdem ein Großteil des Systems eingerichtet ist, müssen wir unsere Regeln für dieses kleine Schweinchen konfigurieren. Irgendwo um Zeile 104 in Ihrer /etc/snort/snort.confDatei, sollten Sie eine „var“ Deklaration und die Variablen sehen RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, und BLACK_LIST_PATH. Ihre Werte sollten auf die Pfade eingestellt werden, in denen wir verwendet haben Un-rooting Snort.

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

Sobald diese Werte festgelegt sind, löschen oder kommentieren Sie die aktuellen Regeln ab Zeile 548.

Überprüfen Sie nun, ob Ihre Konfiguration korrekt ist. Sie können es mit überprüfen snort.

 # snort -T -c /etc/snort/snort.conf

Sie sehen eine Ausgabe ähnlich der folgenden (der Kürze halber abgeschnitten).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Nachdem alles fehlerfrei konfiguriert wurde, können Sie Snort testen.

Schnauben testen

Der einfachste Weg, Snort zu testen, ist das Aktivieren von local.rules. Dies ist eine Datei, die Ihre benutzerdefinierten Regeln enthält.

Wenn Sie in der snort.confDatei irgendwo in Zeile 546 bemerkt haben , existiert diese Zeile:

include $RULE_PATH/local.rules

Wenn Sie es nicht haben, fügen Sie es bitte um 546 hinzu. Sie können die local.rulesDatei dann zum Testen verwenden. Als Basistest muss Snort nur eine Ping-Anfrage (ICMP-Anfrage) verfolgen. Sie können dies tun, indem Sie in der folgenden Zeile zu Ihrer local.rulesDatei hinzufügen .

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Sobald Sie das in Ihrer Datei haben, speichern Sie es und lesen Sie weiter.

Führen Sie den Test aus

Der folgende Befehl startet Snort und druckt Warnungen im "Schnellmodus", während der Benutzer unter der Gruppe schnaubt, unter Verwendung der Konfiguration /etc/snort/snort.confund überwacht die Netzwerkschnittstelle eno1. Sie müssen zu eno1der Netzwerkschnittstelle wechseln , die Ihr System abhört.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Sobald Sie es ausgeführt haben, pingen Sie diesen Computer an. Sie sehen eine Ausgabe, die wie folgt aussieht:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Sie können Strg + C drücken , um das Programm zu beenden, und das war's. Snort ist fertig. Sie können jetzt alle gewünschten Regeln verwenden.

Abschließend möchte ich darauf hinweisen, dass es einige öffentliche Regeln der Community gibt, die Sie von der offiziellen Website unter der Registerkarte "Community" herunterladen können . Suchen Sie nach "Snort", dann gibt es direkt darunter einen Community-Link. Laden Sie das herunter, extrahieren Sie es und suchen Sie nach der community.rulesDatei.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.