Kuidas kaitsta oma VPS-i DDoS rünnakute eest: praktiline juhend
Põhjalik juhend VPS-i kaitsmiseks DDoS rünnakute eest tulemüüride, kiirusepiirangute ja teiste tõestatud meetodite abil.

DDoS rünnakud (Distributed Denial of Service) võivad teie serveri mõne minutiga võrguväliselt võtta, põhjustades tulu kaotust, klientide rahulolematust ja maine kahjustust. 2026. aastal on sellised rünnakud muutunud keerukamaks ja kättesaadavamaks. Õnneks on kaasaegsed kaitsemeetodid arenenud. See juhend näitab teile, kuidas kaitsta oma Hiddence VPS-i kõige levinumate DDoS rünnakute tüüpide eest.
Mis on DDoS rünnak?
DDoS rünnak toimub siis, kui mitu arvutit (botnet) saadavad samaaegselt päringuid teie serverile, ülekoormades selle ressursid ja muutes selle seaduslike kasutajate jaoks kättesaamatuks.
Peamised DDoS rünnakute tüübid
- Mahulised rünnakud (L3/L4): UDP üleujutus, ICMP, SYN üleujutus — ülekoormavad võrgu ribalaiust
- Rakenduskiht rünnakud (L7): HTTP üleujutus, Slowloris — sihtivad rakenduskihti
- Protokolli rünnakud: kasutavad ära haavatavusi võrguprotokollides
Sisseehitatud Hiddence kaitse
Kõik Hiddence VPS-id sisaldavad põhilist 3-4 kihi DDoS kaitset (võrgutase). See filtreerib automaatselt enamiku mahulisi rünnakuid. Kuid 7. kihi (rakendus) rünnakud nõuavad täiendavat konfigureerimist.
Samm 1: Tulemüüri seadistamine
Esimene kaitseliin on õige tulemüüri konfiguratsioon. UFW (Uncomplicated Firewall) on lihtne ja tõhus tööriist Ubuntu/Debiani süsteemidele.
# Installi UFW
sudo apt update && sudo apt install ufw -y
# Luba SSH (OLULINE! Tehke seda enne UFW lubamist)
sudo ufw allow 22/tcp
# Luba HTTP ja HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Luba UFW
sudo ufw enable
# Kontrolli olekut
sudo ufw status verbose
# Täiustatud kaitsereeglid:
# Piira SSH ühendusi (jõhkrate rünnakute kaitsmine)
sudo ufw limit 22/tcp
# Blokeeri ICMP ping üleujutused
sudo nano /etc/ufw/before.rules
# Lisa pärast *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
# Kaitse SYN üleujutuste vastu
sudo nano /etc/sysctl.conf
# Lisa:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Rakenda muudatused
sudo sysctl -pSamm 2: Installige Fail2Ban
Fail2Ban blokeerib automaatselt IP-aadresse, mis näitavad kahtlast tegevust (mitu ebaõnnestunud sisselogimiskatset, pordi skaneerimine).
# Installi
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Konfiguratsioon SSH ja HTTP kaitsmiseks
# Loo kohalik konfiguratsioon
sudo nano /etc/fail2ban/jail.local
# Lisa:
[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
# Taaskäivita Fail2Ban
sudo systemctl restart fail2ban
# Kontrolli olekut
sudo fail2ban-client statusSamm 3: Nginxi kaitse
Kui kasutate Nginxit, konfigureerige kiirusepiirangud HTTP üleujutuste rünnakute vastu kaitsmiseks.
sudo nano /etc/nginx/nginx.conf
# Lisa http plokki:
http {
# Päringu piirang: 10 päringut sekundis IP kohta
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
# Ühenduse piirang
limit_conn_zone $binary_remote_addr zone=addr:10m;
# Slowloris kaitse
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 5s 5s;
send_timeout 10s;
# Ülejäänud konfiguratsioon...
}
# Serveri plokis lisa:
server {
location / {
# Rakenda päringu piirang
limit_req zone=one burst=20 nodelay;
# Ühenduse piirang: maksimaalselt 10 IP kohta
limit_conn addr 10;
# Teie konfiguratsioon...
}
}
# Testi konfiguratsiooni ja laadi uuesti
sudo nginx -t
sudo systemctl reload nginxSamm 4: Kasutage CDN-i
Maksimaalse kaitsmise jaoks kasutage CDN teenust nagu Cloudflare. CDN toimib proksina, peites teie serveri tõelise IP ja neelates enamiku DDoS rünnakuid. Eelised: peida tõeline IP, automaatne pahatahtliku liikluse filtreerimine, koormuse jaotus, tasuta SSL/TLS, WAF 7. kihi kaitsmiseks.
- Registreeruge cloudflare.com (tasuta plaan saadaval)
- Lisage oma domeen ja muutke NS kirjeid oma registreerijas
- Lubage 'Proxy' režiim (oranž pilv) DNS kirjete jaoks
- Seadke SSL režiim väärtusele 'Full (strict)' SSL/TLS sektsioonis
- Lubage 'DDoS Protection' ja 'Bot Fight Mode' turvalisuse sätetes
Samm 5: Jälgimine
Regulaarne jälgimine aitab rünnakuid varakult tuvastada.
# Jälgi aktiivseid ühendusi
watch -n 1 'ss -s'
# Vaata tipp IP-sid ühenduste arvu järgi
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# Vaata logisid reaalajas
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f
# Kontrolli blokeeritud IP-sid Fail2Banis
sudo fail2ban-client status sshdHädaabimeetmed
Kui rünnak on juba käimas, võtke järgmised meetmed:
- Tuvasta allikas: kasutage 'netstat' või logisid rünnakute IP-de tuvastamiseks
- Ajutine blokeering: sudo ufw insert 1 deny from RÜNNAKU_IP
- Blokeeri terveid alamvõrke: sudo ufw deny from 123.45.0.0/16
- Piira kiirusepiirangut: ajutiselt langetage Nginxi piirangud 1-5 req/s-ni
- Võtke ühendust toega: pöörduge Hiddence toele täiustatud kaitsmise aktiveerimiseks
- Lubage 'Under Attack Mode' Cloudflare'is (kui kasutate)
Parimad tavad
- Ärge avaldage kunagi oma serveri tõelist IP-d, kui kasutate CDN-i
- Uuendage regulaarselt süsteemi: sudo apt update && sudo apt upgrade
- Kasutage SSH võtmeid paroolide asemel serveri juurdepääsuks
- Muutke vaike SSH port (22) mittestandardseks
- Seadistage automaatsed varukoopiad kiireks taastamiseks
- Kasutage eraldi IP-sid kriitiliste teenuste jaoks
- Lubage logimine ja kontrollige regulaarselt logisid kahtlase tegevuse suhtes
- Kaaluge geograafilist blokeerimist, kui teie teenus pole globaalne