Suricata IPS – praktyczna ochrona sieci przed atakami
Sieci komputerowe

Suricata IPS – praktyczna ochrona sieci przed atakami

Suricata IPS – praktyczna ochrona sieci przed atakami

Suricata IPS to system Intrusion Prevention System, który analizuje ruch sieciowy w czasie rzeczywistym i może automatycznie blokować wykryte zagrożenia.

Suricata jest szczególnie popularna w połączeniu z:

  • OPNsense,
  • pfSense,
  • Linux,
  • routerami i firewallami,
  • systemami SIEM,
  • środowiskami enterprise.

W przeciwieństwie do klasycznego firewalla, który zazwyczaj podejmuje decyzję na podstawie adresu, portu i protokołu, Suricata może analizować zawartość i charakter ruchu.


IDS a IPS – jaka jest różnica?

To podstawowa rzecz, którą trzeba zrozumieć.

IDS

Intrusion Detection System

Wykrywa zagrożenie i generuje alert.

Internet
   |
   v
Suricata IDS
   |
   +----> ALERT
   |
   v
Server

IDS obserwuje ruch, ale zasadniczo go nie blokuje.


IPS

Intrusion Prevention System

Wykrywa zagrożenie i może zatrzymać ruch.

Internet
   |
   v
Suricata IPS
   |
   X
 DROP

Dlatego IPS działa jako aktywny mechanizm ochrony.


Suricata – czym właściwie jest?

Suricata to open-source’owy silnik analizy ruchu sieciowego rozwijany przez Open Information Security Foundation (OISF).

Może działać jako:

  • IDS,
  • IPS,
  • Network Security Monitoring,
  • analizator protokołów.

Obsługuje między innymi:

  • IPv4,
  • IPv6,
  • TCP,
  • UDP,
  • HTTP,
  • TLS,
  • DNS,
  • SMB,
  • SSH.

Jak działa Suricata IPS?

Schemat:

                 Internet
                    |
                    v
              +-----------+
              | Suricata  |
              |    IPS    |
              +-----------+
                 /     \
                /       \
            ALLOW       DROP
              |           |
              v           X
           Internal     Attack
           Network

Suricata przechwytuje pakiety, analizuje je i porównuje z regułami.


Suricata Rules

Najważniejszym elementem silnika są reguły detekcji.

Przykład uproszczonej reguły:

alert tcp any any -> any 80
(msg:"HTTP suspicious traffic"; sid:1000001;)

Reguła mówi między innymi:

  • jaki protokół analizować,
  • źródło,
  • port,
  • cel,
  • jakie zdarzenie wygenerować.

Alert vs Drop

Reguła może działać jako:

alert

albo:

drop

Alert

Traffic
   |
Suricata
   |
ALERT
   |
Traffic continues

Drop

Traffic
   |
Suricata
   |
DROP
   X

To właśnie drop pozwala wykorzystać Suricatę jako IPS.


Tryby działania

Suricata może działać między innymi jako:

IDS

Analizuje kopię ruchu.

Traffic
   |
TAP/SPAN
   |
Suricata

Inline IPS

Ruch przechodzi przez Suricatę.

Traffic
   |
Suricata
   |
Internal Network

To właśnie tryb inline jest potrzebny do aktywnego blokowania.


Dlaczego IPS musi być inline?

Jeżeli Suricata tylko obserwuje kopię ruchu:

Client -----> Server
      \
       \----> Suricata

może wykryć atak, ale pakiet już dotarł do celu.

W IPS:

Client
   |
   v
Suricata
   |
   X
 Server

Suricata może zatrzymać pakiet przed dotarciem do chronionego systemu.


Suricata + OPNsense

Jednym z najpopularniejszych zastosowań jest integracja z OPNsense.

Architektura:

                    Internet
                       |
                       v
                 +-----------+
                 | OPNsense  |
                 |           |
                 | Suricata  |
                 +-----------+
                       |
                       v
                    LAN
                       |
              +--------+--------+
              |        |        |
             PC      Server    NAS

OPNsense odpowiada za:

  • routing,
  • firewall,
  • NAT,
  • VPN,

a Suricata za głębszą analizę ruchu.


Suricata a firewall

To nie jest zamiennik firewalla.

Firewall może powiedzieć:

TCP
Port 443
ALLOW

Suricata może dodatkowo analizować:

TCP 443

↓

TLS / HTTP characteristics

↓

Suspicious pattern

↓

DROP

Dlatego oba mechanizmy dobrze się uzupełniają.


Sygnatury

Suricata wykorzystuje reguły pozwalające wykrywać charakterystyczne wzorce ataków.

Mogą identyfikować między innymi:

  • exploity,
  • malware,
  • skanowanie,
  • podejrzany ruch DNS,
  • próby wykorzystania podatności,
  • komunikację z niebezpiecznymi hostami.

Emerging Threats Rules

Popularnym źródłem reguł są zestawy Emerging Threats.

