Ein Game-Server-DDoS-Angriff beginnt, wenn bösartiger Traffic die Bandbreite oder Rechenkapazität deines Servers sättigt und echte Spieler aussperrt. Egal ob du Metin2, Minecraft oder deinen eigenen C++-Server betreibst: Eine dauerhafte Lösung stützt sich nie auf ein einzelnes Werkzeug — sie stützt sich auf sich überlappende Schichten. In diesem Leitfaden bauen wir eine praktische Verteidigungslinie auf, vom Anti-DDoS-Anbieter bis zu Firewall-Regeln auf Kernel-Ebene.
Wie DDoS-Angriffe Game-Server ins Visier nehmen
Game-Traffic erfordert meist niedrige Latenz und läuft über UDP, was zwei klassische Vektoren für Angreifer öffnet:
- Volumetrische Angriffe: UDP-Floods und DNS/NTP-Amplifikation füllen deine Leitung im Gbps-Bereich. Diese kannst du nicht auf dem Server selbst stoppen; der Traffic muss upstream bereinigt werden.
- Protokollangriffe: SYN-Floods und ACK-Floods erschöpfen Verbindungstabellen und deine
conntrack-Kapazität. - Angriffe auf der Anwendungsschicht: gefälschte Login-Pakete oder Anfragen, die Schwachstellen deines Server-Protokolls treffen — diese können die CPU selbst bei geringer Bandbreite ersticken.
Eine richtige Verteidigung behandelt jeden Vektor auf seiner eigenen Schicht. Anzunehmen, eine einzige iptables-Regel löse alles, ist der häufigste Fehler.
Schicht eins: ein Anti-DDoS-Anbieter
Gegen volumetrische Angriffe ist die einzige realistische Verteidigung, hinter einem Anbieter mit ausreichender Scrubbing-Kapazität zu sitzen. OVH/So you Start, Path.net und game-fokussierte GRE-Tunnel-Anbieter leiten den Traffic durch ihre eigenen Scrubbing-Center und reichen nur saubere Pakete an deinen Server weiter.
Achte bei der Wahl eines Anbieters auf:
- Scrubbing-Kapazität (Tbps): Entscheidend ist der Schutz, der einer einzelnen IP zugewiesen wird, nicht die beworbene Gesamtsumme.
- Kenntnis des Game-Protokolls: Generische HTTP/TCP-Filter können UDP-Game-Traffic als False Positive verwerfen. Game-fokussierte Lösungen wie Path.net bieten maßgeschneiderte Regeln.
- Latenz: Da der Traffic durch ein Scrubbing-Center läuft, sind einige ms zusätzliche Latenz normal; wähle einen PoP geografisch nah an deinen Spielern.
Cloudflare Spectrum ist eine solide Option für TCP-basierte Games und proxybare Protokolle, aber rohe UDP-Game-Server erfordern meist eine individuelle Vereinbarung.
Schicht zwei: Kernel- und Firewall-Härtung
Selbst wenn der Anbieter volumetrischen Traffic bereinigt, muss der Server selbst gegen Protokollangriffe gehärtet werden. Der erste Schritt gegen SYN-Floods ist das Aktivieren von SYN-Cookies:
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.core.somaxconn=1024
Um ein Überlaufen der Connection-Tracking-Tabelle (conntrack) zu verhindern, erhöhe ihre Kapazität:
sysctl -w net.netfilter.nf_conntrack_max=262144
Um diese Werte dauerhaft zu machen, trage sie in /etc/sysctl.d/99-ddos.conf ein und wende sie mit sysctl --system an.
Schicht drei: Rate-Limits und Verbindungsgrenzen
Verbindungen zu deinem Game-Port pro Quell-IP zu begrenzen, filtert Protokollangriffe mit geringem Volumen heraus. Mit nftables ist es ein sauberer Ansatz, gleichzeitige Verbindungen und die Rate neuer Verbindungen pro IP zu begrenzen:
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif "lo" accept
# Mehr als 30 gleichzeitige Verbindungen pro IP verwerfen
tcp dport 30000 ct count over 30 drop
# Auf 20 neue Verbindungen pro Sekunde begrenzen
tcp dport 30000 ct state new limit rate over 20/second drop
tcp dport 30000 accept
}
}
Wenn du klassisches iptables bevorzugst, wird dieselbe Logik mit den Modulen connlimit und hashlimit gebaut:
iptables -A INPUT -p tcp --dport 30000 -m connlimit --connlimit-above 30 -j DROP
iptables -A INPUT -p tcp --dport 30000 -m hashlimit \
--hashlimit-mode srcip --hashlimit-above 20/sec \
--hashlimit-name game -j DROP
Bei UDP-Game-Servern kannst du die Paketrate mit hashlimit begrenzen, aber stimme die Schwellenwerte auf echtes Spielerverhalten ab; zu aggressive Limits schneiden legitimen Traffic ab.
Schicht vier: Anwendungs- und Verhaltensfilter
Die heimtückischsten Angriffe sind Pakete, die gültig aussehen, aber deine Server-Logik belasten. Hier muss die Verteidigung in der Anwendung selbst liegen:
- Login-Throttling: Begrenze die pro Zeiteinheit von derselben IP akzeptierten Login-Versuche.
- Allowlist: Mache Verwaltungsports (SSH, MySQL, Panel) nur bekannten IPs zugänglich und halte den Game-Port öffentlich.
- fail2ban: Nutze es, um anormales Verhalten aus Logs zu erkennen und angreifende IPs automatisch zu sperren. Mit einem eigenen Filter und einer Jail bindest du es an deine Game-Server-Logs an.
- Paketvalidierung: Weise in deinem Server-Protokoll ungültige oder unvollständige Pakete früh während des Handshakes ab; verschwende keine CPU mit ihrer Verarbeitung.
Monitoring: den Angriff früh erkennen
Sichtbarkeit zählt genauso viel wie Verteidigung. Überwache die Bandbreite mit vnstat und Live-Verbindungen mit iftop; für ein dauerhafteres Setup setze Prometheus + Grafana oder einfach Netdata ein. Anormalen Traffic früh zu erkennen erlaubt dir, Regeln anzupassen, während der Angriff noch läuft. Die Anzahl aktiver Verbindungen kannst du auch sofort mit conntrack -L | wc -l prüfen.
Häufige Fragen
Kann ich mich allein mit iptables vor DDoS schützen?
Nein. iptables ist gegen Protokoll- und Angriffe mit geringem Volumen wirksam, aber es kann einen volumetrischen Angriff, der deine Leitung sättigt, nicht auf dem Server selbst stoppen — sobald die Pakete deine Netzwerkschnittstelle erreichen, ist der Schaden angerichtet. Volumetrischer Schutz muss upstream, auf Anbieterebene, erfolgen.
Schützt Cloudflare meinen Game-Server?
Cloudflares Standard-Proxy ist für HTTP/HTTPS gedacht und leitet rohen Game-Traffic nicht weiter. TCP/UDP-Game-Protokolle benötigen ein separates Produkt wie Cloudflare Spectrum, das meist einen kostenpflichtigen Plan oder eine individuelle Vereinbarung erfordert.
Wie hoch sollte das Rate-Limit für den Game-Port sein?
Es gibt keinen festen Wert; er hängt von deiner Spielerzahl und deinem Protokoll ab. Miss zuerst den normalen Traffic mit iftop und conntrack, setze einen Schwellenwert deutlich über der durchschnittlichen Verbindungsrate und ziehe ihn dann schrittweise an, während du bestätigst, dass es keine False Positives gibt.
Steht dein Server unter Angriff oder möchtest du dauerhaften Schutz aufbauen? Von der Wahl eines Anti-DDoS-Anbieters bis zur Firewall-Härtung können wir die Verteidigungslinie deines Game-Servers gemeinsam aufbauen. Nimm Kontakt mit mir auf.