Hur man skyddar din VPS från DDoS-attacker: Praktisk guide
Omfattande guide om att skydda din VPS från DDoS-attacker med brandväggar, hastighetsbegränsning och andra beprövade metoder.

DDoS-attacker (Distributed Denial of Service) kan ta din server offline på minuter, vilket leder till intäktsförlust, kundmissnöje och skadad rykte. År 2026 har sådana attacker blivit mer sofistikerade och tillgängliga. Lyckligtvis har moderna skyddsmetoder också utvecklats. Denna guide visar dig hur du skyddar din Hiddence VPS från de vanligaste typerna av DDoS-attacker.
Vad är en DDoS-attack?
En DDoS-attack uppstår när flera datorer (botnet) samtidigt skickar förfrågningar till din server, överväldigar dess resurser och gör den otillgänglig för legitima användare.
Huvudtyper av DDoS-attacker
- Volymattacker (L3/L4): UDP-flood, ICMP, SYN-flood — överväldigar nätverksbandbredd
- Applikationslagerattacker (L7): HTTP-flood, Slowloris — riktar sig mot applikationslager
- Protokollattacker: Utnyttjar sårbarheter i nätverksprotokoll
Inbyggt Hiddence-skydd
Alla Hiddence VPS inkluderar grundläggande Layer 3-4 DDoS-skydd (nätverksnivå). Detta filtrerar automatiskt de flesta volymattacker. Layer 7 (applikations) attacker kräver dock ytterligare konfiguration.
Steg 1: Brandväggsinstallation
Den första försvarslinjen är korrekt brandväggskonfiguration. UFW (Uncomplicated Firewall) är ett enkelt och effektivt verktyg för Ubuntu/Debian.
# Installera UFW
sudo apt update && sudo apt install ufw -y
# Tillåt SSH (VIKTIGT! Gör detta innan du aktiverar UFW)
sudo ufw allow 22/tcp
# Tillåt HTTP och HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Aktivera UFW
sudo ufw enable
# Kontrollera status
sudo ufw status verbose
# Avancerade skyddsregler:
# Begränsa SSH-anslutningar (brute force-skydd)
sudo ufw limit 22/tcp
# Blockera ICMP ping-floder
sudo nano /etc/ufw/before.rules
# Lägg till efter *filter:
-A ufw-before-input -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
# Skydd mot SYN-flood
sudo nano /etc/sysctl.conf
# Lägg till:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Tillämpa ändringar
sudo sysctl -pSteg 2: Installera Fail2Ban
Fail2Ban blockerar automatiskt IP-adresser som visar misstänkt aktivitet (flera misslyckade inloggningsförsök, portskanning).
# Installera
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Konfiguration för SSH- och HTTP-skydd
# Skapa lokal konfiguration
sudo nano /etc/fail2ban/jail.local
# Lägg till:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
banaction = ufw
[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log
[nginx-limit-req]
enabled = true
filter = nginx-limit-req
port = http,https
logpath = /var/log/nginx/error.log
# Starta om Fail2Ban
sudo systemctl restart fail2ban
# Kontrollera status
sudo fail2ban-client statusSteg 3: Nginx-skydd
Om du använder Nginx, konfigurera hastighetsbegränsning för att skydda mot HTTP-flodattacker.
sudo nano /etc/nginx/nginx.conf
# Lägg till i http-block:
http {
# Begränsning av förfrågningar: 10 förfrågningar per sekund per IP
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
# Anslutningsbegränsning
limit_conn_zone $binary_remote_addr zone=addr:10m;
# Slowloris-skydd
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 5s 5s;
send_timeout 10s;
# Resten av konfigurationen...
}
# I server-block lägg till:
server {
location / {
# Tillämpa begränsning av förfrågningar
limit_req zone=one burst=20 nodelay;
# Anslutningsbegränsning: max 10 per IP
limit_conn addr 10;
# Din konfiguration...
}
}
# Testa konfiguration och ladda om
sudo nginx -t
sudo systemctl reload nginxSteg 4: Använd CDN
För maximalt skydd, använd en CDN-tjänst som Cloudflare. CDN fungerar som en proxy, döljer din servers riktiga IP och absorberar de flesta DDoS-attacker. Fördelar: dölj riktig IP, automatisk filtrering av skadlig trafik, lastfördelning, gratis SSL/TLS, WAF för L7-skydd.
- Registrera på cloudflare.com (gratis plan tillgänglig)
- Lägg till din domän och ändra NS-poster hos din registrator
- Aktivera 'Proxy'-läge (orange moln) för DNS-poster
- Ställ in SSL-läge till 'Full (strict)' i SSL/TLS-sektionen
- Aktivera 'DDoS Protection' och 'Bot Fight Mode' i säkerhetsinställningar
Steg 5: Övervakning
Regelbunden övervakning hjälper till att upptäcka attacker tidigt.
# Övervaka aktiva anslutningar
watch -n 1 'ss -s'
# Visa topp IP:er efter antal anslutningar
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# Visa loggar i realtid
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f
# Kontrollera blockerade IP:er i Fail2Ban
sudo fail2ban-client status sshdNödåtgärder
Om en attack redan pågår, vidta följande åtgärder:
- Identifiera källan: Använd 'netstat' eller loggar för att identifiera attackerande IP:er
- Tillfällig blockering: sudo ufw insert 1 deny from ATTACKING_IP
- Blockera hela undernät: sudo ufw deny from 123.45.0.0/16
- Begränsa hastighetsbegränsning: Sänk tillfälligt Nginx-begränsningar till 1-5 req/s
- Kontakta support: Kontakta Hiddence-support för aktivering av avancerat skydd
- Aktivera 'Under Attack Mode' i Cloudflare (om du använder det)
Bästa praxis
- Publicera aldrig din servers riktiga IP om du använder CDN
- Uppdatera regelbundet systemet: sudo apt update && sudo apt upgrade
- Använd SSH-nycklar istället för lösenord för serveråtkomst
- Ändra standard SSH-port (22) till icke-standardiserad
- Ställ in automatiska säkerhetskopior för snabb återställning
- Använd separata IP:er för kritiska tjänster
- Aktivera loggning och kontrollera regelbundet loggar för misstänkt aktivitet
- Överväg att använda geografisk blockering om din tjänst inte är global