Można dzięki nim wykrywać dużą liczbę znanych zagrożeń bez konieczności ręcznego tworzenia każdej reguły.

Przy wdrażaniu należy jednak uważać na:

  • liczbę reguł,
  • false positives,
  • wydajność,
  • aktualność sygnatur.

False Positive

Jednym z największych problemów IPS są fałszywe alarmy.

Przykład:

Normal Application
       |
       v
Suricata
       |
       X
   FALSE POSITIVE

Jeżeli administrator bezrefleksyjnie włączy tysiące reguł w trybie drop, może zablokować prawidłowe aplikacje.

Dlatego dobra kolejność wdrożenia to:

IDS
 ↓
Monitoring
 ↓
Tuning
 ↓
IPS
 ↓
Blocking

Najlepsza metoda wdrożenia

Nie warto zaczynać od:

DROP EVERYTHING SUSPICIOUS

Lepszy proces:

Etap 1

Uruchom Suricatę jako IDS.

Etap 2

Obserwuj alerty.

Etap 3

Analizuj false positives.

Etap 4

Wyłącz niepotrzebne reguły.

Etap 5

Najważniejsze sygnatury przełącz na drop.


Suricata i HTTP

Suricata potrafi analizować ruch aplikacyjny.

Przykładowo może wykryć podejrzane żądanie:

GET /suspicious-path

i porównać je z regułą.

W przypadku szyfrowanego HTTPS sytuacja jest bardziej skomplikowana, ponieważ zawartość jest zaszyfrowana.


Suricata i TLS

Dla:

Client
   |
HTTPS
   |
Server

Suricata nie może po prostu odczytać całej zaszyfrowanej zawartości bez dodatkowych mechanizmów inspekcji.

Może jednak analizować między innymi:

  • metadane połączenia,
  • adresy,
  • porty,
  • informacje dostępne podczas handshake,
  • charakterystykę ruchu.

Suricata i DNS

DNS jest bardzo interesującym źródłem informacji dla IDS/IPS.

Można wykrywać:

  • podejrzane domeny,
  • nietypowe zapytania,
  • DNS tunneling,
  • komunikację z infrastrukturą malware.

Schemat:

Client
  |
DNS Query
  |
Suricata
  |
Analysis
  |
ALERT / DROP

Suricata i IPv6

Suricata obsługuje IPv6.

Jest to szczególnie ważne w nowoczesnych sieciach, gdzie administrator może mieć:

IPv4
+
IPv6

Nie można zabezpieczać wyłącznie IPv4.

Przykład błędu:

IPv4 → Suricata → protected

IPv6 → bypass

Dlatego polityki IDS/IPS powinny obejmować oba protokoły.


Suricata i VLAN

Można monitorować różne segmenty:

                OPNsense
                    |
              Suricata IPS
                    |
             Managed Switch
                    |
       +------------+------------+
       |            |            |
     VLAN 10      VLAN 20      VLAN 30
      Users       Servers       Guest

W środowisku firmowym warto zdecydować, które interfejsy rzeczywiście wymagają inspekcji.

Suricata IPS – praktyczna ochrona sieci przed atakami
Suricata IPS – praktyczna ochrona sieci przed atakami

Suricata i DMZ

Szczególnie dobrym miejscem jest granica Internet → DMZ.

Internet
   |
Firewall
   |
Suricata IPS
   |
 DMZ
   |
Web Server

Jeżeli publiczny serwer zostanie zaatakowany, IPS może wykryć część znanych wzorców ataku.


Suricata w Data Center

W większej infrastrukturze można zastosować:

Internet
   |
Edge Firewall
   |
IPS
   |
Core
   |
+------+-------+
|              |
DMZ          Servers

W zależności od przepustowości można stosować wiele sensorów.


Wydajność

IPS wykonuje dużo pracy:

  • przechwytuje pakiety,
  • rekonstruuje sesje,
  • analizuje protokoły,
  • przetwarza reguły,
  • generuje logi.

Dlatego wydajność zależy między innymi od:

  • CPU,
  • liczby reguł,
  • przepustowości,
  • liczby równoczesnych połączeń,
  • wielkości pakietów.

Więcej reguł ≠ automatycznie większe bezpieczeństwo.


Multi-Threading

Suricata została zaprojektowana z myślą o wykorzystaniu wielu rdzeni CPU.

Właściwe wykorzystanie wielowątkowości jest szczególnie istotne przy:

1 Gbps
10 Gbps
40 Gbps

i większych przepustowościach.


Logi Suricata

Jednym z najważniejszych formatów jest:

EVE JSON

Przykład:

{
  "event_type": "alert",
  "src_ip": "192.168.10.20",
  "dest_ip": "203.0.113.10",
  "proto": "TCP"
}

Dzięki JSON dane można łatwo przesyłać do:

  • Elasticsearch,
  • OpenSearch,
  • Splunk,
  • SIEM,
  • systemów monitoringu.

