So verwenden Sie das Snort Intrusion Detection System unter Linux

0
15
Shutterstock/RussieseO

Führen Sie Snort unter Linux aus und schützen Sie Ihr Netzwerk mit Echtzeit-Datenverkehrsanalyse und Bedrohungserkennung. Sicherheit ist alles und Snort ist Weltklasse. Dieses Schwein könnte Ihren Speck retten.

Was ist Snort?

Snort ist eines der bekanntesten und am weitesten verbreiteten Network Intrusion Detection-Systeme (NIDS). Es wurde als eines der wichtigsten Open-Source-Projekte aller Zeiten bezeichnet. Es wurde ursprünglich von Sourcefire entwickelt und wird seit der Übernahme von Sourcefire durch Cisco im Jahr 2013 von der Talos Security Intelligence and Research Group von Cisco gepflegt.

Snort analysiert den Netzwerkverkehr in Echtzeit und zeigt verdächtige Aktivitäten an. Insbesondere wird nach allem gesucht, was auf nicht autorisierte Zugriffsversuche und andere Angriffe auf das Netzwerk hinweisen könnte. Ein umfassendes Regelwerk definiert, was als “verdächtig” und was Snort tun soll, wenn eine Regel ausgelöst wird.

So wie Antiviren- und Anti-Malware-Pakete auf aktuelle Virensignaturdefinitionen angewiesen sind, um Sie zu erkennen und Sie vor den neuesten Bedrohungen zu schützen, werden die Regeln von Snort regelmäßig aktualisiert und neu ausgegeben, damit Snort immer verfügbar ist mit optimaler Effektivität.

Die Snort-Regeln

Es gibt drei Regelsätze:

    < li>Community-Regeln: Dies sind frei verfügbare Regelsätze, die von der Snort-Benutzer-Community erstellt wurden.
  • Registrierte Regeln: Diese Regelsätze werden von Talos bereitgestellt. Sie sind ebenfalls frei verfügbar, aber Sie müssen sich registrieren, um sie zu erhalten. Die Registrierung ist kostenlos und dauert nur einen Moment. Sie erhalten einen persönlichen Oinkcode, den Sie in die Download-Anfrage aufnehmen müssen.
  • Abonnementregeln:Dies sind die gleichen Regeln wie die registrierten Regeln. Abonnenten erhalten die Regeln jedoch etwa einen Monat vor der Veröffentlichung als kostenlose Regelsätze für registrierte Benutzer. Zum Zeitpunkt des Schreibens beginnen 12-Monats-Abonnements bei 29 USD für den persönlichen Gebrauch und 399 USD für den geschäftlichen Gebrauch.

Snort installieren

Früher war die Installation von Snort ein langwieriger manueller Prozess. Es war nicht schwer, aber es gab viele Stufen und es war leicht, eine zu übersehen. Die großen Linux-Distributionen haben die Dinge einfacher gemacht, indem sie Snort in ihren Software-Repositorys verfügbar gemacht haben.

Werbung

Die Versionen in den Repositorys bleiben manchmal hinter der neuesten Version zurück, die auf der Snort-Website verfügbar ist. Wenn Sie möchten, können Sie sie aus der Quelle herunterladen und installieren. Solange Sie die neuesten Regeln haben, spielt es keine Rolle, ob Ihr Snort nicht das neueste und beste ist, solange es nicht uralt ist.

Um diesen Artikel zu recherchieren, haben wir Snort auf Ubuntu 20.04, Fedora 32 und Manjaro 20.0.1 installiert.

Um Snort auf Ubuntu zu installieren, verwenden Sie diesen Befehl:

sudo apt-get install snort < p>

Im Verlauf der Installation werden Ihnen einige Fragen gestellt. Die Antworten darauf finden Sie mit dem Befehl ip addr vor Beginn der Installation oder in einem separaten Terminalfenster.

ip addr

Notieren Sie sich den Namen Ihrer Netzwerkschnittstelle. Auf diesem Forschungscomputer ist es enp0s3.

Sehen Sie sich auch Ihre IP-Adresse an. Dieser Computer hat die IP-Adresse 192.168.1.24. Das zusätzliche “/24” ist die klassenlose Inter-Domain-Routing (CIDR)-Notation. Dies gibt uns den Netzwerkadressbereich an. Dies bedeutet, dass dieses Netzwerk eine Subnetzmaske von 255.255.255.0 hat, die drei führende Sätze von acht Bits (und 3 x 8 = 24) hat. Sie müssen sich darüber nicht allzu viele Sorgen machen, notieren Sie einfach, was auch immer Ihre IP-Adresse ist, einschließlich der CIDR-Notation. Sie müssen dies als Antwort auf eine der Fragen angeben, wobei das letzte Oktett der IP-Adresse auf Null geändert wird. In unserem Beispiel ist dies 192.168.1.0/24.

