Suricata Eindringlingserkennungssystem

Suricata basiert auf dem Snort IDS-System, das ist auch ein Einbruchmeldesystem, Snort haben wir in anderen Tutorials gesehen wie zum Beispiel:
  • Hacker-Prävention und Sicherheitstools
  • Erhöhung der Sicherheit von Servern und Betriebssystemen

Meerkat, das in der Lage ist, Multithread-Analysen durchzuführen, Netzwerk-Streams nativ zu decodieren und Netzwerk-Stream-Dateien während der Analyse zusammenzustellen.

Dieses Tool ist sehr skalierbar, das heißt, es kann mehrere Instanzen ausführen und die Last ausgleichen, wenn wir mehrere Prozessoren haben, wodurch das volle Potenzial eines Teams ausgeschöpft werden kann. Dadurch können wir keine Probleme mit dem Ressourcenverbrauch haben, während wir eine Analyse durchführen.
Die gängigsten Protokolle werden automatisch erkannt von Erdmännchen, so viel http, https, ftp, smtp, pop3 und andere, wodurch wir Regeln für Berechtigungen und Filterung des ein- und ausgehenden Datenverkehrs konfigurieren können, steuern wir auch den Port, über den auf jedes Protokoll zugegriffen wird.
Ein weiterer Service, den es bietet, ist die Identifizierung Archiv, MD5-Prüfsummen und Kontrolle komprimierter Dateien. Suricata kann erkennen, welche Dateitypen im Netzwerk übertragen oder darauf zugegriffen werden. Wenn wir auf eine Datei zugreifen möchten, veranlasst diese Aufgabe Suricata, eine Datei auf der Festplatte mit einem Metadatenformat zu erstellen, das die Situation und die ausgeführte Aufgabe beschreibt. Die MD5-Prüfsumme wird verwendet, um festzustellen, ob die Metadatendatei, in der die Informationen zu den ausgeführten Aufgaben gespeichert sind, nicht geändert wurde.

Installieren Sie Suricata in unserem Betriebssystem


Suricata kann auf jeder Linux-Plattform verwendet werden, Mac, FreeBSD, UNIX und Windows, wir können es von der offiziellen Website herunterladen oder wenn wir Linux haben, um es aus den Repositorys zu installieren.

Wir werden Suricata in diesem Tutorial auf Linux Mint installieren. Um Suricata zu installieren, öffnen wir ein Terminalfenster und geben die folgenden Befehle ein:
 sudo add-apt ppa-repository: oisf / meerkat stable sudo update apt-get sudo apt-get install meerkat
Damit wäre es installiert.

Suricata auf einem Server einrichten


Von Linux aus müssen wir im Administratormodus auf das Terminal zugreifen. Wir beginnen mit der Erstellung eines Ordners, in dem die Informationen gespeichert werden, die Suricata sammelt und registriert.
 sudo mkdir / var / log / meerkat
Wir müssen auch überprüfen, ob sich das System im Ordner etc befindet, andernfalls erstellen wir es:
 sudo mkdir / etc / erdmännchen
Wir werden Suricata bereits installiert haben und die Einbruchmeldesystem und Netzwerk-Traffic-Analysator. Zu diesem Zeitpunkt gibt es keine definierten Regeln zum Filtern, daher müssen wir Regeln erstellen oder verwenden. Emerging Threats, eine Sammlung von Regeln und bekannten Bedrohungen für Snort und Suricata, so etwas wie eine Antivirendatenbank, aber für Eindringlinge ist die Verwendung der Regeln für Emerging Threats kostenlos und kostenlos.
Dann können wir mit den folgenden Befehlen Regeldateien vom Terminal herunterladen:
 wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
Dann müssen wir die Datei entpacken und in den Ordner /etc/suricata kopieren
 tar zxvf emergen.rules.tar.gz cp -r rules /etc /suricata /
Als nächstes müssen wir die konfigurieren Suricata-Parsing-Engine, mit der Standardkonfiguration verwendet es die Netzwerkschnittstellen eth0 mit Regeln, die es enthält und die wir in der Datei definieren Unterschriften.RegelnUm neue Regeln zu konfigurieren, müssen wir den folgenden Befehl verwenden:
 erdmännchen -c meerkat.yaml -s signatures.rules -i eth0
Die Regeln werden konfiguriert.

Verfügbare Netzwerkschnittstellen


Um die Verbindungen oder verfügbaren Netzwerkschnittstellen zu überprüfen, schreiben wir aus einem Terminalfenster den folgenden Befehl:
 Ifconfig 

