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.
Inhaltsverzeichnis
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
| Schicht | Name | Angriffstypen | Ziel |
|---|---|---|---|
| Layer 3 | Netzwerk | IP-Flood, ICMP-Flood | Netzwerkbandbreite |
| Layer 4 | Transport | SYN-Flood, UDP-Flood, TCP-Flood | Verbindungstabelle |
| Layer 7 | Anwendung | HTTP-Flood, Slowloris, DNS-Query | Anwendungsressourcen |
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
# 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
# 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.
# 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.
| Protokoll | Amplification-Faktor | Port |
|---|---|---|
| DNS | 28-54x | 53 |
| NTP | 556x | 123 |
| Memcached | 51000x | 11211 |
# 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.
# 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)
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)
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
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
#!/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.
Verwandte Artikel
Path Panel DDoS-Schutz Verwaltungspanel – Benutzerhandbuch
Vollständiges REXE Path Panel Benutzerhandbuch: Dashboard, Meine IPs, TR-Schutzstatus, Regelverwaltung, Angriffsverlauf, Abuse Filtered, Passwortänderung und API-Zugriff.
Spielserver DDoS-Filter Auswahlhandbuch (Path.net)
Path.net DDoS-Schutz Spielfilter-Handbuch: Arma/DayZ, Source Engine, CS:GO, CS2, FiveM, Minecraft, Rust und mehr — wie man jeden Filter anwendet.
Anwendungs- und Dienst-DDoS-Filter Handbuch (Path.net)
Path.net DDoS-Schutz Anwendungsfilter-Handbuch: OpenVPN, Wireguard, DTLS, RTP, QUIC, SIP, TCP Symmetric und mehr — wie man den richtigen Filter wählt.