In diesem Tutorial zeigen ich Ihnen, wie Sie Snort 3, auf einem Linux Ubuntu Server installieren, konfigurieren und überwachen. Snort 3 ist eine bedeutende Weiterentwicklung von Snort 2 und bringt eine Vielzahl von Verbesserungen und neuen Funktionen mit sich. Hier sind einige der wichtigsten Unterschiede zwischen Snort 3 und Snort 2:
- Modularer Aufbau: Snort 3 verwendet eine modulare Architektur, die es ermöglicht, die verschiedenen Komponenten des Systems unabhängig voneinander zu entwickeln und zu aktualisieren. Dadurch wird die Entwicklung und Wartung des Projekts erleichtert und ermöglicht eine bessere Anpassung an die sich ändernden Bedürfnisse der Benutzer.
- Mehrere Paketverarbeitungs-Threads: Snort 3 unterstützt die Verarbeitung von Paketen in mehreren Threads. Dies bedeutet, dass Snort 3 besser für den Einsatz auf Multi-Core- und Multi-Prozessor-Systemen geeignet ist und eine bessere Leistung als Snort 2 bietet, insbesondere in Umgebungen mit hohem Netzwerkverkehr.
- Neuer Inspektor: Snort 3 enthält einen neuen, leistungsstarken Inspektor, der die Analyse von Netzwerkverkehr und die Erkennung von Angriffen verbessert. Der Inspektor nutzt die modulare Architektur von Snort 3 und ermöglicht die Integration neuer Erkennungsmethoden und -techniken, um besser auf die sich ständig ändernde Bedrohungslandschaft reagieren zu können.
- Verbesserte Konfigurationssyntax: Die Konfigurationssyntax von Snort 3 wurde überarbeitet und vereinfacht. Dies macht es einfacher, Snort 3 zu konfigurieren und anzupassen, und reduziert die Wahrscheinlichkeit von Konfigurationsfehlern.
- Lua-Integration: Snort 3 integriert die Skriptsprache Lua, um das Schreiben von benutzerdefinierten Erkennungsregeln und die Anpassung des Systems zu erleichtern. Lua bietet eine leistungsstarke und flexible Skripting-Option, die es Benutzern ermöglicht, ihre eigenen Erkennungs- und Reaktionsstrategien zu entwickeln.
- Autodetect-Option: Snort 3 bietet eine Autodetect-Option, die es dem System ermöglicht, automatisch die am besten geeigneten Einstellungen für die Netzwerkschnittstelle und die verfügbaren Ressourcen auszuwählen. Diese Funktion erleichtert die Einrichtung von Snort 3 und stellt sicher, dass das System optimal auf die jeweilige Umgebung abgestimmt ist.
- Erweiterte Protokollunterstützung: Snort 3 bietet verbesserte Unterstützung für verschiedene Netzwerkprotokolle und Anwendungen, einschließlich IPv6, HTTP/2 und mehr. Dies ermöglicht eine genauere Analyse von Netzwerkverkehr und eine bessere Erkennung von Angriffen und Bedrohungen.
- Aktualisierte Regelverarbeitung: Die Regelverarbeitung in Snort 3 wurde verbessert, um die Leistung und Flexibilität zu erhöhen. Snort 3 unterstützt das Schreiben von Regeln, die auf mehreren Protokollen und Bedingungen basieren, was eine genauere Erkennung von Angriffen ermöglicht. Zudem ermöglicht die verbesserte Regelverarbeitung eine bessere Verwaltung und Organisation von Regelsätzen.
- HTTP-Inspektor: Snort 3 verfügt über einen verbesserten HTTP-Inspektor, der eine detailliertere Analyse von HTTP-Verkehr ermöglicht. Der HTTP-Inspektor kann HTTP-Anfragen und -Antworten auf ungewöhnliche oder bösartige Aktivitäten hin untersuchen und dabei sowohl HTTP/1.1 als auch HTTP/2 unterstützen.
- Datei- und Malware-Erkennung: Snort 3 bietet verbesserte Datei- und Malware-Erkennungsfunktionen. Das System kann Dateien, die über das Netzwerk übertragen werden, identifizieren und auf bösartige Inhalte überprüfen. Dies hilft, Bedrohungen wie Malware und Ransomware frühzeitig zu erkennen und entsprechende Gegenmaßnahmen zu ergreifen.
- Erweiterter Support und Dokumentation: Snort 3 profitiert von einer aktiven Community und umfangreicher Dokumentation. Dies macht es einfacher, Hilfe und Informationen zur Verwendung von Snort 3 zu finden und das System effektiv einzusetzen.
Schritt 1: Aktualisieren des Systems
Öffnen Sie das Terminal und aktualisieren Sie das System mit den folgenden Befehlen:
sudo apt update
sudo apt upgrade -y
Schritt 2: Abhängigkeiten installieren
Installieren Sie die erforderlichen Abhängigkeiten, um Snort 3 zu kompilieren und auszuführen:
sudo apt install -y gcc g++ make autoconf libtool libpcap-dev libpcre3-dev libdumbnet-dev zlib1g-dev liblzma-dev openssl libssl-dev libnghttp2-dev libluajit-5.1-dev libhwloc-dev pkg-config
Schritt 3: Snort 3 herunterladen und installieren
Laden Sie Snort 3 herunter, entpacken Sie das Archiv und wechseln Sie in das Verzeichnis:
wget https://github.com/snort3/snort3/archive/refs/tags/snort3-3.1.58.0.tar.gz
tar -xvf snort3-3.1.58.0.tar.gz
cd snort3-snort3-3.1.58.0
Führen Sie die folgenden Befehle aus, um Snort 3 zu konfigurieren, zu kompilieren und zu installieren:
./configure_cmake.sh –prefix=/usr/local –enable-tcmalloc
cd build
make
sudo make install
Aktualisieren Sie die Shared Library Cache:
sudo ldconfig
Schritt 4: Snort 3 konfigurieren
Erstellen Sie die erforderlichen Verzeichnisse und Dateien:
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /var/log/snort
sudo touch /etc/snort/snort.conf
sudo touch /etc/snort/rules/local.rules
Bearbeiten Sie die snort.conf
-Datei mit einem Texteditor Ihrer Wahl (z. B. nano):
sudo nano /etc/snort/snort.conf
Fügen Sie die folgenden Zeilen zur Datei hinzu:
config daq: pcap
config daq_mode: read-file
config daq_var: file=/path/to/your/pcap/file.pcap
config daq_dir: /usr/local/lib/daq
config logdir: /var/log/snortrule_path rules/local.rules
Ersetzen Sie /path/to/your/pcap/file.pcap
durch den tatsächlichen Pfad zu einer PCAP-Datei, die Sie analysieren möchten. Passen Sie die Konfiguration nach Bedarf an.
Schritt 5: Snort-Regeln
Erstellen und bearbeiten Sie die local.rules
-Datei:
sudo nano /etc/snort/rules/local.rules
Fügen Sie eigene Regeln oder Beispielregeln hinzu, wie die folgende Regel, die ICMP-Pakete (Ping) erkennt:
alert icmp any any -> any any (msg:“ICMP-Paket erkannt“; sid:1000001; rev:1;)
Speichern Sie die Datei und schließen Sie den Editor.
Schritt 6: Snort 3 testen
Testen Sie Snort 3, indem Sie den folgenden Befehl ausführen:
sudo snort -c /etc/snort/snort.conf -T
Wenn Snort 3 erfolgreich gestartet wird, sehen Sie eine Meldung, die besagt, dass die Konfiguration gültig ist.
Schritt 7: Netzwerkverkehr überwachen
Um den Netzwerkverkehr in Echtzeit zu überwachen, führen Sie den folgenden Befehl aus:
sudo snort -i <INTERFACE> -c /etc/snort/snort.conf -A console
Ersetzen Sie <INTERFACE>
durch den Namen Ihrer Netzwerkschnittstelle (z. B. eth0
).
Schritt 8: Snort-Protokollierung
Um den Netzwerkverkehr in einer Protokolldatei zu speichern, ändern Sie den -A
-Parameter auf „log“ und geben Sie den Pfad zur Protokolldatei an:
sudo snort -i <INTERFACE> -c /etc/snort/snort.conf -A log -l /var/log/snort
Schritt 9: Snort als Dienst einrichten
Erstellen Sie eine Systemd-Dienstdatei:
sudo nano /etc/systemd/system/snort.service
Fügen Sie den folgenden Inhalt hinzu:
[Unit]
Description=Snort IDS/IPS
After=network.target[Service]
Type=simple
ExecStart=/usr/local/bin/snort -q -c /etc/snort/snort.conf -i <INTERFACE> -D -A log -l /var/log/snort
Restart=on-failure
RestartSec=30[Install]
WantedBy=multi-user.target
Ersetzen Sie <INTERFACE>
durch den Namen Ihrer Netzwerkschnittstelle (z. B. eth0
). Speichern Sie die Datei und schließen Sie den Editor.
Aktualisieren Sie die Systemd-Konfiguration und aktivieren Sie den Snort-Dienst:
sudo systemctl daemon-reload
sudo systemctl enable snort
Starten Sie den Snort-Dienst:
sudo systemctl start snort
Überprüfen Sie den Status des Snort-Dienstes:
sudo systemctl status snort
Snort ist nun als Dienst eingerichtet und überwacht den Netzwerkverkehr auf der angegebenen Schnittstelle.
Sie haben nun erfolgreich Snort 3 auf Ihrem Linux Ubuntu Server 22.04.2 installiert, konfiguriert und eingerichtet. Sie können nun Ihren Netzwerkverkehr überwachen, um mögliche Angriffe oder verdächtige Aktivitäten zu erkennen. Passen Sie die Snort-Regeln an Ihre spezifischen Anforderungen an, um die Effektivität der Überwachung zu erhöhen. Sie können auch zusätzliche Regelsätze von Drittanbietern abonnieren oder eigene Regeln basierend auf Ihren Bedürfnissen erstellen.
Snort ist ein leistungsfähiges Werkzeug zur Erkennung von Eindringlingen und kann Ihnen helfen, die Sicherheit Ihrer Netzwerkumgebung zu erhöhen. Bleiben Sie auf dem Laufenden über Snort-Updates und Sicherheitspraktiken, um sicherzustellen, dass Ihr System stets geschützt ist.