Suricata Intrusion Detection System

Meerkat basiert auf dem Snort IDS-System , das auch ein Intrusion Detection-System ist. Snort haben wir in anderen Tutorials gesehen, wie zum Beispiel:

  • Präventions- und Sicherheitstools gegen Hacker
  • Härtung der Sicherheit von Servern und Betriebssystemen

Erdmännchen, das in der Lage ist, Multithreading-Analysen durchzuführen, Netzwerk-Streams nativ zu dekodieren und Dateien von Netzwerk-Streams zusammenzustellen, während die Analyse durchgeführt wird.

suricata.jpg

Dieses Tool ist sehr skalierbar, was bedeutet, dass es mehrere Instanzen ausführen und die Last ausgleichen kann, wenn wir über mehrere Prozessoren verfügen, mit denen das volle Potenzial eines Geräts genutzt werden kann. Auf diese Weise können wir Probleme mit dem Ressourcenverbrauch bei der Durchführung einer Analyse vermeiden.

Die gängigsten Protokolle werden von Suricata automatisch erkannt, und zwar http, https, ftp, smtp, pop3 und andere . Auf diese Weise können wir Regeln für die Berechtigungen und die Filterung des eingehenden und ausgehenden Datenverkehrs konfigurieren sowie den Port steuern, über den der Datenverkehr erfolgt Zugriff auf jedes Protokoll.

Ein weiterer Service ist die Identifizierung von Dateien, MD5-Prüfsummen und die Kontrolle komprimierter Dateien. Erdmännchen kann identifizieren, welche Dateitypen im Netzwerk übertragen werden oder auf welche zugegriffen wird. Wenn wir auf eine Datei zugreifen möchten, erstellt Suricata auf der Festplatte eine Datei mit einem Metadatenformat, das die Situation und die ausgeführte Aufgabe beschreibt. Mit der Prüfsumme MD5 wird festgestellt, dass 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, auf Mac, FreeBSD, UNIX und Windows verwendet werden. Wir können es von der offiziellen Website herunterladen oder Linux aus den Repositories installieren.

panta01.jpg

Wir werden Suricata in diesem Tutorial in Linux Mint installieren. Um Suricata zu installieren, öffnen wir ein Terminalfenster und schreiben die folgenden Befehle:

 sudo add-apt ppa-repository: oisf / stable meerkat sudo update apt-get sudo apt-get install meerkat 

Damit wäre es installiert.

See also  Entwicklung plattformübergreifender mobiler Anwendungen mit Apache Cordova

Konfigurieren Sie Meerkat auf einem Server

Unter Linux müssen wir im Administratormodus auf das Terminal zugreifen. Wir beginnen mit der Erstellung eines Ordners zum Speichern der Informationen, die von Suricata gesammelt und aufgezeichnet werden.

 sudo mkdir / var / log / meerkat 

Wir müssen auch überprüfen, ob sich das System in dem Ordner usw. befindet, aber wir erstellen es:

 sudo mkdir / etc / meerkat 

Wir werden Suricata und das Intrusion Detection System sowie den Network Traffic Analyzer bereits installiert haben. In dieser Phase sind keine Regeln zum Filtern definiert, daher müssen Regeln erstellt oder verwendet werden. Emerging Threats , ein Repository mit Regeln und bekannten Bedrohungen für Snort und Suricata, ähnlich wie die Datenbank eines Antivirenprogramms, aber für Intrusionen sind die Regeln von Emerging Threats kostenlos und kostenlos.

Dann können wir Regeldateien mit den folgenden Befehlen vom Terminal herunterladen:

 wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz 

Dann werden wir die Datei entpacken und in den Ordner / etc / meerkat kopieren

 tar zxvf emerging.rules.tar.gz cp -r rules / etc / meerkat / 

Als nächstes müssen wir die Suricata-Analyse-Engine konfigurieren. In der Standardkonfiguration werden die Netzwerkschnittstellen eth0 mit Regeln verwendet, die in der Datei signatures.rules enthalten und definiert sind. Um neue Regeln zu konfigurieren, müssen wir den folgenden Befehl verwenden:

 suricata -c suricata.yaml -s signaturen.regeln -i eth0 

Die Regeln werden konfiguriert.

Verfügbare Netzwerkschnittstellen

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

 Ifconfig 

panta02.jpg

