Zum Hauptinhalt springen
Zurück zur Kategorie

Layer 4 und Layer 7 DDoS-Angriffe: Erkennung und Schutz

Umfassende Anleitung zur Erkennung, Analyse und zum Schutz vor TCP/UDP-Flood, SYN-Flood, HTTP-Flood, Slowloris und Amplification-Angriffen.

Lesezeit: 16 Min. DDoS-Schutz & Sicherheit
ddoslayer4layer7syn-floodhttp-floodslowlorisamplification
Autor
REXE Teknoloji Network & Security Team
Redaktion
REXE Teknoloji Technical Editorial
Erstveröffentlichung
Letzte Aktualisierung

Layer 4 und Layer 7 DDoS-Angriffe: Erkennung und Schutz

DDoS-Angriffe (Distributed Denial of Service) zielen darauf ab, Ihren Server oder Ihr Netzwerk durch übermäßigen Datenverkehr außer Betrieb zu setzen. Diese Angriffe finden auf verschiedenen Schichten des OSI-Modells statt. Diese Anleitung behandelt Layer 4 (Transport) und Layer 7 (Application) Angriffstypen, Erkennungsmethoden und Schutzstrategien.

Die REXE-Infrastruktur bietet über Path Panel Schutz auf Netzwerkebene gegen Layer 3/4-Angriffe. Für Layer 7-Schutz können Cloudflare WAF oder benutzerdefinierte Konfigurationen verwendet werden.

OSI-Modell und DDoS-Schichten

SchichtNameAngriffstypenZiel
Layer 3NetzwerkIP-Flood, ICMP-FloodNetzwerkbandbreite
Layer 4TransportSYN-Flood, UDP-Flood, TCP-FloodVerbindungstabelle
Layer 7AnwendungHTTP-Flood, Slowloris, DNS-QueryAnwendungsressourcen

Layer 4-Angriffe

Layer 4-Angriffe zielen auf TCP- und UDP-Protokolle ab, um die Verbindungsressourcen des Servers zu erschöpfen.

SYN-Flood

Nutzt den TCP-Drei-Wege-Handshake aus. Der Angreifer sendet zahlreiche SYN-Pakete, antwortet aber nie mit ACK.

Normale TCP-Verbindung:
Client → SYN → Server
Client ← SYN-ACK ← Server
Client → ACK → Server
✓ Verbindung hergestellt

SYN-Flood:
Angreifer → SYN → Server
Angreifer ← SYN-ACK ← Server
Angreifer → (sendet kein ACK)
✗ Halb-offene Verbindungen sammeln sich an

SYN-Flood-Erkennung

hljs bash
# Halb-offene Verbindungen prüfen
ss -s

# SYN-RECV-Verbindungen auflisten
ss -tnp state syn-recv

# Verbindungsstatus-Verteilung
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rn

# SYN-Anzahl nach Quell-IP
ss -tnp state syn-recv | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

SYN-Flood-Schutz

hljs bash
# SYN-Cookies aktivieren
sudo sysctl -w net.ipv4.tcp_syncookies=1

# SYN-Backlog erhöhen
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=65536

# SYN-ACK-Wiederholungsversuche reduzieren
sudo sysctl -w net.ipv4.tcp_synack_retries=2

# Dauerhaft machen
cat >> /etc/sysctl.conf << 'EOF'
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 2
net.core.somaxconn = 65536
EOF
sudo sysctl -p

UDP-Flood

Da UDP ein verbindungsloses Protokoll ist, können große Mengen an UDP-Paketen mit gefälschten Quell-IPs gesendet werden.

hljs bash
# UDP-Verkehr überwachen
sudo tcpdump -i eth0 udp -c 1000 -nn

# Unnötige UDP-Ports schließen
sudo iptables -A INPUT -p udp --dport 19 -j DROP   # chargen
sudo iptables -A INPUT -p udp --dport 69 -j DROP   # TFTP
sudo iptables -A INPUT -p udp --dport 111 -j DROP  # portmap

# UDP-Rate-Limiting
sudo iptables -A INPUT -p udp -m limit --limit 100/s --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -p udp -j DROP

Amplification-Angriffe

Der Angreifer sendet kleine Anfragen, um große Antworten zu erzeugen, wobei die IP des Opfers als Quelle verwendet wird.

ProtokollAmplification-FaktorPort
DNS28-54x53
NTP556x123
Memcached51000x11211
hljs bash
# NTP-Monlist deaktivieren
echo "disable monitor" >> /etc/ntp.conf
sudo systemctl restart ntpd

# Memcached nur an localhost binden
echo "-l 127.0.0.1" >> /etc/memcached.conf
sudo systemctl restart memcached

