Så skyddar du en VPS mot DDoS-attacker
En distribuerad överbelastningsattack (DDoS) översvämmar en server eller dess nätverksanslutning med trafik tills riktiga besökare inte längre kommer igenom. Vissa attacker är för stora för servern att hantera själv, så skyddet fungerar bäst i lager: först filtrering i nätverkskanten, sedan brandvägg- och applikationsinställningar på VPS:en. ONIE skyddar molnservrar i Ho Chi Minh City med DDoS Shield i nätverkskanten utan extra kostnad, och du kan driftsätta en VPS med DDoS-skydd på några minuter.
Typer av attacker
- Volumetriska (lager 3 och 4): översvämningar av paket som fyller nätverkslänken, till exempel UDP-floods.
- Protokollattacker: missbruk av hanteringen av anslutningar, till exempel SYN-floods som fyller anslutningstabellen.
- Applikationslagret (lager 7): många till synes giltiga HTTP-förfrågningar som tömmer webbservern eller databasen.
Varje typ kräver ett eget försvar. Volumetrisk trafik måste stoppas innan den når din server; applikationsfloods kan reduceras på servern.
1. Filtrera i nätverkskanten
Filtrering i kanten släpper bort skadlig trafik innan den når din VPS, så att länken inte blir mättad. Med DDoS Shield sker filtreringen i nätverkskanten med XDP/eBPF, och konsolen visar trafik- och attackhändelser för varje IP-adress. Fråga alla leverantörer du utvärderar vad som ingår, var filtreringen sker och om den kostar extra.
2. Stäng det du inte använder
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableExponera inte databaser eller administrationspaneler mot internet. Bind dem till 127.0.0.1 eller ett privat nätverk.
3. Justera kärnan för SYN-floods
SYN-cookies är aktiverade som standard i de flesta distributioner. Kontrollera:
sysctl net.ipv4.tcp_syncookiesHåll andra kärnändringar små och testa dem, eftersom felaktiga värden kan försämra normal trafik.
4. Begränsa förfrågningar i Nginx
I http-blocket:
limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=connperip:10m;I server- eller location-blocket:
limit_req zone=perip burst=20 nodelay;
limit_conn connperip 20;Ladda om med sudo nginx -t && sudo systemctl reload nginx. Servera statiska filer från cache och använd ett cachningstillägg på WordPress för att minska kostnaden för varje förfrågan. Se installera WordPress med Nginx.
5. Övervaka trafiken
ss -s
sudo ss -ntu state established | wc -l
sudo apt install -y nload && nloadEn plötslig ökning av anslutningar eller bandbredd, eller en server som blir långsam med låg CPU-användning, kan tyda på en attack. Ställ in larm så att du märker det tidigt.
6. Checklista vid incident
- Bekräfta i konsolen om trafiken är en attack eller en verklig topp.
- Kontrollera attackhändelserna och den attackerade IP-adressen.
- Blockera skadliga käll-IP-adresser eller intervall som du kan identifiera.
- Aktivera strängare begränsningar eller en underhållssida.
- Kontakta leverantörens support med tidpunkt och IP-adress.
- Granska loggarna efteråt och uppdatera den här planen. Håll säkerhetskopior och snapshots aktuella.
Vanliga frågor
Kan en brandvägg på VPS:en stoppa en stor DDoS-attack?
Inte ensam. Om trafiken fyller nätverkslänken kan servern inte filtrera den. Du behöver filtrering uppströms från servern.
Hjälper en CDN?
För webbplatser kan ett CDN eller en reverse proxy ta emot webbtrafik, under förutsättning att din riktiga serveradress inte exponeras i DNS eller i e-postrubriker.
Behöver jag en särskild plan för DDoS-skydd?
Det beror på leverantören. Kontrollera vad som ingår i din plan och för din plats.