Suricata IDS: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| + | =Debian Template= | ||
| + | == Vorbereitungen == | ||
| + | * VirtualBox Server-Vorlage klonen | ||
| + | === Netzkonfiguration DNS-Server (DMZ) === | ||
| + | |||
| + | {| class="wikitable" style="background-color: #f2f2f2;" | ||
| + | ! Parameter !! Wert !! Erläuterung | ||
| + | |- | ||
| + | | '''1. Netzwerk (NIC)''' || SERVER || Interne | ||
| + | |- | ||
| + | | '''IP''' || 10.2XX.1.21 || Statische IP | ||
| + | |- | ||
| + | | '''CIDR''' || 24 || Classless Inter-Domain Routing Präfixlänge | ||
| + | |- | ||
| + | | '''GW''' || 10.2XX.1.1 || GATEWAY | ||
| + | |- | ||
| + | | '''NS''' || 192.168.HS.88 || Resolver | ||
| + | |- | ||
| + | | '''FQDN''' || suricata-ids.it2XX.int || Fully Qualified Domain Name | ||
| + | |- | ||
| + | | '''SHORT''' || suricata-ids || Short Name | ||
| + | |- | ||
| + | | '''DOM''' || it2XX.int|| Domain Name | ||
| + | |- | ||
| + | | '''2. Netzwerk (NIC)''' || DMZ || Intern Promisc | ||
| + | |} | ||
| + | ;Anpassen des Templates | ||
| + | *[[Anpassen des Debian Templates]] | ||
| + | oder | ||
| + | ;Mit Skript | ||
| + | *debian-setup.sh -f ns.it2XX.int -a 10.88.2XX.21/24 -g 10.88.2XX.1 -n | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | =Installation= | ||
| + | *apt install suricata | ||
| + | |||
| + | |||
| + | |||
=Suricata minimale Konfiguration= | =Suricata minimale Konfiguration= | ||
Version vom 5. Mai 2026, 16:43 Uhr
Debian Template
Vorbereitungen
- VirtualBox Server-Vorlage klonen
Netzkonfiguration DNS-Server (DMZ)
| Parameter | Wert | Erläuterung |
|---|---|---|
| 1. Netzwerk (NIC) | SERVER | Interne |
| IP | 10.2XX.1.21 | Statische IP |
| CIDR | 24 | Classless Inter-Domain Routing Präfixlänge |
| GW | 10.2XX.1.1 | GATEWAY |
| NS | 192.168.HS.88 | Resolver |
| FQDN | suricata-ids.it2XX.int | Fully Qualified Domain Name |
| SHORT | suricata-ids | Short Name |
| DOM | it2XX.int | Domain Name |
| 2. Netzwerk (NIC) | DMZ | Intern Promisc |
- Anpassen des Templates
oder
- Mit Skript
- debian-setup.sh -f ns.it2XX.int -a 10.88.2XX.21/24 -g 10.88.2XX.1 -n
Installation
- apt install suricata
Suricata minimale Konfiguration
- vim /etc/suricata/suricata.yaml
%YAML 1.1
---
# Variablen für die Adressgruppen festlegen
vars:
address-groups:
LAN: "[172.17.113.0/24]"
DMZ: "[10.88.113.0/24]"
SERVER: "[172.16.113.0/24]"
INT: "[$LAN,$DMZ,$SERVER]"
HOME_NET: "$INT"
EXTERNAL_NET: "!$INT"
# Standard-Log-Verzeichnis
default-log-dir: /var/log/suricata/
# Statistiken aktivieren
stats:
enabled: yes
interval: 8
# Ausgaben konfigurieren
outputs:
- fast:
enabled: yes
filename: fast.log
append: yes
- alert-debug:
enabled: yes
filename: alert-debug.log
append: yes
- stats:
enabled: yes
filename: stats.log
append: yes
totals: yes
threads: no
# Logging-Einstellungen
logging:
default-log-level: notice
outputs:
- console:
enabled: yes
- file:
enabled: yes
level: info
filename: suricata.log
# Netzwerkschnittstellen konfigurieren
af-packet:
- interface: enp0s3
threads: auto
cluster-id: 97
cluster-type: cluster_flow
defrag: yes
- interface: enp0s8
threads: auto
cluster-id: 98
cluster-type: cluster_flow
defrag: yes
- interface: enp0s9
threads: auto
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
- interface: enp0s10
threads: auto
cluster-id: 100
cluster-type: cluster_flow
defrag: yes
# PID-Datei pid-file: /var/run/suricata.pid # Coredump-Einstellungen coredump: max-dump: unlimited # Host-Modus host-mode: auto # Unix-Befehlseingabe konfigurieren unix-command: enabled: yes filename: /var/run/suricata-command.socket # Engine-Analyse-Einstellungen engine-analysis: rules-fast-pattern: yes rules: yes # Defragmentierungseinstellungen defrag: memcap: 32mb hash-size: 65536 trackers: 65535 max-frags: 65535 prealloc: yes timeout: 60 # Standardregelverzeichnis default-rule-path: /etc/suricata/rules # Regel-Dateien rule-files: - local.rules # Klassifikationsdatei classification-file: /etc/suricata/classification.config # Referenzkonfigurationsdatei reference-config-file: /etc/suricata/reference.config
Local Rules
- flow:to_server bei ICMP ist wichtig, damit ICMP nicht als IP-only verstanden wird
- vim /etc/suricata/rules/local.rules
alert icmp any any -> any any (msg:"ICMP Test"; flow:to_server; sid:1;) alert tcp any any -> any any (flags: S; msg: "SYN packet"; sid:2;)
Suricata starten
- Der Systemd Service ist leider verbuggt
- manchmal muss die PID File manuell gelöscht werden bevor es starten kann
- rm /var/run/suricata.pid
- Stattdessen diesen Befehl verwenden
- suricata -D --af-packet -c /etc/suricata/suricata.yaml
Suricata stoppen
- Suricata kann über einen UNIX Socket gesteuert werden
- Ein Python-Interface dafür bietet suricatasc
- suricatasc -c shutdown
- suricatasc -c reload-rules
check
- tail -f /var/log/suricata/fast.log