Een gameserver DDoS-aanval begint wanneer kwaadaardig verkeer de bandbreedte of verwerkingscapaciteit van je server verzadigt en echte spelers buitensluit. Of je nu Metin2, Minecraft of je eigen C++-server draait: een duurzame oplossing leunt nooit op één enkel hulpmiddel — ze leunt op elkaar overlappende lagen. In deze gids bouwen we een praktische verdedigingslinie, van een anti-DDoS-provider tot firewallregels op kernelniveau.
Hoe DDoS-aanvallen gameservers viseren
Gameverkeer vereist meestal lage latentie en loopt via UDP, wat twee klassieke vectoren voor aanvallers opent:
- Volumetrische aanvallen: UDP-floods en DNS/NTP-amplificatie vullen je lijn op Gbps-schaal. Deze kun je niet op de server zelf stoppen; het verkeer moet upstream worden geschoond.
- Protocolaanvallen: SYN-floods en ACK-floods putten verbindingstabellen en je
conntrack-capaciteit uit. - Aanvallen op de applicatielaag: vervalste loginpakketten of verzoeken die zwakke plekken in je serverprotocol viseren — deze kunnen de CPU verstikken, zelfs bij lage bandbreedte.
Een goede verdediging behandelt elke vector op zijn eigen laag. Denken dat één enkele iptables-regel alles oplost, is de meest gemaakte fout.
Laag één: een anti-DDoS-provider
Tegen volumetrische aanvallen is de enige realistische verdediging dat je achter een provider zit met voldoende scrubbingcapaciteit. OVH/So you Start, Path.net en game-gerichte GRE-tunnelproviders leiden verkeer door hun eigen scrubbingcentra en sturen alleen schone pakketten naar je server.
Let bij het kiezen van een provider op:
- Scrubbingcapaciteit (Tbps): wat telt is de bescherming die aan één IP wordt toegewezen, niet het geadverteerde totaal.
- Kennis van het gameprotocol: generieke HTTP/TCP-filters kunnen UDP-gameverkeer als vals positief droppen. Game-gerichte oplossingen zoals Path.net bieden op maat gemaakte regels.
- Latentie: omdat het verkeer door een scrubbingcentrum gaat, zijn enkele ms extra latentie normaal; kies een PoP geografisch dicht bij je spelers.
Cloudflare Spectrum is een degelijke optie voor TCP-gebaseerde games en proxybare protocollen, maar ruwe UDP-gameservers vereisen meestal een aangepaste regeling.
Laag twee: kernel- en firewallverharding
Zelfs als de provider volumetrisch verkeer schoont, moet de server zelf gehard worden tegen protocolaanvallen. De eerste stap tegen SYN-floods is het inschakelen van SYN-cookies:
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.core.somaxconn=1024
Om te voorkomen dat de connection-tracking-tabel (conntrack) overloopt, verhoog je de capaciteit:
sysctl -w net.netfilter.nf_conntrack_max=262144
Schrijf deze waarden in /etc/sysctl.d/99-ddos.conf en pas ze toe met sysctl --system om ze permanent te maken.
Laag drie: rate limits en verbindingslimieten
Verbindingen naar je gamepoort per bron-IP begrenzen filtert protocolaanvallen met laag volume weg. Met nftables is het beperken van gelijktijdige verbindingen en de snelheid van nieuwe verbindingen per IP een nette aanpak:
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif "lo" accept
# Drop meer dan 30 gelijktijdige verbindingen per IP
tcp dport 30000 ct count over 30 drop
# Beperk tot 20 nieuwe verbindingen per seconde
tcp dport 30000 ct state new limit rate over 20/second drop
tcp dport 30000 accept
}
}
Geef je de voorkeur aan klassiek iptables, dan bouw je dezelfde logica met de modules connlimit en hashlimit:
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
Voor UDP-gameservers kun je het pakkettempo beperken met hashlimit, maar stem de drempels af op echt spelersgedrag; te agressieve limieten snijden legitiem verkeer af.
Laag vier: applicatie- en gedragsfilters
De sluwste aanvallen zijn pakketten die geldig lijken maar je serverlogica belasten. Hier moet de verdediging in de applicatie zelf zitten:
- Login throttling: beperk het aantal inlogpogingen dat per tijdseenheid van hetzelfde IP wordt geaccepteerd.
- Allowlist: stel beheerpoorten (SSH, MySQL, paneel) alleen open voor bekende IP's en houd de gamepoort publiek.
- fail2ban: gebruik het om afwijkend gedrag uit logs te vangen en aanvallende IP's automatisch te bannen. Met een aangepast filter en jail koppel je het aan je gameserverlogs.
- Pakketvalidatie: verwerp in je serverprotocol ongeldige of onvolledige pakketten vroeg tijdens de handshake; verspil geen CPU aan het verwerken ervan.
Monitoring: de aanval vroeg zien
Zichtbaarheid telt evenveel als verdediging. Bewaak bandbreedte met vnstat en live verbindingen met iftop; voor een permanentere opzet zet je Prometheus + Grafana of simpelweg Netdata in. Afwijkend verkeer vroeg opvangen laat je regels bijstellen terwijl de aanval nog bezig is. Je kunt het aantal actieve verbindingen ook direct controleren met conntrack -L | wc -l.
Veelgestelde vragen
Kan ik me met alleen iptables tegen DDoS beschermen?
Nee. iptables is effectief tegen protocol- en aanvallen met laag volume, maar het kan een volumetrische aanval die je lijn verzadigt niet op de server zelf stoppen — zodra de pakketten je netwerkinterface bereiken, is het kwaad al geschied. Volumetrische bescherming moet upstream gebeuren, op providerniveau.
Beschermt Cloudflare mijn gameserver?
De standaardproxy van Cloudflare is voor HTTP/HTTPS en laat ruw gameverkeer niet door. TCP/UDP-gameprotocollen hebben een apart product zoals Cloudflare Spectrum nodig, wat meestal een betaald plan of een aangepaste regeling vereist.
Wat moet de rate limit voor de gamepoort zijn?
Er is geen vaste waarde; het hangt af van je spelersaantal en protocol. Meet eerst normaal verkeer met iftop en conntrack, stel een drempel duidelijk boven het gemiddelde verbindingstempo, en verstrak dan geleidelijk terwijl je bevestigt dat er geen valse positieven zijn.
Staat je server onder aanval, of wil je blijvende bescherming opzetten? Van het kiezen van een anti-DDoS-provider tot firewallverharding: we kunnen samen de verdedigingslinie van je gameserver bouwen. Neem contact met me op.