«Poiss, kes meie saiti tegi, on juba DDoS-i kaitse seadistanud.»
«Meil on ju DDoS-i kaitse, miks sait maas on?»
«Kui palju tahab Qrator?»
Kuidas nendele tellija/väärikuse küsimustele normaalselt vastata, oleks hea teada, mis peitub nime «DDoS-i kaitse» taga. Kaitsesüsteemide valik meenutab rohkem arstiga ravimi valimist kui IKEA-st laua valimist.
Olen veebisaitide hooldamisega tegelenud 11 aastat, kogenud sadu rünnakuid hallatavate teenuste vastu, ja nüüd natuke räägin kaitse sisemisest poolest.
Regulaarsed rünnakud. 350k req kokku, 52k req legitiimsed
Esimesed rünnakud ilmusid praktiliselt koos internetiga. DDoS kui nähtus sai massiliseks 2000. aastate lõpus (vaata ).
Umbes alates 2015-2016 aastast on praktiliselt kõik hostinguteenuse pakkujad asunud DDoS-i rünnakute kaitse alla, nagu ka enamus märkimisväärseid saite konkurentsi valdkondades (tee whois IP veebisaitide eldorado.ru, leroymerlin.ru, tilda.ws ja näed kaitsealuste operaatorite võrke).
Kui 10-20 aastat tagasi võis enamik rünnakutest serveris tagasi lükata (hindake süsteemiadministraatori Lenta.ru Maxim Moshkovi soovitusi 90ndatest: ), siis on kaitseülesanded muutunud keerulisemaks.
DDoS rünnakute tüübid kaitseoperaatori valiku vaatenurgast
Rünnakud L3 / L4 tasemel (OSI mudeli järgi)
— UDP ülekoormus botnetist (otse nakkushaigetest seadmetest saadetakse palju päringuid rünnatavale teenusele, serversse koormatakse kanale);
— DNS/NTP/ jne amplifikatsioon (nakkushaigetest seadmetest saadetakse palju päringuid haavatavatele DNS/NTP/ jne, saatja aadress võltsitakse, suur hulk vastusepakette koormab rünnatavale kanale; nii toimub enamik kaasaegseid interneti massilisi rünnakuid);
— SYN / ACK ülekoormus (rännatavad serverid saavad palju päringuid ühenduse loomise kohta ja see põhjustab ühenduste järjekorra ülekoormuse);
— paketifragmenteerimise rünnakud, ping of death, ping flood (googeldage palun);
— jne.
Need rünnakud on suunatud serveri kanali „ülekoormamisele“ või selle suutmatusest uut liiklust vastu võtta.
Kuigi SYN / ACK ülekoormus ja amplifikatsioon erinevad oluliselt, tõitlevad paljud ettevõtted nendega suhteliselt võrdselt. Probleemid tekivad järgmise grupi rünnakutega.
L7 rünnakud (rakendustasand)
— http ülekoormus (kui rünnatakse veebisaiti või mõnda http API-d);
— rünnakute suunamine saidi haavatavatesse kohtadesse (mis ei oma vahemälu, mis koormavad süsteemi väga tugevalt, jne.).
Eesmärk on sundida serverit «raskelt töötama», töötlema palju «näiliselt reaalseid päringuid» ja jääma tõeliste päringute jaoks ressurssideta.
Kuigi on ka teisi rünnakute liike, on need — kõige levinumad.
Tõsiseid L7 taseme rünnakuid luuakse ainulaadselt iga rünnatava projekti jaoks.
Miks kaks rühma?
Sest on palju neid, kes oskavad hästi L3 / L4 taseme rünnakute vastu kaitsta, kuid kas ei paku üldse rakendustaseme (L7) kaitset, või suudavad nad sellega seni vaevalt hakkama saada.
Kes on turul DDoS-kaitsega seotud
(minu isiklik arvamus)
Kaitse L3 / L4 tasemel
Et tõrjuda amplifikatsiooni rünnakuid («serveri kanali ülekoormamine») piisab laiadest kanalitest (paljud kaitseteenused ühendavad end suurte peavoolu teenusepakkujatega Venemaal ja omavad kanaleid, mille teoreetiline maht on üle 1 Tbit). Ärge unustage, et väga haruldased amplifikatsiooni rünnakud kestavad kauem kui tund. Kui olete Spamhaus ja keegi teid ei armasta — jah, võivad proovida teie kanaleid mitu päeva kinni panna isegi riskides teie maailmavaltise botneti ellujäämisega. Kui teil on lihtsalt veebipood, isegi kui see on mvideo.ru — 1 Tbit te näete alles väga hiljem (loodetavasti).
Et tavapäraste SYN / ACK üleujutuste, pakettide fragmenteerimise jms rünnakute tõrjumiseks on vajalik varustus või tarkvarasüsteemid selliste rünnakute tuvastamiseks ja eraldamiseks.
Sellist varustust tootavad paljud (Arbor, Cisco ja Huawei-l on lahendusi, tarkvaralahendusi pakuvad Wanguard jne), paljud peavoolu teenusepakkujad on selle juba paigaldanud ja pakuvad DDoS-kaitse teenuseid (ma tean paigaldustest Rostelecomis, Megafonis, TTK-s, MTS-is, põhimõtteliselt kõigis suurtes teenusepakkujates, sama teevad ka hostimise teenusepakkujad, kes pakuvad kaitset la-la OVH.com, Hetzner.de, olen ise töötanud kaitsega ihor.ru). Mõned ettevõtted arendavad oma tarkvaralahendusi (tehnoloogiad nagu DPDK võimaldavad üksikute füüsiliste x86 masinate peal töödelda liiklust kümnete gigabitite ulatuses).
Kõik tuntud mängijad teavad enam-vähem, kuidas L3/L4 DDoS-rünnakut tõhusalt tagasi tõrjuda. Ma ei oska praegu öelda, kellel on maksimaalne kanalivõimekus (see on siseteave), kuid tavaliselt pole see nii oluline, ja erinevus seisneb vaid selles, kuivõrd kiiresti kaitse tööle hakkab (koheselt või mõne minuti pärast, nagu Hetzneris).
Küsimus on selles, kui kvaliteetselt seda tehdakse: Küllastumise rünnakut saab tõrjuda, blokeerides liikluse riikidest, kus on kõige rohkem kahjulikku liiklust, või saab visata minema ainult tõeliselt liigse liikluse.
Aga selle põhjal, mida ma olen kogenud, saavad kõik tõsised turu mängijad sellega probleemideta hakkama: Qrator, DDoS-Guard, Kaspersky, G-Core Labs (endine SkyParkCDN), ServicePipe, Stormwall, Voxility jne.
Ma ei ole kokku puutunud selliste operaatoritega nagu Rossotelecom, Megafon, TTK, Beeline, kolleegide arvustuste järgi pakuvad nad neid teenuseid piisavalt kvaliteetselt, kuid praegu kajastub perioodiliselt kogemuse puudus: vahel peab midagi ettevõtte toetuse kaudu veel kohandama.
Mõnedel operaatoritel on eraldi teenus "L3/L4 taseme rünnakute kaitse", või "kanalite kaitse", mis maksab palju vähem kui kaitse kõigil tasanditel.
Kuidas mitte-maanteeteenuse pakkuja suudab tagasi tõrjuda rünnakud sadu Gbit, tal ju polnud oma kanaleid?Kaitseoperaator saab ühendada mistahes suurte teenusepakkujatega ja tõrjuda rünnakud "tema arvel". Kanali eest tuleb maksta, kuid kõik need sajad Gbit ei ole alati kasutuses, on võimalusi kanalihindade olulisteks langetamiseks, seega skeem jääb toimivaks.
Selliseid aruandeid ülemise L3/L4 kaitse kohta sain ma regulaarselt, toetades hostinguteenuse pakkujat.
Kaitse L7 tasemel (rakendustasand)
L7 taseme (rakendustasand) rünnakute tõrjumiseks oskavad kvaliteetselt ja stabiilselt hakkama saada vaid üksikud.
Mul on päris suur kogemus.
— Qrator.net;
— DDoS-Guard;
— G-Core Labs;
— Kaspersky.
Nad võtavad tasu iga puhta megabiti eest, megabit maksab umbes mitmeid tuhandeid rubla. Kui teil on vähemalt 100 Mbit puhast liiklust — oh. Kaitse tuleb väga kallis. Võin järgmistes artiklites rääkida, kuidas projekteerida rakendusi, et kaitsekanalite võimekuse pealt palju raha kokku hoida.
Tõeline «mäetip» on Qrator.net, teised jäävad neist maha. Qrator on ainus, kes minu praktikas pakub peaaegu nullpoli täpsust, kuid nad on samal ajal mitu korda kallimad kui teised turuosalised.
Teised operaatorid pakuvad samuti kvaliteetset ja stabiilset kaitset. Paljud teenused, mida toetame (sh väga tuntud riigis!), on kaitstud DDoS-Guard, G-Core Labs poolt ning on täiesti rahul saadud tulemustega.
Qratori poolt peatatud rünnakud
Mul on ka kogemus väikeste kaitseoperaatoritega nagu cloud-shield.ru, ddosa.net, neid on tuhandeid. Ei soovitaks neid otseselt, kuna kogemus on mitte väga suur, aga jutustan nende tööpõhimõtetest. Nende kaitsehind on sageli 1-2 korda madalam kui suurte mängijate omad. Reeglina ostavad nad osalist kaitset (L3/L4) mõnelt suurelt mängijalt ja loovad oma kaitse kõrgematel tasanditel. See võib olla täiesti efektiivne ja saate hea teenuse vähem raha eest, kuid nad on siiski väikesed ettevõtted väikese töötajaskonnaga, palun arvestage sellega.
Millised on rünnakute peegeldamise keerukused L7 tasemel?
Kõik rakendused on unikaalsed, ja peab lubama nende jaoks kasulikku liiklust ja blokeerima kahjulikku. Kindlatest botidest lahti saada ei õnnestu alati, seega tuleb kasutada mitmeid, tõeliselt PALJU filtreerimise astmeid.
Kunagi piisab nginx-testcookie moodulist (), ja seda jagub endiselt paljude rünnakute peegeldamiseks. Kui töötasin hostingu valdkonnas, ehitasin L7 kaitse just nginx-testcookie peale.
Kahjuks on rünnakud muutunud keerulisemaks. testcookie kasutab botide kontrollimiseks JS-põhiseid teste, aga paljud kaasaegsed botid saavad need edukalt läbida.
Ründavad botivõrgud on samuti unikaalsed, ja tuleb arvestada iga suurte botivõrkude eripäradega.
Amplifikatsioon, otsene botivõrgu rünnak, liikumise filtreerimine erinevatest riikidest (erinev filtreerimine erinevatele riikidele), SYN/ACK rünnakud, pakettide fragmenteerimine, ICMP, http rünnakud; samas tasemel rakenduses/http-s saab välja mõelda piiramatult erinevaid rünnakuid.
Kokkuvõttes võivad kanalite kaitse, spetsialiseeritud seadmed liikluse filtreerimiseks, spetsiaalne tarkvara ja iga kliendi jaoks täiendavad filtreerimise seadistused ulatuda kümnete ja sadade filtreerimise tasemeteni.
Selle õigesti hakkama saamiseks ja filtritavade seadeid erinevatele kasutajatele kohandamiseks on vajalik suur kogemus ja kvalifitseeritud töötajad. Ieven suurtel operaatoritel, kes on otsustanud pakkuda kaitseteenuseid, ei saa "probleemi raha peale visates" lahendada: kogemusi tuleb hankida leiduvalt veebilehtedelt ja valehäiretest legaalsel liiklusel.
Kaitseoperaatoritel ei ole nuppu "DDos rünnaku tõrjumiseks", on palju erinevaid tööriistu, mida tuleb osata kasutada.
Ja veel üks näide.
Kaitseta server blokeeriti teenusepakkuja poolt ründes, mille maht oli 600 Mbit.
("Liikluse kadumist" ei täheldatud, kuna rünnatud oli ainult üks veebileht, see eemaldati ajutiselt serverist ja blokeering eemaldati tunni jooksul).
See sama server on kaitstud. Ründajad "andis alla" pärast päeva kestev rünnakutele. Rünnak ise osutus mitte kõige tugevamaks.
L3/L4 rünnakud ja kaitse on lihtsamad, peamiselt sõltuvad need kanalite laiustest, rünnakute tuvastamise ja filtreerimise algoritmidest.
L7 rünnakud on keerulisemad ja originaalsemad, need sõltuvad rünnaku sihtrakendusest, ründavate isikute võimalustest ja fantaasiast. Nende vastu kaitsmine nõuab suurt teadlikkust ja kogemust, ning tulemus ei pruugi olla kohene ega kindlasti mitte 100%. Seni pole Google leidnud uut tehisintellekti, mis kaitseks.
Allikas: habr.com