Suricata + SIEM

Architektura:

                 Suricata
                    |
                    |
                 EVE JSON
                    |
                    v
                   SIEM
                    |
             +------+------+
             |             |
           Alert         Dashboard

Pozwala korelować alerty Suricaty z:

  • logami serwerów,
  • firewallami,
  • Active Directory,
  • endpointami,
  • DNS.

Przykład ataku

Załóżmy, że atakujący próbuje wykorzystać znaną podatność:

Attacker
    |
    | malicious request
    v
Suricata
    |
    | signature match
    v
DROP

Administrator otrzymuje jednocześnie alert:

Signature:
Known Exploit

Source:
198.51.100.10

Destination:
10.0.20.15

Action:
Blocked

Suricata nie wykryje wszystkiego

To bardzo ważne.

IPS bazujący na sygnaturach może mieć problemy z:

  • całkowicie nowymi atakami,
  • szyfrowanym ruchem,
  • bardzo dobrze zamaskowanym malware,
  • atakami aplikacyjnymi niewidocznymi na poziomie sieci.

Dlatego Suricata powinna być elementem większego systemu bezpieczeństwa.


Defense in Depth

Dobra architektura:

Internet
   |
Firewall
   |
Suricata IPS
   |
Network Segmentation
   |
EDR
   |
Servers
   |
SIEM

Każda warstwa ma inne zadanie.


Suricata vs Snort

Oba rozwiązania są popularnymi systemami IDS/IPS.

Cecha Suricata Snort
IDS
IPS
Open source
IPv6
Multi-threading bardzo dobre zależne od wersji/konfiguracji
EVE JSON zależne od konfiguracji
OPNsense popularne dostępne

Suricata jest szczególnie atrakcyjna tam, gdzie potrzebne są dobre możliwości wielowątkowe i łatwa integracja z systemami analitycznymi.


Najczęstsze błędy konfiguracji

❌ włączenie wszystkich reguł bez analizy

❌ brak monitorowania false positives

❌ brak aktualizacji sygnatur

❌ próba zastąpienia firewalla IPS

❌ brak ochrony IPv6

❌ brak centralnego logowania

❌ brak testów po wdrożeniu


Najlepsze praktyki Suricata IPS

1. Zacznij od IDS

Najpierw obserwuj.

2. Ogranicz liczbę reguł

Wybieraj reguły odpowiadające rzeczywistemu środowisku.

3. Analizuj false positives

Nie ignoruj alertów.

4. Włącz blocking stopniowo

Najpierw najbardziej wiarygodne sygnatury.

5. Aktualizuj reguły

Nowe zagrożenia wymagają nowych sygnatur.

6. Monitoruj wydajność

Sprawdzaj CPU, RAM, dropped packets i throughput.

7. Centralizuj logi

EVE JSON → SIEM daje znacznie większe możliwości analizy.


Suricata w architekturze OPNsense

                         INTERNET
                            |
                            v
                     +-------------+
                     |  OPNsense   |
                     |             |
                     |  Firewall   |
                     |     +       |
                     |  Suricata   |
                     +-------------+
                            |
                            v
                       Core Switch
                            |
             +--------------+--------------+
             |              |              |
           Users          Servers          DMZ
             |              |              |
           VLAN10         VLAN20          VLAN30

To bardzo dobra architektura dla małej i średniej organizacji.


Podsumowanie

Suricata IPS to ważna warstwa ochrony sieci, która pozwala nie tylko wykrywać, ale również blokować podejrzany ruch.

Najważniejsze elementy:

  • IDS – wykrywanie,
  • IPS – wykrywanie + blokowanie,
  • Rules – reguły detekcji,
  • Inline mode – możliwość aktywnego blokowania,
  • EVE JSON – logowanie i integracja z SIEM,
  • Suricata + OPNsense – popularne połączenie firewall + IPS.

Najlepszy sposób wdrożenia to:

IDS
 ↓
Monitoring
 ↓
Tuning
 ↓
False Positive Analysis
 ↓
IPS
 ↓
Selective Blocking

Suricata nie powinna być pierwszą i jedyną linią obrony. Jej największa wartość pojawia się wtedy, gdy działa razem z firewallem, segmentacją sieci, EDR i SIEM, tworząc wielowarstwowy system bezpieczeństwa.

Polecane wpisy
VPN spowalnia internet – jak zwiększyć prędkość i stabilność połączenia
VPN spowalnia internet – jak zwiększyć prędkość i stabilność połączenia

VPN spowalnia internet – jak zwiększyć prędkość i stabilność połączenia Po włączeniu VPN strony ładują się wolniej, filmy buforują, a Czytaj dalej

IPv6 – adresowanie sieci i hostów
IPv6 – adresowanie sieci i hostów

IPv6 – adresowanie sieci i hostów Protokół IPv6 (Internet Protocol version 6) to odpowiedź na wyczerpanie puli adresów IPv4 oraz Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.