Drücken Sie “Tabulator” , um das Symbol “OK” hervorzuheben. und drücken Sie “Enter.”

Werbung

Geben Sie den Namen der Netzwerkschnittstelle ein und drücken Sie die “Tabulatortaste” , um das Symbol “OK” hervorzuheben. und drücken Sie “Enter.”

Geben Sie den Netzwerkadressbereich im CIDR-Format ein und drücken Sie “Tabulator” , um das Symbol “OK” hervorzuheben. und drücken Sie “Enter.”

Um Snort auf Fedora zu installieren, müssen Sie zwei Befehle verwenden:

rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm

sudo dnf install snort

Auf Manjaro brauchen wir nicht den üblichen pacman, sondern pamac. Und wir müssen nicht sudo verwenden:

pamac install snort

Wenn Sie gefragt werden, ob Sie Snort aus dem AUR (Arch User Repository) erstellen möchten, drücken Sie “Y” und drücken Sie “Eingabe.” Wir möchten die Build-Dateien nicht bearbeiten, also beantworten Sie diese Frage, indem Sie “N” und drücken Sie “Eingabe” Drücken Sie “Y” und drücken Sie “Eingabe” wenn Sie gefragt werden, ob die Transaktion angewendet werden soll.

Sie werden nach Ihrem Passwort gefragt.

Die installierten Versionen von Snort waren:

  • Ubuntu: 2.9.7.0
  • Fedora: 2.9.16.1
  • Manjaro : 2.9.16.1

Sie können Ihre Version überprüfen mit:

snort –version

Snort konfigurieren

< p>Bevor wir Snort ausführen können, müssen einige Schritte ausgeführt werden. Wir müssen die “snort.conf” Datei.

sudo gedit /etc/snort/snort.conf

Werbung< br>

Suchen Sie die Zeile “ipvar HOME_NET any” und bearbeiten Sie es, um das “any” mit dem CIDR-Notation-Adressbereich Ihres Netzwerks.

Speichern Ihre Änderungen und schließen Sie die Datei.

Aktualisieren der Snort-Regeln

Um sicherzustellen, dass Ihre Kopie von Snort die maximale Aktualisieren Sie die Regeln auf die neueste Version. Dadurch wird sichergestellt, dass Snort Zugriff auf die neuesten Angriffsdefinitionen und Schutzmaßnahmen hat.

Wenn Sie sich registriert und einen eigenen oinkcode erhalten haben, können Sie mit dem folgenden Befehl den Regelsatz für registrierte Benutzer herunterladen. Auf der Snort-Downloadseite werden die verfügbaren Regelsätze aufgelistet, einschließlich des Community-Regelsatzes, für den Sie sich nicht registrieren müssen.

Laden Sie den Regelsatz für die von Ihnen installierte Snort-Version herunter. Wir laden die Version 2.9.8.3 herunter, die der Version 2.9.7.0 von Snort am nächsten kommt, die sich im Ubuntu-Repository befand.

wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=<Ihr Oink-Code kommt hier> -O snortrules-snapshot-2983.tar.gz

Sobald der Download abgeschlossen ist abgeschlossen haben, verwenden Sie diesen Befehl, um die Regeln zu extrahieren und in die “/etc/snort/rules” Verzeichnis.

sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C /etc/snort/rules

Promiscuous-Modus

Netzwerkkarten ignorieren normalerweise Datenverkehr, der nicht für ihre IP-Adresse bestimmt ist. Wir möchten, dass Snort verdächtigen Netzwerkverkehr erkennt, der an jedes Gerät im Netzwerk gerichtet ist, nicht nur Netzwerkverkehr, der zufällig an den Computer gesendet wird, auf dem Snort installiert ist.

Werbung

Damit die Netzwerkschnittstelle des Snort-Computers auf den gesamten Netzwerkverkehr hört, müssen wir sie in den Promiscuous-Modus versetzen. Mit dem folgenden Befehl wird die Netzwerkschnittstelle enp0s3 im Promiscuous-Modus betrieben. Ersetzen Sie enp0s3 durch den Namen der Netzwerkschnittstelle, die Sie auf Ihrem Computer verwenden.

