Suricata/Konfiguration: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
== Konfiguration == | == Konfiguration == | ||
; | ; ''/etc/suricata/'' | ||
* Dort sollte mindestens die Datei ''suricata.yaml'' zu finden sein, die die Hauptkonfiguration beinhaltet | * Dort sollte mindestens die Datei ''suricata.yaml'' zu finden sein, die die Hauptkonfiguration beinhaltet | ||
; Je nach eingesetzter Distribution kann der Dateiname auch anders lauten | |||
* Bei Debian und Ubuntu etwa findet man die Konfiguration in ''/etc/suricata/suricata-debian.yaml'' | * Bei Debian und Ubuntu etwa findet man die Konfiguration in ''/etc/suricata/suricata-debian.yaml'' | ||
* Hier lässt sich nicht nur das Regelwerk und die Einbindung von Netzwerkschnittstellen konfigurieren, sondern auch die Paketanalyse steuern | * Hier lässt sich nicht nur das Regelwerk und die Einbindung von Netzwerkschnittstellen konfigurieren, sondern auch die Paketanalyse steuern | ||
Zeile 8: | Zeile 9: | ||
; Suricata zieht zur Paketanalyse verschiedene Variablen heran und nutzt diese Informationen bei der Frage, welche Regeln für das aktuelle Paket überhaupt in Betracht kommen | ; Suricata zieht zur Paketanalyse verschiedene Variablen heran und nutzt diese Informationen bei der Frage, welche Regeln für das aktuelle Paket überhaupt in Betracht kommen | ||
* Wozu sollte man auch ein Paket auf eine Vielzahl von Angriffsmustern für Webserver analysieren, wenn auf der IP-Adresse gar kein Webserver horcht? | * Wozu sollte man auch ein Paket auf eine Vielzahl von Angriffsmustern für Webserver analysieren, wenn auf der IP-Adresse gar kein Webserver horcht? | ||
* Es geht also darum, Suricata das zu schützende Netz möglichst genau zu beschreiben | * Es geht also darum, Suricata das zu schützende Netz möglichst genau zu beschreiben | ||
; Allen voran ist hier die wichtigste Variable <tt>HOME_NET</tt> zu nennen | ; Allen voran ist hier die wichtigste Variable <tt>HOME_NET</tt> zu nennen | ||
* Diese Variable gibt den Adressbereich an, der durch das IDS geschützt werden soll, und kann eine einzelne IP-Adresse oder ein Netzwerkbereich sein. | * Diese Variable gibt den Adressbereich an, der durch das IDS geschützt werden soll, und kann eine einzelne IP-Adresse oder ein Netzwerkbereich sein. | ||
* In einer üblichen kleineren Netzwerktopologie wird man hier in der Praxis das LAN und vielleicht eine externe IP-Adresse finden. | * In einer üblichen kleineren Netzwerktopologie wird man hier in der Praxis das LAN und vielleicht eine externe IP-Adresse finden. | ||
Zeile 44: | Zeile 45: | ||
host-os-policy: .. # according to the OS running the ips | host-os-policy: .. # according to the OS running the ips | ||
magic-file: /usr/share/file/misc/magic.mgc | magic-file: /usr/share/file/misc/magic.mgc | ||
== Starting Suricata == | == Starting Suricata == |
Version vom 18. März 2023, 09:00 Uhr
Konfiguration
- /etc/suricata/
- Dort sollte mindestens die Datei suricata.yaml zu finden sein, die die Hauptkonfiguration beinhaltet
- Je nach eingesetzter Distribution kann der Dateiname auch anders lauten
- Bei Debian und Ubuntu etwa findet man die Konfiguration in /etc/suricata/suricata-debian.yaml
- Hier lässt sich nicht nur das Regelwerk und die Einbindung von Netzwerkschnittstellen konfigurieren, sondern auch die Paketanalyse steuern
- Suricata zieht zur Paketanalyse verschiedene Variablen heran und nutzt diese Informationen bei der Frage, welche Regeln für das aktuelle Paket überhaupt in Betracht kommen
- Wozu sollte man auch ein Paket auf eine Vielzahl von Angriffsmustern für Webserver analysieren, wenn auf der IP-Adresse gar kein Webserver horcht?
- Es geht also darum, Suricata das zu schützende Netz möglichst genau zu beschreiben
- Allen voran ist hier die wichtigste Variable HOME_NET zu nennen
- Diese Variable gibt den Adressbereich an, der durch das IDS geschützt werden soll, und kann eine einzelne IP-Adresse oder ein Netzwerkbereich sein.
- In einer üblichen kleineren Netzwerktopologie wird man hier in der Praxis das LAN und vielleicht eine externe IP-Adresse finden.
- Also z.B. HOME_NET: "[192.168.0.0/16,1.2.3.4]".
- Das Hinzufügen der externen IP-Adresse hat den Vorteil, dass potentielle Angriffe auf das Suricata-System selbst ebenfalls erkannt werden.
- Ist das Suricata-System auch das Gateway für das interne Netz, sollte die externe IP-Adresse auf jeden Fall in das HOME_NET aufgenommen werden, da aufgrund von SNAT-Techniken (IP-Maskierung) sonst einige Angriffsmuster nicht als solche erkannt werden.
- Die Variable EXTERNAL_NET gibt an, welche IP-Adressen nicht zum lokalen Netzwerk gehören.
- Die Standardeinstellung ist auf EXTERNAL_NET: "!$HOME_NET" vorgegeben.
- Demnach wird alles als extern und potentiell böswillig angesehen, was nicht zum internen Netz gehört.
- Neben HOME_NET und EXTERNAL_NET können eine Reihe weiterer Angaben gemacht werden, die eine noch gezieltere Auswertung möglich machen und z.B.
- die Erkennung von protokollspezifischen Mustern auf einzelne IP-Adressen beschränkt.
- Wenn z.B. bekannt ist, dass der einzige zu überwachende Webserver die IP-Adresse 192.168.1.100 hat, dann kann auch die Detektion von webbasierten Angriffen auf diese IP-Adresse beschränkt werden.
- Selbiges gilt entsprechend für DNS-, SQL-, Telnet-Server und analog für *_CLIENT</nowiki>- und <nowiki>*_PORTS-Variablen.
- Selbst der vom Betriebssystem abhängige Umgang mit fragmentierten Paketen lässt sich Suricata mitteilen – vorausgesetzt, der Adressbereich für verschiedene Betriebssysteme im lokalen Netz ist hinreichend stark fragmentiert:
host-os-policy: windows: [0.0.0.0/0] # Default bsd: [192.168.1.1] # Gateway linux: [192.168.1.128/25, 192.168.1.100] # Linux Webservers
- Bei allen von Suricata genutzten Variablen gilt
Je genauer diese sind, desto performanter ist der Analyse-Prozess und desto weniger falsch-positive Meldungen treten auf.
Dateien
- The main configuration file is /etc/suricata/suricata.yaml
- You should change the following parts of the configuration in order to make it run
default-log-dir: /var/log/suricata/ # where you want to store log files classification-file: /etc/suricata/classification.config reference-config-file: /etc/suricata/reference.config HOME_NET: "[10.0.0.0/8]" # your local network host-os-policy: .. # according to the OS running the ips magic-file: /usr/share/file/misc/magic.mgc
Starting Suricata
- Manual startup
You may start the suricata service manually with:
# /usr/bin/suricata -c /etc/suricata/suricata.yaml -i eth0
- systemd service configuration
To start Suricata automatically at system boot, enable suricata.service