Sådan beskytter du en VPS mod DDoS-angreb
Et distribueret denial-of-service-angreb (DDoS) oversvømmer en server eller dens netforbindelse med trafik, indtil rigtige besøgende ikke kan komme igennem. Nogle angreb er for store til, at selve serveren kan håndtere dem, så beskyttelsen virker bedst i lag: først filtrering i netværkskanten, derefter firewall- og applikationsindstillinger på VPS'en. ONIE beskytter cloud-servere i Ho Chi Minh City med DDoS Shield i netværkskanten uden ekstra omkostning, og du kan implementere en VPS med DDoS-beskyttelse på få minutter.
Typer af angreb
- Volumetriske angreb (lag 3 og 4): oversvømmelser af pakker, der fylder netforbindelsen, for eksempel UDP-floods.
- Protokolangreb: misbrug af håndteringen af forbindelser, for eksempel SYN-floods, der fylder forbindelsestabellen.
- Applikationslaget (lag 7): mange gyldigt udseende HTTP-forespørgsler, der udmatter webserveren eller databasen.
Hver type kræver et forskelligt forsvar. Volumetrisk trafik skal stoppes, før den når din server; applikationsoversvømmelser kan reduceres på serveren.
1. Filtrer i netværkskanten
Filtrering i kanten fjerner dårlig trafik, før den når din VPS, så forbindelsen ikke bliver mættet. Med DDoS Shield kører filtreringen i netværkskanten ved hjælp af XDP/eBPF, og konsollen viser trafik og angrebshændelser for hver IP. Spørg enhver udbyder, du overvejer, hvad der er inkluderet, hvor filtreringen foregår, og om den koster ekstra.
2. Luk det, du ikke bruger
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableEksponer ikke databaser eller administrationspaneler til internettet. Bind dem til 127.0.0.1 eller et privat netværk.
3. Justér kernen til SYN-floods
SYN cookies er slået til som standard i de fleste distributioner. Tjek det:
sysctl net.ipv4.tcp_syncookiesHold andre kerneændringer små, og test dem, for forkerte værdier kan skade almindelig trafik.
4. Begræns forespørgsler i Nginx
I http-blokken:
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-blokken:
limit_req zone=perip burst=20 nodelay;
limit_conn connperip 20;Genindlæs med sudo nginx -t && sudo systemctl reload nginx. Server statiske filer fra cache, og brug et cache-plugin på WordPress for at reducere omkostningen ved hver forespørgsel. Se installation af WordPress med Nginx.
5. Overvåg trafikken
ss -s
sudo ss -ntu state established | wc -l
sudo apt install -y nload && nloadEt pludseligt spring i forbindelser eller båndbredde, eller en server, der bliver langsom med lavt CPU-forbrug, kan betyde et angreb. Opsæt alarmer, så du opdager det tidligt.
6. Tjekliste til hændelser
- Bekræft i konsollen, om trafikken er et angreb eller en reel stigning.
- Kontrollér angrebshændelserne og den angrebne IP.
- Bloker misbrugende kildeadresser eller intervaller, du kan identificere.
- Slå strengere hastighedsgrænser eller en vedligeholdelsesside til.
- Kontakt din udbyders support med tidspunktet og IP'en.
- Gennemgå bagefter logfilerne, og opdater denne plan. Hold backups og snapshots opdaterede.
Ofte stillede spørgsmål
Kan en firewall på VPS'en stoppe et stort DDoS-angreb?
Ikke alene. Hvis trafikken fylder netforbindelsen, kan serveren ikke filtrere den. Du har brug for filtrering opstrøms for serveren.
Hjælper et CDN?
For websites kan et CDN eller en reverse proxy absorbere webtrafik, så længe din rigtige server-IP ikke eksponeres i DNS- eller e-mailheadere.
Har jeg brug for en særlig plan for DDoS-beskyttelse?
Det afhænger af udbyderen. Tjek, hvad der er inkluderet i din plan og lokation.