Layer 7-Angriffe

Layer 7-Angriffe zielen auf das HTTP/HTTPS-Protokoll ab, um die Anwendungsressourcen des Webservers zu erschöpfen.

HTTP-Flood

Überlastet den Webserver durch zahlreiche HTTP-GET- oder POST-Anfragen.

hljs bash
# HTTP-Anfragezahl überwachen (Nginx)
tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20

# Anfragen pro Sekunde
awk '{print $4}' /var/log/nginx/access.log | cut -d: -f1-3 | sort | uniq -c | sort -rn | head -10

HTTP-Flood-Schutz (Nginx)

hljs nginx
limit_req_zone $binary_remote_addr zone=general:10m rate=10r/s;
limit_req_zone $binary_remote_addr zone=api:10m rate=5r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;

server {
    limit_req zone=general burst=20 nodelay;
    limit_conn addr 50;
    
    location /api/ {
        limit_req zone=api burst=10 nodelay;
    }
}

Slowloris

Slowloris erschöpft den Verbindungspool des Servers, indem HTTP-Verbindungen so lange wie möglich offen gehalten werden.

Slowloris-Schutz (Nginx)

hljs nginx
http {
    client_header_timeout 10s;
    client_body_timeout 10s;
    send_timeout 10s;
    keepalive_timeout 15s;
    
    limit_conn_zone $binary_remote_addr zone=conn:10m;
    limit_conn conn 20;
}

Allgemeine Schutzstrategien

Kernel-Parameter-Optimierung

hljs bash
cat >> /etc/sysctl.conf << 'EOF'
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 2
net.netfilter.nf_conntrack_max = 1000000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 65536
net.core.somaxconn = 65536
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
EOF
sudo sysctl -p

DDoS-Schutz mit iptables

hljs bash
#!/bin/bash
# Ungültige Pakete verwerfen
iptables -A INPUT -m state --state INVALID -j DROP

# SYN-Prüfung für neue Verbindungen
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# XMAS-Pakete verwerfen
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

# NULL-Pakete verwerfen
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# SYN-Flood-Schutz
iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 200 -j ACCEPT

# Verbindungslimit pro IP
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP

Fazit

Layer 4 und Layer 7 DDoS-Angriffe erfordern unterschiedliche Strategien. Layer 4-Angriffe werden auf Netzwerkebene (Path Panel, iptables) blockiert, während Layer 7-Angriffe auf Anwendungsebene (Rate Limiting, WAF, Cloudflare) gefiltert werden. Ein mehrschichtiger Schutzansatz bietet die effektivste Verteidigung.

Häufig gestellte Fragen

Was ist der Unterschied zwischen Layer 4 und Layer 7 Angriffen?

Layer 4-Angriffe zielen auf TCP/UDP-Protokolle ab, um Netzwerkressourcen zu erschöpfen (SYN-Flood, UDP-Flood). Layer 7-Angriffe zielen auf das HTTP/HTTPS-Protokoll ab, um Anwendungsressourcen zu erschöpfen (HTTP-Flood, Slowloris). Layer 7-Angriffe sind schwerer zu erkennen, da sie legitimem Datenverkehr ähneln.

Wie erkenne ich einen SYN-Flood-Angriff?

Prüfen Sie die Anzahl der SYN-RECV-Verbindungen mit 'ss -s'. Unter normalen Bedingungen sollte diese Zahl niedrig sein. Eine hohe SYN-RECV-Anzahl deutet auf einen SYN-Flood-Angriff hin.

Was ist ein Amplification-Angriff?

Bei einem Amplification-Angriff sendet der Angreifer kleine Anfragen an Dienste wie DNS und NTP unter Verwendung der IP des Opfers als Quelle. Diese Dienste senden große Antworten an das Opfer. Schließen Sie unnötige UDP-Dienste und deaktivieren Sie NTP-Monlist.

Was ist der effektivste Schutz gegen Slowloris?

Die Verwendung von Nginx ist der effektivste Schutz, da seine ereignisgesteuerte Architektur natürlich widerstandsfähig gegen Slowloris ist. Halten Sie zusätzlich die Timeout-Werte niedrig und wenden Sie Verbindungslimits pro IP an.

Schützt Path Panel vor Layer 7-Angriffen?

Path Panel bietet hauptsächlich Schutz auf Netzwerkebene gegen Layer 3/4-Angriffe. Für Layer 7-Schutz verwenden Sie Cloudflare WAF, Nginx Rate Limiting oder benutzerdefinierte Sicherheitsmaßnahmen auf Anwendungsebene.

Verwandte Artikel

NetzwerkverkehrEingehend GbpsAusgehend Gbps