Suricata IDS/IPS — wykrywanie zagrożeń sieciowych w Linuxie
Suricata to otwartoźródłowy, wielowątkowy silnik do monitorowania bezpieczeństwa sieci (NSM), wykrywania intruzów (IDS) i zapobiegania włamaniom (IPS). Analizuje ruch sieciowy w czasie rzeczywistym, dopasowując go do reguł sygnaturowych w celu wykrywania ataków, malware i prób skanowania. Jest główną alternatywą dla Snorta, z lepszą wydajnością na wielu rdzeniach.
Jak działa Suricata?
Suricata działa na kilku poziomach:
- Przechwytywanie pakietów: Używa nowoczesnych mechanizmów jak AF_PACKET (Linux) czy PF_RING, aby efektywnie zbierać pakiety z interfejsu sieciowego.
- Dekodowanie i analiza: Rozumie i dekoduje protokoły sieciowe (TCP/IP, UDP, ICMP) oraz warstwy aplikacji (HTTP, DNS, TLS, SMB i wiele innych).
- Dopasowywanie sygnatur: Porównuje przeanalizowany ruch z bazą reguł (sygnatur). Jeśli pakiet pasuje do reguły (np. “wykryto próbę logowania SSH z podejrzanego IP”), Suricata podejmuje akcję.
- Logowanie (EVE JSON): To jedna z największych zalet Suricaty. Wszystkie zdarzenia – alerty, metadane przepływów, informacje o plikach – są zapisywane w jednym, ustandaryzowanym formacie JSON (plik
eve.json). Ułatwia to integrację z systemami SIEM, takimi jak ELK Stack (Elasticsearch, Logstash, Kibana).
IDS vs. IPS: Dwa tryby pracy
- IDS (Intrusion Detection System): Suricata działa pasywnie. Kopiuje ruch z sieci (np. przez port mirroring), analizuje go i generuje alerty, gdy wykryje coś podejrzanego. Nie blokuje ruchu, tylko ostrzega.
- IPS (Intrusion Prevention System): Suricata działa “w linii” (inline), pomiędzy internetem a Twoją siecią. Analizuje każdy pakiet zanim go przepuści. Jeśli wykryje atak, może go aktywnie zablokować (odrzucić pakiet).
Instalacja i pierwsze kroki (Ubuntu/Debian)
Suricata jest dostępna w większości repozytoriów, ale warto używać oficjalnego PPA dla najnowszej wersji.
-
Instalacja:
sudo add-apt-repository ppa:oisf/suricata-stable sudo apt update sudo apt install suricata -
Aktualizacja reguł: Suricata potrzebuje reguł, aby wiedzieć, czego szukać. Narzędzie
suricata-updatepobiera darmowy zestaw reguł (ET Open).sudo suricata-update -
Konfiguracja: Główny plik to
/etc/suricata/suricata.yaml. Należy tam zdefiniować nasłuchiwany interfejs sieciowy oraz zakresy adresów IP naszej sieci domowej (HOME_NET). -
Uruchomienie:
sudo systemctl enable suricata sudo systemctl start suricata
Wyjście EVE JSON integruje się bezpośrednio z ELK Stack i innymi platformami SIEM, co czyni Suricatę solidną podstawą widoczności sieciowej w każdym środowisku.