Schützen Sie Ihr Netzwerk vor Eindringlingen und unerwünschten Angriffen, indem Sie Snort IDS installieren und einrichten.
Wenn Sie die Netzwerksicherheit ernst nehmen, ist die Installation einer IPS- oder IDS-Lösung ein Muss, um den Netzwerkperimeter zu schützen und potenziell unerwünschten Netzwerkverkehr abzuwehren.
Snort ist eine dieser berühmten, kostenlosen und Open-Source-IPS/IDS-Lösungen für den persönlichen Gebrauch. Erfahren Sie, wie Sie Snort unter Linux installieren und einrichten können, um Ihr Netzwerk vor Cyberangriffen zu schützen.
Was ist Schnupfen?
Snort ist eine Open-Source-Software System zur Erkennung und Verhinderung von Netzwerkeinbrüchen (NIDS/IPS)-Software, die, wie der Name schon sagt, bei der Sicherung Ihres Netzwerkperimeters hilft, indem sie Regeln und Filter durchsetzt, die potenziell schädliche Pakete, die in Ihr Netzwerk eingeschleust werden, erkennen und verwerfen.
Mit Snort können Sie eine erweiterte Protokollierung des Netzwerkverkehrs, Paket-Sniffing und -Analyse durchführen und festlegen Richten Sie ein starkes Intrusion Prevention System ein, das Ihr Netzwerk vor unerwünschten und potenziell schädlichen Angriffen schützt Verkehr.
Voraussetzungen für die Installation von Snort
Bevor Sie Snort installieren, müssen Sie einige Voreinstellungen vornehmen. Dies umfasst hauptsächlich die Aktualisierung und Aktualisierung Ihres Systems sowie die Installation der Abhängigkeiten, die Snort für die ordnungsgemäße Funktion benötigt.
Beginnen Sie mit der Aktualisierung und Aufrüstung Ihres Systems.
Auf Ubuntu- und Debian-basierte Linux-Distributionen:
sudo apt update && apt upgrade -y
Auf Arch Linux und seinen Derivaten:
sudo pacman -Syu
Auf RHEL und Fedora:
Sudo DNF-Upgrade
Fahren Sie nach dem Upgrade Ihres Systems mit der Installation der für Snort erforderlichen Abhängigkeiten fort. Hier sind die Befehle, die Sie ausführen müssen:
Führen Sie unter Ubuntu und Debian Folgendes aus:
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
Führen Sie unter Arch Linux Folgendes aus:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf
Geben Sie für RHEL und Fedora den folgenden Befehl ein:
sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
Darüber hinaus müssen Sie die Datenerfassungsbibliothek, LibDAQ, damit Snort ordnungsgemäß funktioniert, und gperftools zum Generieren der Build-Dateien manuell installieren.
Laden Sie zunächst die LibDAQ-Quelldateien von der offiziellen Website herunter mit dem wget-Befehl. Anschließend entpacken Sie das Archiv und verschieben es mit cd in das Verzeichnis. Führen Sie im Verzeichnis die Datei aus Bootstrap Und konfigurieren Skripte bereiten dann die Dateien mit make vor und installieren sie mit dem make installieren Befehl.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./konfigurieren
machen
sudo make install
Wenn LibDAQ installiert ist, müssen Sie eine letzte Abhängigkeit installieren: gperftools. Beginnen Sie damit, die Quelldateien aus dem GitHub-Repository abzurufen. Extrahieren Sie die Dateien, verschieben Sie sie in das Verzeichnis und führen Sie das Konfigurationsskript aus. Installieren Sie abschließend das Paket mit den Befehlen make und make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./konfigurieren
machen
sudo make install
Sobald diese Abhängigkeiten installiert wurden, können Sie mit den nächsten Schritten zur Installation von Snort fortfahren.
Installieren Sie Snort From Source unter Linux
Nachdem die vorbereitende Einrichtung erledigt ist, können Sie sich nun auf die Installation der eigentlichen Software konzentrieren. Sie erstellen es aus der Quelle, also besorgen Sie sich zuerst die erforderlichen Build-Dateien.
Verwenden Sie den Befehl wget oder laden Sie die Dateien manuell von der offiziellen Download-Seite herunter:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
Herunterladen:Schnauben
Sobald das Archiv mit den Build-Dateien heruntergeladen wurde, extrahieren Sie es mit dem Befehl tar:
tar -xzvf schnauben*
Gehen Sie in den extrahierten Ordner, führen Sie das Konfigurationsskript aus, bereiten Sie die Dateien mit dem Befehl „make“ vor und installieren Sie sie schließlich mit make installieren:
CD schnaubt*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
CD-Build
machen
sudo make install
Snort wird nun erfolgreich auf Ihrem System installiert. Es gibt jedoch nur noch einen weiteren Schritt, den Sie ausführen müssen. Wenn neue Software manuell installiert wird, werden das Installationsverzeichnis und die erforderlichen Bibliotheken möglicherweise nicht automatisch in den Standardpfad des Systems aufgenommen. Daher kann es beim Starten der Anwendung zu Fehlern kommen.
Um dieses Problem zu vermeiden, müssen Sie den Befehl ldconfig ausführen. Der Cache der gemeinsam genutzten Bibliothek des Systems wird mit neu installierten Bibliotheken und Binärdateien synchronisiert. Führen Sie entweder den Befehl ldconfig von einer Root-Shell aus aus oder verwenden Sie das Präfix sudo:
sudo ldconfig
Jetzt haben Sie alle wichtigen Schritte zur Installation von Snort abgedeckt. Um die Installation zu überprüfen, führen Sie den Snort-Befehl mit aus -V Flag, und Sie sollten eine Ausgabe sehen, die den Versionsnamen und andere Daten zurückgibt.
schnauben -V
Sobald Sie die Snort-Installation überprüft haben, fahren Sie mit den nächsten Schritten fort, um sie als vollwertiges IDS/IPS einzurichten.
Erstkonfiguration von Snort unter Linux
Die Effizienz von Snort hängt fast ausschließlich von der Qualität der mitgelieferten Regelsätze ab.
Bevor Sie jedoch mit dem Einrichten von Regeln beginnen, müssen Sie die Netzwerkkarten für die Zusammenarbeit mit Snort konfigurieren und außerdem testen, wie Snort mit der Standardkonfiguration umgeht. Beginnen Sie mit der Konfiguration der Netzwerkkarten.
Stellen Sie die Netzwerkschnittstelle auf den Promiscuous-Modus ein:
sudo ip link set dev interface_name promisc on
Deaktivieren Sie mit ethtool Generic Receive Offload (GRO) und Large Receive Offload (LRO), um zu verhindern, dass größere Netzwerkpakete abgeschnitten werden:
sudo ethtool -K Schnittstellenname gro aus lro aus
Testen Sie, wie Snort mit der Standardkonfiguration funktioniert:
snort -c /usr/local/etc/snort/snort.lua
Dies sollte eine erfolgreiche Ausgabe zurückgeben und signalisieren, dass Sie Snort korrekt in Ihrem System installiert und eingerichtet haben. Jetzt können Sie an seinen Funktionen herumbasteln und mit verschiedenen Konfigurationen experimentieren, um den besten Regelsatz für die Sicherung Ihres Netzwerks zu finden.
Richten Sie Regeln ein und setzen Sie sie mit Snort durch
Nachdem die Grundeinstellungen vorgenommen wurden, ist Snort nun bereit, Ihren Umkreis zu verteidigen. Wie Sie wissen, benötigt Snort Regelsätze, um die Gültigkeit des Datenverkehrs zu bestimmen. Lassen Sie uns einige von der Community erstellte, kostenlose Regelsätze für Snort einrichten.
Snort liest Regelsätze und Konfigurationen aus bestimmten Verzeichnissen. Erstellen Sie also zunächst mit den Befehlen mkdir und touch einige wichtige Verzeichnisse zum Speichern von Regeln und anderen relevanten Daten für Snort:
sudo mkdir -p /usr/local/etc/{lists, so_rules, Rules}
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
Wenn diese Verzeichnisse erstellt sind, können Sie den Community-Regelsatz mit dem Befehl wget von der offiziellen Website herunterladen:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Sobald der Download des Regelsatzes abgeschlossen ist, extrahieren Sie ihn und kopieren Sie ihn in den /usr/local/etc/rules/ Verzeichnis.
tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/
Um Snort mit dem Regelsatz auszuführen, führen Sie diesen Befehl aus:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i Schnittstellenname -s 65535 -k keine
Aufschlüsselung des Befehls:
- -C legt den Pfad zur Standardkonfigurationsdatei fest
- -R legt den Pfad zum Regelsatz fest, der erzwungen werden soll
- -ich legt die Schnittstelle fest
- -S Verwirft das Snaplen-Limit
- -k ignoriert Prüfsummen
Dadurch sollte die Konfiguration validiert und alle Regelsätze auf Snort durchgesetzt werden. Sobald eine Netzwerkstörung festgestellt wird, werden Sie mit einer Konsolenmeldung darauf aufmerksam gemacht.
Wenn Sie Ihren eigenen Regelsatz erstellen und durchsetzen möchten, können Sie hier mehr darüber erfahren Offizielle Dokumentationsseiten.
Richten Sie die Protokollierung mit Snort ein
Standardmäßig gibt Snort keine Protokolle aus. Sie müssen mit dem angeben -L Flag zum Starten von Snort im Protokollierungsmodus, Definieren des Protokolldateityps und -l Flag zum Festlegen des Protokollierungsverzeichnisses für Snort zum Dumpen der Protokolle.
Hier ist der Befehl zum Starten von Snort mit aktivierter Protokollierung:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i Schnittstellenname -s 65535 -k none -L Dateityp -l /var/log /Schnauben
Aufschlüsselung des Befehls:
- -C legt den Pfad zur Standardkonfigurationsdatei fest
- -R legt den Pfad zum Regelsatz fest, der erzwungen werden soll
- -ich legt die Schnittstelle fest
- -S Verwirft das Snaplen-Limit
- -k ignoriert Prüfsummen
- -L Aktiviert den Protokollierungsmodus und definiert den Protokolldateityp
- -l Definiert den Pfad zum Speichern von Protokollen
Beachten Sie, dass im Beispielbefehl das Protokollierungsverzeichnis auf festgelegt ist /var/log/snort. Obwohl dies eine empfohlene Vorgehensweise ist, steht es Ihnen frei, Ihre Protokolle an einem anderen Ort zu speichern.
Sie können die Protokolldateien von Snort aus dem von Ihnen definierten Verzeichnis lesen oder sie zur weiteren Analyse an SIEM-Software wie Splunk übergeben.
Fügen Sie Snort als Systemstart-Daemon hinzu
Obwohl Sie Snort installiert und eingerichtet haben, müssen Sie sicherstellen, dass es beim Start ausgeführt wird und als Hintergrund-Daemon ausgeführt wird. Durch das Hinzufügen als automatisch startender Systemdienst wird sichergestellt, dass Snort jederzeit verfügbar ist und Ihr System verteidigt, wenn es online ist.
So fügen Sie einen Snort-Startup-Daemon unter Linux hinzu:
- Erstellen Sie zunächst eine neue systemd-Dienstdatei:
Berühren Sie /lib/systemd/system/snort.service
- Öffnen Sie die Datei in einem Texteditor Ihrer Wahl und füllen Sie sie mit den folgenden Daten. Sie können die Flags an Ihre Bedürfnisse anpassen:
[Einheit]
Beschreibung=Snort-Daemon
After=syslog.target network.target
[Service]
Typ=einfach
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var /log/snort -D -L pcap -i ens33
[Installieren]
WantedBy=multi-user.target - Speichern und beenden Sie die Datei. Dann nutzen Sie den Dienst und systemctl-Befehle, aktivieren und starten Sie das Skript:
sudo systemctl aktiviert snort.service
sudo schnaubt start
Der Snort-Hintergrunddaemon sollte jetzt betriebsbereit sein. Sie können den Status des Skripts mithilfe von überprüfen Systemctl-Status schnaubt Befehl. Es sollte eine positive Ausgabe zurückgeben.
Jetzt wissen Sie, wie Sie Ihr Netzwerk mit Snort IDS schützen können
Obwohl die Implementierung von IDS eine gute Praxis ist, handelt es sich dabei eher um eine passive als um eine aktive Maßnahme. Der beste Weg, die Sicherheit Ihres Netzwerks zu verbessern und zu gewährleisten, besteht darin, es kontinuierlich zu testen und nach zu behebenden Fehlern zu suchen.
Penetrationstests sind eine hervorragende Möglichkeit, ausnutzbare Schwachstellen zu finden und zu beheben.