Kas ir DDoS uzbrukums un kā to apturēt
Kas ir DDoS uzbrukums?
DDoS (Distributed Denial of Service, izkliedēts pakalpojuma atteikums) uzbrukums pārpludina serveri, vietni vai tīklu ar lielāku datu plūsmu, nekā tas spēj apstrādāt, līdz likumīgie lietotāji tam vairs nevar piekļūt. Datu plūsma nāk vienlaikus no daudziem avotiem, bieži no tūkstošiem inficētu ierīču botu tīklā, tāpēc nosaukumā ir vārds "izkliedēts". Uzticama DDoS aizsardzība mūsdienās ir pamatprasība jebkuram pakalpojumam, kuram jāpaliek pieejamam, vienalga, vai tas ir interneta veikals, API vai spēļu serveris.
Biežākie DDoS uzbrukumu veidi
- Apjoma (volumetric): UDP, ICMP vai DNS pastiprināšana, kas piepilda tavu joslas platumu (mēra Gbit/s).
- Protokola: SYN plūdi un līdzīgi, kas noplicina savienojumu tabulas Firewall un slodzes balansētājos (mēra paketēs sekundē).
- Lietojumprogrammu līmenis (Layer 7): HTTP GET/POST pieprasījumu plūdi, kas gandrīz neatšķiras no īstiem lietotājiem un mērķē uz smagām lapām, meklēšanu vai pieteikšanos.
Kā saprast, ka tev uzbrūk
Pēkšņa aizkave, noildzes vai datu plūsmas kāpums bez mārketinga iemesla ir pirmās pazīmes. Linux serverī tu vari apskatīt aktīvos savienojumus:
# savienojumu skaits pēc klienta IP
ss -ntu state established | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
# vērot ienākošo datu plūsmu
watch -n1 'cat /proc/net/dev'
Ja viena vai dažas adreses tur simtiem savienojumu vai pieprasījumi dauza vienu URL, visticamāk, tas ir uzbrukums, nevis parasta slodze.
Kā apturēt DDoS uzbrukumu
1. Filtrē acīmredzamos avotus ar Firewall
Bloķē vai ierobežo ļaunprātīgas IP adreses, kamēr meklē cēloni:
# nomest vienu ļaunprātīgu avotu iptables -A INPUT -s 203.0.113.10 -j DROP # ierobežot jaunus savienojumus no viena avota portā 443 iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP
2. Ierobežo pieprasījumu biežumu tīmekļa serverī
Pret Layer 7 plūdiem nginx var ierobežot pieprasījumu skaitu no klienta:
limit_req_zone $binary_remote_addr zone=web:10m rate=10r/s;
server {
location / {
limit_req zone=web burst=20 nodelay;
}
}
3. Automātiski bloķē atkārtotus pārkāpējus
Fail2ban lasa tavus žurnālus un bloķē adreses, kas pārsniedz slieksni, kas palīdz pret lēniem lietojumprogrammu plūdiem, kuri paliek zem parastajiem plūsmas ierobežojumiem.
4. Pārcel filtrēšanu augstāk tīklā
Skarbā patiesība: liels apjoma uzbrukums piepilda tavu augšupsaiti vēl pirms serveris ierauga kaut vienu paketi, tāpēc vietējie noteikumi nelīdz. Šāda datu plūsma jāfiltrē, pirms tā sasniedz tevi, tīkla malā. Tieši to dara īpaša DDoS aizsardzība un datu plūsmas attīrīšana (scrubbing): attīra plūsmu augstāk tīklā, tālāk laiž tikai likumīgus pieprasījumus un saglabā tavu joslas platumu brīvu.
Kā DDoS aizsardzību nodrošina CloudHosting
Pakalpojumi mūsu Rīgas datu centrā, kā arī Nīderlandes un Dubaijas lokācijās, atrodas aiz tīkla līmeņa DDoS filtrēšanas ar BGP balstītu attīrīšanu apjoma uzbrukumiem. Mūsu komanda strādā visu diennakti, uzrauga datu plūsmu un pielāgo aizsardzību tavai lietojumprogrammai, ievērojot NIS2 un GDPR prasības un ES datu suverenitāti.
Praktiskais secinājums
Nelielus plūdus atvairi pats ar Firewall noteikumiem, nginx biežuma ierobežošanu un fail2ban, taču nepaļaujies tikai uz serveri. Visu lielo jāaptur augstāk tīklā, tāpēc liec īstu DDoS aizsardzību priekšā jebkuram pakalpojumam, ko nevari atļauties zaudēt, un turpini uzraudzību, lai pamanītu uzbrukumu minūtēs, nevis stundās.
Turpini lasīt
Gatavs sākt?
Palaid dažās minūtēs vai aprunājies ar inženieri par piemērotāko risinājumu.