sudo ip link set enp0s3 promisc on

Wenn Sie Snort in einer virtuellen Maschine ausführen, denken Sie auch daran, die Einstellungen in Ihrem Hypervisor für die von Ihrer virtuellen Maschine verwendete virtuelle Netzwerkkarte anzupassen. In VirtualBox müssen Sie beispielsweise zu Einstellungen > Netzwerk > Erweitert und ändern Sie den “Promiscuous Mode” Dropdown-Menü zu “Alle zulassen”

VERWANDTE: So verwenden Sie den IP-Befehl unter Linux

Ausführen von Snort

Sie können Snort jetzt starten. Das Befehlsformat ist:

sudo snort -d -l /var/log/snort/-h 192.168.1.0/24 -A console -c /etc/snort/snort.conf

Ersetzen Sie 192.168.1.0/24 durch Ihren eigenen Netzwerk-IP-Bereich.

Die in diesem Befehl verwendeten Befehlszeilenoptionen sind:

  • -d: Filtert die Pakete der Anwendungsschicht heraus.
  • -l /var/log/snort/: Legt das Protokollierungsverzeichnis fest.
  • -h 192.168.1.0/24:Dadurch wird nicht das Heimnetzwerk eingestellt, das in der “snort.conf” Datei. Wenn dieser Wert auf denselben Wert wie das Heimnetzwerk eingestellt ist, sind die Protokolle so strukturiert, dass Inhalte von verdächtigen Remote-Computern in Verzeichnissen protokolliert werden, die nach jedem Remote-Computer benannt sind.
  • -Eine Konsole: Sendet Warnungen an das Konsolenfenster.
  • -c /etc/snort/snort.conf: Gibt an, welche Snort-Konfigurationsdatei verwendet werden soll.

Snort scrollt viele Ausgaben im Terminalfenster und wechselt dann in den Überwachungs- und Analysemodus. Sofern keine verdächtigen Aktivitäten festgestellt werden, sehen Sie keine weitere Bildschirmausgabe.

Von einem anderen Computer aus begannen wir, schädliche Aktivitäten zu generieren, die direkt auf unseren Testcomputer gerichtet waren, auf dem Snort ausgeführt wurde.

Snort identifiziert den Netzwerkverkehr als potenziell bösartig, sendet Warnungen an das Konsolenfenster und schreibt Einträge in die Protokolle.

Werbung

Angriffe, die als “Informationslecks” Angriffe weisen darauf hin, dass versucht wurde, Ihren Computer nach Informationen abzufragen, die einem Angreifer helfen könnten. Dies weist wahrscheinlich darauf hin, dass jemand Ihr System auskundschaftet.

Angriffe, die als “Denial of Service” Angriffe weisen auf einen Versuch hin, Ihren Computer mit falschem Netzwerkverkehr zu überfluten. Der Angriff versucht, Ihren Computer so weit zu überwältigen, dass er seine Dienste nicht mehr bereitstellen kann.

Um zu überprüfen, ob der Promiscuous-Modus korrekt funktioniert und wir den gesamten Netzwerkadressbereich schützen, leiten wir bösartigen Datenverkehr auf einen anderen Computer ab und prüfen, ob Snort ihn erkennt.

< img src="http://www.cloudsavvyit.com/pagespeed_static/1.JiBnMqyl6S.gif" />

Die Aktivität wird erkannt und gemeldet, und wir können sehen, dass dieser Angriff gegen einen anderen gerichtet war Computer mit der IP-Adresse 192.168.1.16. Snort überwacht den gesamten Adressbereich dieses Netzwerks.

Nächste Schritte

Um seine Wachsamkeit aufrechtzuerhalten, benötigt Snort Datum Regeln. Sie könnten ein kleines Skript schreiben und die Befehle zum Herunterladen und Installieren der Regeln darin einfügen und einen Cron-Job festlegen, um den Prozess zu automatisieren, indem Sie das Skript regelmäßig aufrufen. Das Pulledpork-Skript ist ein vorgefertigtes Skript, das genau das tut, wenn Sie keine Lust haben, Ihr eigenes zu schreiben.

Snort hat kein Frontend oder eine grafische Benutzeroberfläche. Projekte von Drittanbietern haben mehrere erstellt und Sie sollten einige davon untersuchen, z. B. Snorby und Squil.