Jetzt können Sie sehen, welche wir prüfen möchten, da Sie die IP jedes einzelnen und seinen Namen kennen. Um die Engine zu starten und eine Netzwerkschnittstelle, beispielsweise das WLAN-Netzwerk, zuzuweisen, schreiben wir folgenden Befehl:
 sudo suricata -c /etc/suricata/suricata.yaml -i wlan0
Wenn wir das kabelgebundene Netzwerk überprüfen möchten, verwenden wir eth0. Um zu sehen, ob die Engine richtig funktioniert und tatsächlich Inspektionen im Netzwerk durchführt, müssen wir den folgenden Befehl verwenden:
 cd / var / log / suricata tail http.log
Dies zeigt uns eine Liste mit dem Datum, der Uhrzeit und der Web- oder IP-Adresse, auf die zugegriffen wurde und über welchen Port. Wenn wir uns die Statslog-Dateien ansehen, können wir den Verkehrsfluss und die erkannten Warnungen beobachten. Wir müssen die Seiten, die wir durchsuchen, von denen unterscheiden, die durch Werbung weitergeleitet werden.

 tail -f stats.log
Wir können die Protokolldateien auch herunterladen und mit einem Texteditor oder unserer eigenen Software öffnen, um das Lesen zu verbessern.
Ein Beispiel ist eine Json-Datei mit dem Namen Even.json

Hier sehen wir die verwendeten Ports und die IP Wir können sehen, dass die IP 31.13.85.8 Facebook entspricht, wir erkennen auch einen Zugriff auf c.live.com, das wäre das Outlook-Mail-Web.

Sehen wir uns ein weiteres Protokoll an, in dem wir den Zugriff von Google Chrome auf die Website Solvetic.com erkennen.

Um nicht den gesamten Verkehr zu kontrollieren, können wir mit dem folgenden Befehl den Monitor einer Gruppe oder eines bestimmten Benutzers bestimmen.
 sudo suricata -c /etc/suricata/suricata.yaml -D -i eth0 --user = jose01 --group = Buchhaltung
Wir müssen bedenken, dass die Ausführung der Regelsätze, selbst von bescheidener Größe, zur Überwachung eines HTTP-Verkehrsflusses unter Verwendung der vollständigen Bedrohungs-Repositorys und seines Regelsatzes ungefähr einen äquivalenten Verbrauch an CPU- und RAM-Ressourcen erfordert MB pro Sekunde, obwohl es nicht viel ist, einen Server zu beeinträchtigen.

Regeln zum Ignorieren des Verkehrs


In einigen Fällen gibt es Gründe, bestimmten Verkehr zu ignorieren, an dessen Überwachung wir nicht interessiert sind. Vielleicht ein vertrauenswürdiger Host oder ein Netzwerk oder eine Website.
Wir werden sehen Einige Strategien, um den Verkehr mit Erdmännchen zu ignorieren. Durch die Erfassungsfilter können Sie Suricata mitteilen, was Sie befolgen sollen und was nicht. Ein einfacher TCP-Protokollfilter prüft beispielsweise nur TCP-Pakete.
Wenn einige Computer oder Netzwerke ignoriert werden sollen, sollten wir nicht IP1 oder ip/24 verwenden, um alle Computer in einem Netzwerk zu ignorieren.

Genehmigen Sie ein Paket und seinen Verkehr


Bestehen Regeln mit Erdmännchen und feststellen, dass ein Paket beispielsweise nicht von einer bestimmten IP und dem TCP-Protokoll gefiltert wird, verwenden wir den folgenden Befehl in den Regeldateien, die im Ordner / etc / suricata / rules eingerichtet sind
 Pass 192.168.0.1 any any any (msg: "Akzeptiere den gesamten Verkehr von dieser IP";)
Um zu sehen, welche Module wir für Suricata aktiviert haben, öffnen wir ein Terminalfenster und geben dann den folgenden Befehl ein:
 Erdmännchen --build-info
Wir haben gesehen, wie Erdmännchen mit seinen IDS-Service Basierend auf Regeln zur Kontrolle des Netzwerkverkehrs und zur Warnung des Systemadministrators bei verdächtigen Ereignissen ist es sehr nützlich, damit wir zusammen mit anderen Netzwerksicherheitssystemen unsere Daten vor unsachgemäßem Zugriff schützen können.
Suricata verfügt über die Funktionen und Bibliotheksoptionen, die über Plugins hinzugefügt werden können, um als Monitor oder API in andere Anwendungen integriert zu werden.
Es ist wichtig zu wissen, welche Dienste aktiv sind und was wir überwachen müssen, um keine sehr langen Berichte über Dienste oder Ports zu erhalten, die nicht funktionieren.
Wenn die Server beispielsweise nur Web-Server sind und nur Port 80 für HTTP benötigen, gibt es keinen Grund, den SMTP-Dienst zu überwachen, der zum Senden von E-Mails dient.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave