Slik beskytter du en VPS mot DDoS-angrep
Et distribuert denial-of-service-angrep (DDoS) overøser en server eller nettforbindelsen hennes med trafikk til ekte besøkende ikke kommer igjennom. Noen angrep er for store for serveren å håndtere alene, så beskyttelsen fungerer best i lag: først filtrering i nettverkskanten, deretter brannmur- og applikasjonsinnstillinger på VPS-en. ONIE beskytter skyservere i Ho Chi Minh City med DDoS Shield i nettverkskanten uten ekstra kostnad, og du kan opprette en VPS med DDoS-beskyttelse på få minutter.
Typer angrep
- Volumetrisk (lag 3 og 4): flom av pakker som fyller nettforbindelsen, for eksempel UDP-flom.
- Protokollangrep: misbruk av tilkoblingshåndtering, for eksempel SYN-flom som fyller tilkoblingstabellen.
- Applikasjonslaget (lag 7): mange gyldig utseende HTTP-forespørsler som tømmer webserveren eller databasen.
Hver type krever et eget forsvar. Volumetrisk trafikk må stoppes før den når serveren din, mens applikasjonsflom kan reduseres på serveren.
1. Filtrer i nettverkskanten
Filtrering i nettverkskanten dropper dårlig trafikk før den når VPS-en din, slik at forbindelsen ikke blir overbelastet. Med DDoS Shield skjer filtreringen i nettverkskanten ved hjelp av XDP/eBPF, og konsollen viser trafikk og angrepshendelser for hver IP. Spør alle leverandører du vurderer hva som er inkludert, hvor filtreringen skjer og om det koster ekstra.
2. Steng det du ikke bruker
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableIkke eksponer databaser eller administrasjonspaneler mot internett. Knytt dem til 127.0.0.1 eller et privat nettverk.
3. Juster kjernen for SYN-flom
SYN-cookies er påslått som standard i de fleste distribusjoner. Sjekk med:
sysctl net.ipv4.tcp_syncookiesHold andre endringer i kjernen små og test dem, for feil verdier kan skade vanlig trafikk.
4. Begrens forespørsler 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;Last inn på nytt med sudo nginx -t && sudo systemctl reload nginx. Server statiske filer fra cache, og bruk et hurtigbufferplugin på WordPress for å redusere kostnaden per forespørsel. Se installere WordPress med Nginx.
5. Overvåk trafikk
ss -s
sudo ss -ntu state established | wc -l
sudo apt install -y nload && nloadEt plutselig hopp i tilkoblinger eller båndbredde, eller en server som blir treg med lav CPU-bruk, kan bety at det pågår et angrep. Sett opp varsler slik at du oppdager det tidlig.
6. Sjekkliste ved hendelse
- Bekreft i konsollen om trafikken er et angrep eller en ekte topp.
- Sjekk angrepshendelsene og IP-en som er angrepet.
- Blokker avsenderadresser eller områder du kan identifisere som misbruk.
- Slå på strengere grenser for forespørsler eller en vedlikeholdsside.
- Kontakt leverandørens support med tidspunkt og IP.
- Gå deretter gjennom loggene og oppdater denne planen. Hold sikkerhetskopier og snapshots oppdatert.
Ofte stilte spørsmål
Kan en brannmur på VPS-en stoppe et stort DDoS-angrep?
Ikke alene. Hvis trafikken fyller nettforbindelsen, kan ikke serveren filtrere den. Du trenger filtrering oppstrøms for serveren.
Hjelper et CDN?
For nettsider kan et CDN eller en reverse proxy ta imot webtrafikk, så lenge den ekte server-IP-en din ikke er eksponert i DNS- eller e-posthoder.
Trenger jeg en spesiell plan for DDoS-beskyttelse?
Det avhenger av leverandøren. Sjekk hva som er inkludert i planen og lokasjonen din.