Jetzt können Sie sehen, welche wir prüfen möchten, indem Sie die IP-Adresse und den Namen der einzelnen prüfen. Um den Motor zu starten und eine Netzwerkschnittstelle zuzuweisen, zum Beispiel das WLAN-Netzwerk, schreiben wir den folgenden Befehl:

 sudo suricata -c /etc/suricata/suricata.yaml -i wlan0 

Wenn wir das kabelgebundene Netzwerk prüfen möchten, verwenden wir eth0. Verwenden Sie den folgenden Befehl, um festzustellen, ob die Engine ordnungsgemäß funktioniert und Sie tatsächlich Inspektionen im Netzwerk durchführen:

 cd / var / log / meerkat Schwanz http.log 

Dies zeigt uns eine Liste mit dem Datum, der Uhrzeit und dem Internet oder der IP, auf die zugegriffen wurde und über welchen Port. Wenn wir uns die Statistikdateien ansehen, die wir beobachten können, den Verkehrsfluss und die erkannten Warnungen, müssen wir die Seiten, auf denen wir navigieren, von denen unterscheiden, die durch Werbung umgeleitet werden.

See also  Mischen Sie Bilder in Photoshop CS6

panta03.jpg

 Schwanz -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

panta04.jpg

Hier können wir die verwendeten Ports und die IP sehen. Wir können sehen, dass die IP 31.13.85.8 Facebook entspricht. Wir haben auch einen Zugriff auf c.live.com festgestellt, bei dem es sich um das Mail-Web von Outlook handelt.

panta05.jpg

Sehen wir uns ein weiteres Protokoll an, in dem wir Zugriffe von Google Chrome auf die TechnoWikis.com-Website erkennen.

panta06.jpg

Um nicht den gesamten Datenverkehr 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 = accounting 

Wir müssen bedenken, dass das Ausführen von Regelsätzen mit selbst bescheidener Größe zur Überwachung des HTTP-Verkehrsflusses unter Verwendung der vollständigen Bedrohungs-Repositorys und ihrer Regelsätze ungefähr eine entsprechende CPU-Ressource und einen entsprechenden RAM-Verbrauch erfordert auf einen Verkehr von 50 Mb pro Sekunde, obwohl es nicht viel ist, einen Server zu beeinflussen.

Regeln zum Ignorieren des Datenverkehrs

In einigen Fällen gibt es Gründe, bestimmten Datenverkehr zu ignorieren, den wir nicht überwachen möchten. Möglicherweise ein Host oder ein vertrauenswürdiges Netzwerk oder eine Website.

Wir werden einige Strategien sehen, um den Verkehr mit Erdmännchen zu ignorieren . Über die Erfassungsfilter können Sie Suricata mitteilen, was zu beachten ist und was nicht. Ein einfacher TCP-Protokollfilter überwacht beispielsweise nur TCP-Pakete.

Wenn einige Geräte oder Netzwerke ignoriert werden sollen, dürfen wir nicht IP1 oder IP / 24 verwenden, um alle Computer in einem Netzwerk zu ignorieren.

See also  So synchronisieren Sie Chrome oder Firefox auf einem PC oder einem mobilen Computer

Genehmigen Sie ein Paket und seinen Datenverkehr

Um Regeln mit Suricata zu genehmigen und zu bestimmen, dass ein Paket beispielsweise von einer bestimmten IP-Adresse und dem TCP-Protokoll nicht ausläuft, verwenden wir den folgenden Befehl in den Regeldateien, die im Ordner / etc / suricata / rules festgelegt sind

 Pass 192.168.0.1 any <> any any (msg: "Akzeptiere den gesamten Verkehr von dieser IP";) 

Um zu sehen, welche Module wir in Suricata aktiviert haben, öffnen wir ein Terminalfenster und schreiben dann den folgenden Befehl:

 Erdmännchen --build-info 

Wir haben gesehen, wie Suricata mit seinem IDS-Dienst, der auf Regeln zur Steuerung des Netzwerkverkehrs basiert und Warnmeldungen an den Systemadministrator ausgibt, wenn verdächtige Ereignisse auftreten. Es ist sehr nützlich, von anderen Netzwerksicherheitssystemen begleitet zu werden, um unsere Daten vor unbefugtem Zugriff zu schützen .

Suricata verfügt über 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 sollten, um nicht zu lange Berichte über Dienste oder Ports zu erhalten, die nicht funktionieren.

Wenn zum Beispiel die Server nur für das Web sind und nur Port 80 für HTTP benötigen, gibt es keinen Grund, den SMTP-Dienst zu überwachen, der E-Mails senden soll.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *