
Suricata je pokročilý IDS/IPS systém (Intrusion Detection and Prevention System) s otevřeným zdrojovým kódem, který slouží k analýze síťového provozu, detekci útoků a sledování anomálií v síti.
Díky podpoře protokolů jako HTTP, DNS, TLS, FTP, SSH, DHCP, ICMP a dalším dokáže rozpoznávat útoky, malware, síťové skeny a další podezřelé aktivity v reálném čase.
Na Raspberry Pi 5 lze Suricatu využít například jako:
- domácí nebo laboratorní síťový senzor (IDS),
- IPS bránu blokující škodlivý provoz,
- nástroj pro analýzu síťových toků a generování statistik,
- doplněk k systémům jako SIEM, ELK stack, Grafana apod.
Instalace Suricaty na Raspberry Pi
Aktualizace systému
sudo apt update && sudo apt full-upgrade -y
sudo reboot
Instalace potřebných balíčků
sudo apt install -y suricata jq ethtool python3-yaml
Balíček suricata je oficiálně dostupný v repozitáři Debianu (Bookworm).
Alternativně lze použít novější verzi z https://suricata.io/download/.
Základní konfigurace
Nastavení síťového rozhraní
Zkontroluj, které rozhraní sleduješ (např. eth0):
ip link show
Uprav konfigurační soubor:
sudo nano /etc/suricata/suricata.yaml
Vyhledej sekci:
af-packet:
- interface: eth0
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
Ujisti se, že rozhraní odpovídá tvému připojení (např. eth0, eth1 apod.).
Aktivace automatického startu
sudo systemctl enable suricata
sudo systemctl start suricata
sudo systemctl status suricata
Stažení a aktualizace pravidel
sudo suricata-update
sudo systemctl restart suricata
Suricata pravidla jsou open-source a lze je rozšířit o vlastní (např. Emerging Threats nebo vlastní síťové politiky).
Ověření funkčnosti
Zkontroluj běžící proces:
sudo systemctl status suricata
Záznamy nalezneš zde:
sudo tail -f /var/log/suricata/fast.log
sudo tail -f /var/log/suricata/eve.json
Při testu např. pomocí nmap nebo curl se v logu zobrazí detekované události:
sudo nmap -sS 192.168.1.0/24
Konfigurace IPS režimu
Pokud chceš, aby Suricata aktivně blokovala provoz (IPS), uprav /etc/default/suricata:
sudo nano /etc/default/suricata
Změň:
OPTIONS="--af-packet -D"
na:
OPTIONS="--af-packet -q 0 -D --set runmode=workers --set af-packet.0.interface=eth0 --set af-packet.0.blocking-mode=yes"
A restartuj službu:
sudo systemctl restart suricata
Integrace s ELK/Grafana
Pro přehledné zobrazení výsledků lze logy z /var/log/suricata/eve.json napojit na:
- Elasticsearch + Kibana
- Grafana + Loki
- nebo vlastní Flask REST API / SIEM řešení