- 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.
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.
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.
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
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.
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
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.
Sehen wir uns ein weiteres Protokoll an, in dem wir Zugriffe von Google Chrome auf die TechnoWikis.com-Website erkennen.
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.
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.