Kako zaštititi svoj VPS od DDoS napada: Praktični vodič
Sveobuhvatan vodič o zaštiti vašeg VPS-a od DDoS napada koristeći vatrozide, ograničavanje brzine i druge provjerene metode.

DDoS napadi (Distribuirano uskraćivanje usluge) mogu uzeti vaš poslužitelj offline u nekoliko minuta, što dovodi do gubitka prihoda, nezadovoljstva korisnika i oštećenja ugleda. U 2026. godini, takvi napadi postali su sofisticiraniji i pristupačniji. Srećom, moderne metode zaštite također su evoluirale. Ovaj vodič će vam pokazati kako zaštititi svoj Hiddence VPS od najčešćih vrsta DDoS napada.
Što je DDoS napad?
DDoS napad se događa kada više računala (botnet) istovremeno šalje zahtjeve na vaš poslužitelj, preplavljujući njegove resurse i čineći ga nedostupnim legitimnim korisnicima.
Glavne vrste DDoS napada
- Volumetrički napadi (L3/L4): UDP poplava, ICMP, SYN poplava — preplavljuju mrežnu propusnost
- Napadi na aplikacijskom sloju (L7): HTTP poplava, Slowloris — ciljaju aplikacijski sloj
- Protokolni napadi: Iskorištavaju ranjivosti u mrežnim protokolima
Ugrađena Hiddence zaštita
Svi Hiddence VPS-ovi uključuju osnovnu zaštitu od DDoS napada sloja 3-4 (na mrežnoj razini). Ovo automatski filtrira većinu volumetričkih napada. Međutim, napadi sloja 7 (aplikacijski) zahtijevaju dodatnu konfiguraciju.
Korak 1: Postavljanje vatrozida
Prva linija obrane je pravilna konfiguracija vatrozida. UFW (Nekomplicirani vatrozid) je jednostavan i učinkovit alat za Ubuntu/Debian.
# Instalirajte UFW
sudo apt update && sudo apt install ufw -y
# Dopustite SSH (VAŽNO! Učinite ovo prije omogućavanja UFW-a)
sudo ufw allow 22/tcp
# Dopustite HTTP i HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Omogućite UFW
sudo ufw enable
# Provjerite status
sudo ufw status verbose
# Napredna pravila zaštite:
# Ograničite SSH veze (zaštita od brute force napada)
sudo ufw limit 22/tcp
# Blokirajte ICMP ping poplave
sudo nano /etc/ufw/before.rules
# Dodajte nakon *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
# Zaštita od SYN poplave
sudo nano /etc/sysctl.conf
# Dodajte:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Primijenite promjene
sudo sysctl -pKorak 2: Instalirajte Fail2Ban
Fail2Ban automatski blokira IP adrese koje pokazuju sumnjivu aktivnost (više neuspjelih pokušaja prijave, skeniranje portova).
# Instalirajte
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Konfiguracija za SSH i HTTP zaštitu
# Kreirajte lokalnu konfiguraciju
sudo nano /etc/fail2ban/jail.local
# Dodajte:
[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
# Ponovno pokrenite Fail2Ban
sudo systemctl restart fail2ban
# Provjerite status
sudo fail2ban-client statusKorak 3: Nginx zaštita
Ako koristite Nginx, konfigurirajte ograničavanje brzine za zaštitu od HTTP poplavnih napada.
sudo nano /etc/nginx/nginx.conf
# Dodajte u http blok:
http {
# Ograničenje zahtjeva: 10 zahtjeva u sekundi po IP-u
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
# Ograničenje veza
limit_conn_zone $binary_remote_addr zone=addr:10m;
# Slowloris zaštita
client_body_timeout 10s;
client_header_timeout 10s;
keepalive_timeout 5s 5s;
send_timeout 10s;
# Ostatak konfiguracije...
}
# U server bloku dodajte:
server {
location / {
# Primijenite ograničenje zahtjeva
limit_req zone=one burst=20 nodelay;
# Ograničenje veza: maksimalno 10 po IP-u
limit_conn addr 10;
# Vaša konfiguracija...
}
}
# Testirajte konfiguraciju i ponovno učitajte
sudo nginx -t
sudo systemctl reload nginxKorak 4: Koristite CDN
Za maksimalnu zaštitu, koristite CDN uslugu poput Cloudflarea. CDN djeluje kao proxy, skrivajući stvarnu IP adresu vašeg poslužitelja i apsorbirajući većinu DDoS napada. Prednosti: sakrijte stvarnu IP, automatsko filtriranje zlonamjernog prometa, raspodjela opterećenja, besplatan SSL/TLS, WAF za L7 zaštitu.
- Registrirajte se na cloudflare.com (dostupan besplatan plan)
- Dodajte svoju domenu i promijenite NS zapise kod svog registrara
- Omogućite 'Proxy' način (narančasti oblak) za DNS zapise
- Postavite SSL način na 'Pun (striktan)' u SSL/TLS odjeljku
- Omogućite 'DDoS zaštitu' i 'Bot Fight Mode' u sigurnosnim postavkama
Korak 5: Praćenje
Redovito praćenje pomaže rano otkriti napade.
# Pratite aktivne veze
watch -n 1 'ss -s'
# Pogledajte vrh IP-ova po broju veza
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# Pogledajte zapisnike u stvarnom vremenu
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f
# Provjerite blokirane IP-ove u Fail2Ban-u
sudo fail2ban-client status sshdHitne mjere
Ako je napad već u tijeku, poduzmite sljedeće mjere:
- Identificirajte izvor: Koristite 'netstat' ili zapisnike da identificirate IP-ove koji napadaju
- Privremena blokada: sudo ufw insert 1 deny from IP_KOJI_NAPADA
- Blokirajte cijele podmreže: sudo ufw deny from 123.45.0.0/16
- Ograničite ograničenje brzine: Privremeno smanjite Nginx ograničenja na 1-5 req/s
- Kontaktirajte podršku: Obratite se Hiddence podršci za aktivaciju napredne zaštite
- Omogućite 'Način pod napadom' u Cloudflareu (ako koristite)
Najbolje prakse
- Nikada ne objavljujte stvarnu IP adresu vašeg poslužitelja ako koristite CDN
- Redovito ažurirajte sustav: sudo apt update && sudo apt upgrade
- Koristite SSH ključeve umjesto lozinki za pristup poslužitelju
- Promijenite zadani SSH port (22) na nestandardni
- Postavite automatske sigurnosne kopije za brzi oporavak
- Koristite zasebne IP-ove za kritične usluge
- Omogućite bilježenje i redovito provjeravajte zapisnike za sumnjivu aktivnost
- Razmislite o korištenju geografskog blokiranja ako vaša usluga nije globalna