Suricata installieren

In diesem Beitrag sehen wir die Schritte, die wir ausführen müssen, um Suricata auf einem Debian zu installieren 10.6. Suricata ist eine leistungsstarke Netzwerk-Engine, als IDS (Intrusion Detection System), IPS (Angrifferkennungssystem) und als Netzwerküberwachungssystem verwendet, und natürlich, Open Source!

Dank Suricata können wir in Echtzeit wissen, was in unserem Netzwerk passiert, wir können lernen, was passiert, Welche Maschinen kommunizieren mit welchen?… unter anderem, Wir können Regeln festlegen, um den Verkehr zu benachrichtigen, der uns interessiert, eine Vergangenheit. In einem anderen Dokument erfahren Sie, wie Sie die von Suricata gesammelten Daten nach Elasticsearch exportieren, und so, mit Kibana oder Grafana, um diesen Verkehr visualisieren zu können.

Wir installieren Suricata in Debian Buster:

Echo "deb http://http.debian.net/debian buster-backports main" > /etc / apt / sources.list.d / backports.list
apt-get update
apt-get install suricata -t Buster-Backports
apt-get install suricata-oinkmaster

In der Suricata-Konfigurationsdatei (/etc / suricata / suricata.yaml) Zumindest müssen wir den Namen der Netzwerkschnittstelle, die den Datenverkehr abhört, korrekt schreiben, Wir können die lokalen IP-Bereiche definieren und aktivieren, wenn die Ausgabe in einer einfachen Ansicht einer Linie angezeigt werden soll (wie schnaubend):

unverpackt:
  - Schnittstelle: ens192

HOME_NET: "[192.168.1.0/24,192.168.0.0/24,192.168.33.0/24]"

Ausgänge:
  - schnell:
      aktiviert: Ja
      Dateiname: fast.log
      anhängen: Ja

Wir haben zuvor Oinkmaster installiert, Wir werden es verwenden, um die Regeln zu verwalten und auf dem neuesten Stand zu halten. In Ihrer Konfigurationsdatei (/etc / oinkmaster.conf) Wir fügen die folgende URL hinzu:

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

Wir laden die Regeln neu und aktualisieren sie:

systemctl suricata neu starten
systemctl status suricata
suricata-oinkmaster-updater

Wie wir kommentiert haben, Wir können Dateien mit Regeln erstellen (/etc / suricata / rules / misreglas.rules), zum Beispiel dies zuerst, Was ist, wenn festgestellt wird, dass ICMP-Verkehr vorhanden ist? (von jedem Ursprung zu jedem Ziel) Dadurch wird ein Datensatz in der Protokolldatei generiert. Wenn also festgestellt wird, dass jemand einen PING erstellt, wird dies uns mitgeteilt, wir hinzufügen:

alert icmp any any -> irgendwelche (Nachricht: "ICMP erkannt";)

Denken Sie daran, dass wir dies in der Suricata-Konfigurationsdatei angeben müssen (/etc / suricata / suricata.yaml) Der Name der Datei mit den Regeln, die wir gerade definiert haben:

Regeldateien:
  ...
  - misreglas.rules

Wir starten Suricata neu, um die neuesten Änderungen zu lesen:

systemctl suricata neu starten
systemctl status suricata

Und wir können von jedem Computer aus einen PING für jede IP erstellen, der in den von uns angegebenen Ausgängen registriert werden sollte:

Klingeln 8.8.8.8
tail -f /var/log/suricata/eve.json
tail -f /var/log/suricata/fast.log

Vorerst sehr cool, Möglichkeiten kennen zu lernen, Wir können alles aufnehmen, was unser Erdmännchen sieht. Denken Sie daran, wenn Sie es als virtuelle Maschine bereitgestellt haben, Sie müssen den Promiscuous-Modus aktivieren, oder wenn dein Schalter kann, Leiten Sie den gesamten Datenverkehr zu Ihrem Hafen um. Hier sind einige Beispiele für andere Anfangsregeln, um Ihnen ein wenig Spiel zu geben:

alert tcp any any -> irgendwelche (Inhalt:"Google Mail"; Nachricht: "Wir erkennen Google Mail"; sid:1000002;)
alert icmp any any -> irgendwelche (Nachricht: "ICMP erkannt";)
alert icmp $ HOME_NET any -> $EXTERNAL_NET beliebig (Nachricht: "Ausgabe ICMP erkannt"; sid:1; rev:1; Klassentyp:icmp-custom-event;)
alert icmp $ EXTERNAL_NET any -> $HOME_NET beliebig (Nachricht: "Eingabe ICMP erkannt"; sid:2; rev:1; Klassentyp:icmp-custom-event;)
alert icmp $ HOME_NET any -> $HOME_NET beliebig (Nachricht: "ICMP im lokalen Netzwerk erkannt"; sid:3; rev:1; Klassentyp:icmp-custom-event;)
alert tcp $ EXTERNAL_NET any -> $HOME_NET beliebig (Nachricht: "Internetverbindung zum LAN"; sid:5; rev:1;)
Alarm tcp 192.168.1.254 irgendein -> 192.168.1.XXX beliebig (Nachricht: "Internetverbindung zu Jitsi"; sid:6; rev:1;)
Alarm tcp 192.168.1.254 irgendein -> 192.168.1.XXX beliebig (Nachricht: "Internetverbindung nach Grafana"; sid:7; rev:1;)
Alarm tcp 192.168.1.254 irgendein -> 192.168.1.XXX beliebig (Nachricht: "Internetverbindung zu NextCloud"; sid:8; rev:1;)
Alarm tcp 192.168.1.254 irgendein -> 192.168.1.XXX beliebig (Nachricht: "Internetverbindung zu OTRS"; sid:9; rev:1;)
alert tcp any any -> 192.168.1.XXX beliebig (Nachricht: "Internetverbindung zu Citrix"; sid:10; rev:1;)

Und sie sagten:, Dies ist ein erstes Dokument, in dem wir sehen, wie Suricata installiert und bereitgestellt wird, wie man es voll funktionsfähig macht, dass wir mit zukünftigen Dokumenten weiterentwickeln, Zumindest mit der Absicht, es wie in Elasticsearch beschrieben zu speichern und mit Grafana oder Kibana anzuzeigen, schmecken.