Kako zaščititi VPS pred napadi DDoS

Avtor: Ekipa za inženiring ONIE · Posodobljeno 12. november 2026 · Branje: 3 min

Napad DDoS (distributed denial-of-service) preplavi strežnik ali njegovo omrežno povezavo s prometom, dokler pravi obiskovalci ne morejo do njega. Nekateri napadi so preveliki, da bi jih strežnik sam obvladal, zato zaščita najbolje deluje v plasteh: najprej filtriranje na robu omrežja, nato nastavitve požarnega zidu in aplikacije na VPS. ONIE ščiti oblačne strežnike v Ho Chi Minh Cityju z DDoS Shield na robu omrežja brez dodatnih stroškov, VPS z zaščito DDoS pa lahko namestite v nekaj minutah.

Vrste napadov

  • Volumetrični (plast 3 in 4): poplave paketov, ki zapolnijo omrežno povezavo, na primer poplave UDP.
  • Napadi na protokol: zloraba obravnave povezav, na primer poplave SYN, ki zapolnijo tabelo povezav.
  • Napadi na aplikacijski sloj (plast 7): veliko veljavnih HTTP zahtevkov, ki izčrpajo spletni strežnik ali podatkovno bazo.

Vsaka vrsta zahteva drugačno obrambo. Volumetrični promet je treba ustaviti, preden doseže strežnik; poplave na aplikacijskem sloju lahko zmanjšate na strežniku.

1. Filtriranje na robu omrežja

Filtriranje na robu omrežja zavrže slab promet, preden doseže VPS, zato povezava ni preobremenjena. Pri DDoS Shield filtriranje poteka na robu omrežja z XDP/eBPF, konzola pa prikazuje promet in dogodke napadov za posamezni IP. Pri vsakem ponudniku, ki ga ocenjujete, vprašajte, kaj je vključeno, kje poteka filtriranje in ali to stane dodatno.

2. Zaprite, kar ne uporabljate

sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Podatkovnih baz in skrbniških plošč ne izpostavljajte internetu. Vežite jih na 127.0.0.1 ali zasebno omrežje.

3. Prilagodite jedro za poplave SYN

Piškotki SYN so v večini distribucij privzeto vklopljeni. Preverite:

sysctl net.ipv4.tcp_syncookies

Druge spremembe jedra naj bodo majhne in preizkušene, ker lahko napačne vrednosti poslabšajo običajen promet.

4. Omejite število zahtevkov v Nginx

V bloku http:

limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=connperip:10m;

V bloku server ali location:

limit_req zone=perip burst=20 nodelay;
limit_conn connperip 20;

Konfiguracijo ponovno naložite z sudo nginx -t && sudo systemctl reload nginx. Statične datoteke postrežite iz predpomnilnika in na WordPressu uporabite vtičnik za predpomnjenje, da zmanjšate strošek vsakega zahtevka. Glejte namestitev WordPressa z Nginx.

5. Spremljajte promet

ss -s
sudo ss -ntu state established | wc -l
sudo apt install -y nload && nload

Nenadoma povečanje števila povezav ali pasovne širine ali strežnik, ki postane počasen ob majhni uporabi procesorja, lahko pomeni napad. Nastavite opozorila, da ga opazite zgodaj.

6. Kontrolni seznam za incident

  1. V konzoli preverite, ali gre za napad ali za pravo povečanje prometa.
  2. Preglejte dogodke napadov in napadeni IP.
  3. Blokirajte zlonamerne izvorne naslove ali obsege, ki jih lahko prepoznate.
  4. Vklopite strožje omejitve zahtevkov ali vzdrževalno stran.
  5. S časom in IP-jem se obrnite na podporo ponudnika.
  6. Nato pregledajte dnevnike in posodobite ta načrt. Redno posodabljajte varnostne kopije in posnetke.

Pogosto zastavljena vprašanja

Ali lahko požarni zid na VPS ustavi velik napad DDoS?

Sam ne. Če promet zapolni omrežno povezavo, strežnik ne more filtrirati prometa. Potrebujete filtriranje pred strežnikom.

Ali CDN pomaga?

Za spletna mesta lahko CDN ali obratni posredniški strežnik sprejme spletni promet, če vaš pravi IP strežnika ni izpostavljen v DNS ali glavah e-pošte.

Ali potrebujem poseben paket za zaščito pred DDoS?

Odvisno od ponudnika. Preverite, kaj je vključeno v vaš paket in lokacijo.

Viri in za nadaljnje branje

Več vodnikov za VPS