Suricata Rules Dos Protection

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
# ===============================
# Flood / DoS Schutz-Regeln
# ===============================
# Hinweis:
# - Diese Regeln sind für LAB-Umgebungen gedacht.
# - In produktiven Netzen müssen die Schwellwerte (count / seconds) angepasst werden,
#   damit normales Traffic-Aufkommen nicht fälschlich blockiert wird.
# - Action = "drop" blockiert Pakete (nur im IPS-Mode wirksam).
#   Zum Testen kannst du "alert" verwenden.

# --- ICMP Floods (Ping) ---

# Viele ICMP Echo-Requests (Pings) in sehr kurzer Zeit
drop icmp any any -> $HOME_NET any (msg:"ICMP Flood detected (50 pings in 1s)"; \
    itype:8; detection_filter:track by_src, count 50, seconds 1; \
    sid:9001001; rev:1;)

# Flood mit ICMP Destination Unreachable Nachrichten
drop icmp any any -> $HOME_NET any (msg:"ICMP Destination Unreachable Flood"; \
    itype:3; detection_filter:track by_src, count 30, seconds 1; \
    sid:9001002; rev:1;)


# --- UDP Floods ---

# Generischer UDP Flood: sehr viele UDP-Pakete in 1 Sekunde
drop udp any any -> $HOME_NET any (msg:"UDP Flood detected (200 pkts in 1s)"; \
    detection_filter:track by_src, count 200, seconds 1; \
    sid:9002001; rev:1;)

# DNS Query Flood: viele Anfragen an Port 53 in kurzer Zeit
drop udp any any -> $HOME_NET 53 (msg:"DNS Query Flood detected (100 in 1s)"; \
    detection_filter:track by_src, count 100, seconds 1; \
    sid:9002002; rev:1;)

# NTP Flood: viele Requests an Port 123 (klassische Amplification)
drop udp any any -> $HOME_NET 123 (msg:"NTP Flood detected (50 in 1s)"; \
    detection_filter:track by_src, count 50, seconds 1; \
    sid:9002003; rev:1;)


# --- TCP SYN Floods ---

# Generischer SYN Flood: viele SYN-Pakete an beliebige Ports
drop tcp any any -> $HOME_NET any (msg:"TCP SYN Flood detected (100 SYN in 1s)"; \
    flags:S; detection_filter:track by_src, count 100, seconds 1; \
    sid:9003001; rev:1;)

# Spezifisch für Webserver: SYN Flood gegen Port 80 (HTTP)
drop tcp any any -> $HOME_NET 80 (msg:"HTTP SYN Flood detected (50 in 1s)"; \
    flags:S; detection_filter:track by_src, count 50, seconds 1; \
    sid:9003002; rev:1;)

# Spezifisch für Webserver: SYN Flood gegen Port 443 (HTTPS)
drop tcp any any -> $HOME_NET 443 (msg:"HTTPS SYN Flood detected (50 in 1s)"; \
    flags:S; detection_filter:track by_src, count 50, seconds 1; \
    sid:9003003; rev:1;)


# --- Generische Verbindungs-Floods ---

# Viele TCP-Verbindungsversuche in 10 Sekunden
drop tcp any any -> $HOME_NET any (msg:"TCP Connection Flood (200 connections in 10s)"; \
    detection_filter:track by_src, count 200, seconds 10; \
    sid:9004001; rev:1;)

# Viele UDP-"Flows" (z. B. Voice/Video oder Gaming) in kurzer Zeit
drop udp any any -> $HOME_NET any (msg:"UDP Connection Flood (300 in 10s)"; \
    detection_filter:track by_src, count 300, seconds 10; \
    sid:9004002; rev:1;)

# ===============================
# Ende Flood / DoS Schutz-Regeln
# ===============================