Kas yra ddos ​​ataka. DDoS ataka: kas tai yra, kaip ji veikia ir ar galima apsisaugoti

Skaičiavimo sistemoje, siekiant ją sugadinti, tai yra sukurti tokias sąlygas, kurioms esant teisėti (teisėti) sistemos vartotojai negalėtų pasiekti sistemos teikiamų išteklių (serverių) arba ši prieiga yra apsunkinta. „Priešo“ sistemos gedimas taip pat gali būti žingsnis link sistemos įsisavinimo (jei avarijos atveju programinė įranga pateikia bet kokią svarbią informaciją - pavyzdžiui, versiją, programos kodo dalį ir pan.). Tačiau dažniau tai yra ekonominio spaudimo matas: pajamas generuojančios paslaugos prastovos, tiekėjo sąskaitos ir priemonės, padedančios išvengti atakos, gerokai pataikė į „taikinį“ kišenėje.

Jei ataka vienu metu vykdoma iš daugybės kompiuterių, kalbama apie tai DDoS ataka(iš anglų kalbos. Paskirstytas atsisakymas teikti paslaugą, paskirstyta paslaugų atsisakymo ataka). Kai kuriais atvejais nenumatytas veiksmas sukelia tikrą DDoS ataką, pavyzdžiui, populiariame interneto šaltinyje įdedama nuoroda į svetainę, esančią ne itin produktyviame serveryje (pasvirojo taško efektas). Didelis vartotojų antplūdis viršija leistiną serverio apkrovą ir dėl to kai kuriems iš jų atsisakoma paslauga.

DoS atakų tipai

Yra įvairių priežasčių, kodėl gali atsirasti DoS būklė:

  • Klaida programos kode, dėl ko gaunama prieiga prie nenaudojamo adresų erdvės fragmento, įvykdoma neteisinga instrukcija ar kita neapdorota išimtis, kai sugenda serverio programa – serverio programa. Klasikinis pavyzdys yra nulinės nuorodos. nulinis) adresą.
  • Nepakankamas vartotojo duomenų patvirtinimas, sukeliantis begalinį ar ilgą ciklą arba padidėjusį ilgalaikį procesoriaus išteklių suvartojimą (iki procesoriaus išteklių išeikvojimo) arba didelio RAM kiekio paskirstymą (iki turimos atminties išeikvojimo).
  • potvynis(Anglų) potvynis- "potvynis", "perpildymas") - ataka, susijusi su dideliu skaičiumi paprastai beprasmių ar neteisingai suformatuotų užklausų kompiuterinei sistemai ar tinklo įrangai, kurios tikslas arba sugedo sistema dėl sistemos išteklių išeikvojimo. - procesorius, atmintis arba ryšio kanalai.
  • Antros rūšies ataka- ataka, kuria siekiama sukelti klaidingą apsaugos sistemos aliarmą ir tokiu būdu sukelti resurso neprieinamumą.

Jei ataka (dažniausiai potvynis) vykdoma vienu metu iš daugybės IP adresų – iš kelių tinkle išsklaidytų kompiuterių – tokiu atveju ji vadinama platinami Paslaugų atsisakymo ataka ( DDoS).

Klaidų išnaudojimas

Išnaudoti reiškia programą, programos kodo dalį arba programos komandų seką, kuri išnaudoja programinės įrangos pažeidžiamumą ir yra naudojama kibernetinei sistemai atakuoti. Iš išnaudojimų, kurie veda į DoS ataką, bet yra netinkami, pavyzdžiui, perimti „priešo“ sistemos valdymą, žinomiausi yra „WinNuke“ ir „Ping of death“ („Ping of death“).

potvynis

Apie potvynį kaip etiketo pažeidimą žr.

potvynis jie iškviečia didžiulį beprasmių užklausų srautą iš skirtingų kompiuterių, norėdami paimti „priešo“ sistemą (procesorių, RAM ar ryšio kanalą) su darbu ir taip laikinai ją išjungti. „DDoS atakos“ sąvoka yra beveik lygiavertė sąvokai „potvynis“, o kasdieniame gyvenime jie abu dažnai keičiami („flood the server“ = „DDoS'it the server“).

Norėdami sukurti potvynį, gali būti naudojamos ir paprastos tinklo paslaugos, tokios kaip ping (tai žinoma, pavyzdžiui, interneto bendruomenė „Upyachka“), ir specialios programos. DDoS galimybė dažnai yra „susiūta“ botnetuose. Jei daug srauto turinčioje svetainėje aptinkamas kelių svetainių scenarijų pažeidžiamumas arba galimybė įtraukti vaizdus iš kitų išteklių, ši svetainė taip pat gali būti naudojama DDoS atakai.

Ryšio kanalo ir TCP posistemio potvynis

Bet kuris kompiuteris, kuris bendrauja su išoriniu pasauliu per TCP / IP protokolą, yra taikomas šių tipų potvyniams:

  • SYN potvynis – naudojant tokio tipo potvynių ataką, per TCP protokolą į užpultą mazgą siunčiama daug SYN paketų (prašo atidaryti ryšį). Tuo pačiu metu, po trumpo laiko, užpultame kompiuteryje išsenka galimų atidaryti lizdų skaičius (programinės įrangos tinklo lizdai, prievadai), o serveris nustoja reaguoti.
  • UDP potvynis – tokio tipo potvyniai atakuoja ne tikslinį kompiuterį, o jo ryšio kanalą. Teikėjai pagrįstai mano, kad UDP paketai turėtų būti pristatyti pirmiausia, o TCP gali palaukti. Daugybė skirtingų dydžių UDP paketų užkemša ryšio kanalą, o serveris, veikiantis per TCP protokolą, nustoja reaguoti.
  • ICMP potvynis - tas pats, bet su ICMP paketų pagalba.

Taikymo sluoksnio potvynis

Daugelis paslaugų yra sukurtos taip, kad nedidelė užklausa gali sukelti daug serverio skaičiavimo galios. Šiuo atveju atakuojamas ne ryšio kanalas ar TCP posistemė, o pati paslauga (service) – tokių „sergančių“ užklausų antplūdis. Pavyzdžiui, žiniatinklio serveriai yra pažeidžiami HTTP užtvindymo – norint išjungti žiniatinklio serverį galima naudoti paprastą GET / arba sudėtingą duomenų bazės užklausą, pvz., GET /index.php?search=<случайная строка> .

DoS atakų aptikimas

Yra nuomonė, kad specialių įrankių DoS atakoms aptikti nereikia, nes negalima nepastebėti DoS atakos fakto. Daugeliu atvejų tai tiesa. Tačiau gana dažnai buvo stebimos sėkmingos DoS atakos, kurias nukentėjusieji pastebėjo tik po 2-3 dienų. Taip atsitiko, kad neigiamos išpuolio pasekmės ( potvynis-atakos) lėmė pernelyg dideles išlaidas atsiskaitant už perteklinį interneto srautą, kuris buvo nustatytas tik gavus sąskaitą iš interneto tiekėjo. Be to, daugelis įsibrovimų aptikimo metodų yra neveiksmingi netoli atakos tikslo, tačiau yra veiksmingi tinklo magistralėje. Tokiu atveju aptikimo sistemas patartina įrengti būtent ten, o ne laukti, kol užpultas vartotojas pats tai pastebės ir kreipsis pagalbos. Be to, norint efektyviai kovoti su DoS atakomis, būtina žinoti DoS atakų tipą, pobūdį ir kitas charakteristikas, o aptikimo sistemos leidžia greitai gauti šią informaciją.

DoS atakų aptikimo metodus galima suskirstyti į kelias dideles grupes:

  • parašas – paremtas kokybine eismo analize.
  • statistinis – pagrįstas kiekybine srauto analize.
  • hibridas (kombinuotas) – sujungiantis abiejų minėtų metodų privalumus.

DoS apsauga

Priemones, skirtas kovoti su DoS atakomis, galima suskirstyti į pasyvias ir aktyvias, taip pat prevencines ir reaktyviąsias.

Žemiau pateikiamas trumpas pagrindinių metodų sąrašas.

  • Prevencija. Priežasčių, skatinančių tam tikrus asmenis organizuoti ir vykdyti DoS atakas, prevencija. (Labai dažnai kibernetinės atakos apskritai yra asmeninių nusiskundimų, politinių, religinių ir kitų nesutarimų, provokuojančio aukos elgesio ir pan.)
  • Filtravimas ir juodoji skylė. Blokuoti eismą nuo atakuojančių mašinų. Šių metodų efektyvumas mažėja artėjant prie atakos objekto ir didėja artėjant prie puolančios mašinos.
  • Atvirkštinis DDOS- atakai naudojamo srauto nukreipimas užpuolikui.
  • Pažeidžiamumų pašalinimas. Neveikia prieš potvynis-atakos, kurių "pažeidžiamumas" yra tam tikrų sistemos išteklių baigtumas.
  • Išteklių didinimas. Natūralu, kad jis nesuteikia absoliučios apsaugos, tačiau yra geras pagrindas taikyti kitokias apsaugos rūšis nuo DoS atakų.
  • Išsklaidymas. Kurti paskirstytas ir besidubliuojančias sistemas, kurios nenustos aptarnauti vartotojų, net jei kai kurie jų elementai taps nepasiekiami dėl DoS atakos.
  • Išsiskyrimas. Tiesioginio atakos taikinio (domeno pavadinimo arba IP adreso) perkėlimas nuo kitų išteklių, kurie dažnai taip pat yra paveikti, kartu su tiesioginiu atakos taikiniu.
  • Aktyvus atsakas. Poveikis atakos šaltiniams, organizatoriui ar valdymo centrui tiek žmogaus sukurtomis, tiek organizacinėmis ir teisinėmis priemonėmis.
  • Įrangos naudojimas DoS atakoms atremti. Pavyzdžiui DefensePro® (Radware), Perimeter (MFI Soft), Arbor Peakflow® ir kiti gamintojai.
  • Paslaugos, skirtos apsaugoti nuo DoS atakų, įsigijimas. Faktinis, jei dėl potvynio viršijamas tinklo kanalo pralaidumas.

taip pat žr

Pastabos

Literatūra

  • Krisas Kasperskis Kompiuteriniai virusai viduje ir išorėje. - Petras. - Sankt Peterburgas. : Petras, 2006. - S. 527. - ISBN 5-469-00982-3
  • Stephenas Northcuttas, Markas Cooperis, Mattas Fearnowas, Karen Frederik. Tipiškų tinklų saugumo pažeidimų analizė = įsibrovimo parašai ir analizė. - New Riders Publishing (anglų k.) Sankt Peterburgas: Williams Publishing House (rusų k.), 2001. - P. 464. - ISBN 5-8459-0225-8 (rusų k.), 0-7357-1063-5 (anglų k.)
  • Morrisas, R.T.= 4.2BSD Unix TCP/IP programinės įrangos trūkumas. - Skaičiavimo mokslo techninė ataskaita Nr.117. – „AT&T Bell Laboratories“, 1985 m. vasario mėn.
  • Bellovinas, S.M.= Saugumo problemos TCP/IP protokolo rinkinyje. - Kompiuterių komunikacijų apžvalga, t. 19, Nr.2. – AT&T Bell Laboratories, 1989 m. balandžio mėn.
  • = demonas9 / maršrutas / begalybė "IP-spooling Demystified: Trust Realationship Exploitation". - Phrack Magazine, Vol.7, Issue 48. - Guild Production, 1996 m. liepos mėn.
  • = demonas9 / maršrutas / begalybė „Neptūno projektas“. - Phrack Magazine, Vol.7, Issue 48. - Guild Production, 1996 m. liepos mėn.

Nuorodos

  • DoS ataka„Open Directory“ projekto nuorodų kataloge (

Vis dažniau oficialiuose prieglobos paslaugų teikėjų pranešimuose šen bei ten mirga paminėjimai apie atspindėtas DDoS atakas. Vis dažniau vartotojai, pastebėję savo svetainės nepasiekiamumą, iš karto prisiima DDoS. Iš tiesų, kovo pradžioje Runetas patyrė visą tokių atakų bangą. Kartu specialistai tikina, kad linksmybės tik prasideda. Tiesiog neįmanoma ignoruoti tokio aktualaus, baisaus ir intriguojančio reiškinio. Taigi šiandien pakalbėkime apie mitus ir faktus apie DDoS. Žinoma, prieglobos paslaugų teikėjo požiūriu.

atminimo diena

2013 m. lapkričio 20 d., pirmą kartą per 8 metų mūsų įmonės istoriją, visa techninė svetainė keletą valandų buvo nepasiekiama dėl precedento neturinčios DDoS atakos. Nukentėjo dešimtys tūkstančių mūsų klientų visoje Rusijoje ir NVS šalyse, jau nekalbant apie mus pačius ir mūsų interneto tiekėją. Paskutinis dalykas, kurį teikėjas sugebėjo pataisyti, kol visiems neišblėso balta šviesa, buvo tai, kad jo įvesties kanalai buvo sandariai užkimšti gaunamo srauto. Norėdami tai įsivaizduoti, įsivaizduokite savo vonią su įprasta kriaukle, į kurią įsiveržė Niagaros krioklys.

Net tiekėjai pajuto šio cunamio atgarsius. Žemiau pateikti grafikai aiškiai iliustruoja, kas tą dieną įvyko su interneto srautu Sankt Peterburge ir Rusijoje. Atkreipkite dėmesį į stačias viršūnes 15:00 ir 18:00, kaip tik tada, kai užfiksavome atakas. Dėl šių staigių plius 500-700 GB.

Užpuolimo lokalizavimas užtruko kelias valandas. Buvo apskaičiuotas serveris, į kurį jis buvo išsiųstas. Tada buvo apskaičiuotas interneto teroristų tikslas. Ar žinai, kam pataikė visa ši priešo artilerija? Po vieną labai paprastą, kuklią klientų svetainę.

Mitas numeris vienas: „Atakos objektas visada yra prieglobos paslaugų teikėjas. Tai jo konkurentų machinacijos. Ne mano." Tiesą sakant, labiausiai tikėtinas interneto teroristų taikinys yra nuolatinių klientų svetainė. Tai yra, vieno iš jūsų prieglobos kaimynų svetainė. O gal ir tavo.

Ne visi DDoS...

Po įvykių mūsų techninėje svetainėje 2013 m. lapkričio 20 d. ir jų dalinio pasikartojimo 2014 m. sausio 9 d., kai kurie vartotojai ėmė manyti, kad DDoS yra konkretus savo svetainės gedimas: „Tai yra DDoS! ir „Ar vėl naudojate DDoS?

Svarbu atsiminti, kad jei patiriame tokį DDoS, kurį pajunta net klientai, iš karto apie tai pranešame patys.

Norime nuraminti tuos, kurie skuba panikuoti: jei jūsų svetainėje kažkas negerai, tada tikimybė, kad tai yra DDoS, yra mažesnė nei 1%. Tiesiog dėl to, kad svetainėje gali nutikti daug dalykų ir tai „daug dalykų“ nutinka daug dažniau. Apie tai, kas tiksliai vyksta jūsų svetainėje, kalbėsime viename iš toliau pateiktų įrašų apie savarankiškos greitos diagnostikos metodus.

Tuo tarpu – dėl žodžių vartojimo tikslumo – paaiškinkime terminus.

Apie terminus

DoS ataka (iš anglų kalbos Denial of Service) - tai ataka, skirta serveriui atmesti paslaugą dėl jo perkrovos.

DoS atakos nėra susijusios su įrangos sugadinimu ar informacijos vagyste; jų tikslas - kad serveris nustotų reaguoti. Esminis DoS skirtumas yra tas, kad ataka vyksta iš vienos mašinos į kitą. Dalyviai lygiai du.

Tačiau iš tikrųjų mes praktiškai nepastebime DoS atakų. Kodėl? Kadangi atakų objektai dažniausiai yra pramoniniai objektai (pavyzdžiui, galingi produktyvūs prieglobos įmonių serveriai). Ir norint padaryti pastebimą žalą tokios mašinos veikimui, reikia daug daugiau galios nei jos pačios. Tai pirmas. Antra, DoS atakos iniciatorių gana lengva apskaičiuoti.

DDoS - iš esmės tas pats kaip DoS, tik ataka yra paskirstyta gamta. Vienu metu iš skirtingų vietų prie vieno serverio prisijungia ne penki, ne dešimt, ne dvidešimt, o šimtai ir tūkstančiai kompiuterių. Tokia mašinų armija vadinama botnetas. Suskaičiuoti užsakovą ir organizatorių beveik neįmanoma.

bendrininkai

Kokie kompiuteriai yra įtraukti į robotų tinklą?

Nustebsite, tačiau dažnai tai yra pačios įprastiausios namų mašinos. Kas žino?.. - tikriausiai jūsų namų kompiuteris patrauktas į blogio pusę.

Tam reikia šiek tiek. Užpuolikas randa pažeidžiamumą populiarioje operacinėje sistemoje ar programoje ir naudoja jį, kad užkrėstų kompiuterį Trojos arkliu, kuris tam tikrą dieną ir valandą nurodo kompiuteriui pradėti atlikti tam tikrus veiksmus. Pavyzdžiui, siųskite užklausas konkrečiam IP. Žinoma, be jūsų žinių ir dalyvavimo.

Antras mitas: « DDoS daromas kažkur toli nuo manęs, specialiame požeminiame bunkeryje, kur sėdi barzdoti įsilaužėliai raudonomis akimis. Tiesą sakant, to nežinodami jūs, jūsų draugai ir kaimynai - bet kas gali būti nesąmoningu bendrininku.

Tai tikrai vyksta. Net jei apie tai negalvoji. Net jei esate siaubingai toli nuo IT (ypač jei esate toli nuo IT!).

Pramoginis įsilaužimas arba DDoS mechanika

DDoS reiškinys yra nevienalytis. Ši koncepcija apjungia daugybę veiksmų, kurie veda prie vieno rezultato (paslaugos atsisakymo), variantų. Apsvarstykite bėdų, kurias mums gali sukelti DDoSers, galimybes.

Per didelis serverio skaičiavimo išteklių naudojimas

Tai atliekama siunčiant paketus į konkretų IP, kurio apdorojimas reikalauja daug išteklių. Pavyzdžiui, norėdami įkelti puslapį, turite vykdyti daug SQL užklausų. Visi užpuolikai paprašys šio konkretaus puslapio, o tai sukels serverio perkrovą ir paslaugų atsisakymą įprastiems, teisėtiems svetainės lankytojams.
Tai moksleivio lygio išpuolis, kuris porą vakarų skyrė žurnalo „Hacker“ skaitymui. Ji nėra problema. Tas pats prašomas URL apskaičiuojamas akimirksniu, po to prieiga prie jo blokuojama žiniatinklio serverio lygiu. Ir tai tik vienas iš sprendimų.

Ryšio kanalų perkrova į serverį (iki išėjimo)

Šios atakos sudėtingumo lygis yra maždaug toks pat kaip ir ankstesnės. Užpuolikas apskaičiuoja sunkiausią svetainės puslapį, o jo valdomas botnetas pradeda masiškai jo prašyti.


Įsivaizduokite, kad mums nematoma Mikės Pūkuotuko dalis yra be galo didelė
Šiuo atveju taip pat labai lengva suprasti, kas tiksliai užkemša išeinantį kanalą, ir uždrausti prieigą prie šio puslapio. To paties tipo užklausas lengva pamatyti naudojant specialias paslaugas, leidžiančias peržiūrėti tinklo sąsają ir analizuoti srautą. Tada parašyta ugniasienės taisyklė, kuri blokuoja tokias užklausas. Visa tai daroma reguliariai, automatiškai ir taip žaibiškai, kad dauguma vartotojų net nežino apie jokią ataką.

Mitas numeris trys: „A Tačiau jie retai dažnai lankosi mano priegloboje ir aš visada juos pastebiu. Tiesą sakant, 99,9% priepuolių nematote ir nejaučiate. Tačiau kasdienė kova su jais - tai kasdienis, įprastas prieglobos įmonės darbas. Tokia yra mūsų realybė, kurioje puolimas yra pigus, konkurencija iškritusi iš sąrašo ir ne visi demonstruoja įskaitomus kovos dėl vietos saulėje metodus.

Ryšio kanalų perkrova į serverį (prie įėjimo)

Tai jau galvosūkis tiems, kurie žurnalą Hacker skaitė ne vieną dieną.


Nuotrauka iš radijo „Maskvos aidas“ svetainės. Jie nerado nieko iliustratyvesnio, kaip pavaizduoti DDoS su kanalo perkrova prie įėjimo.
Norint užpildyti kanalą įeinančiu srautu iki talpos, reikia turėti botnetą, kurio galia leidžia generuoti reikiamą srauto kiekį. Bet gal yra būdas atiduoti mažą srautą ir gauti daug?

Yra, ir ne vienas. Yra daug galimybių sustiprinti ataką, tačiau viena populiariausių šiuo metu yra ataka per viešuosius DNS serverius. Ekspertai šį stiprinimo būdą vadina DNS stiprinimas(jei kas nors pageidauja ekspertų terminų). O jei paprasčiau, tai įsivaizduokite laviną: jai nulaužti užtenka mažų pastangų, o sustabdyti – nežmoniškų išteklių.

Jūs ir aš tai žinome viešasis DNS serveris paprašius, informuoja visus norinčius duomenų apie bet kurį domeno vardą. Pavyzdžiui, tokio serverio prašome: papasakokite apie domeną sprinthost.ru. Ir jis nedvejodamas išmeta mums viską, ką žino.

DNS serverio užklausa yra labai paprasta operacija. Susisiekti su juo beveik nieko nekainuoja, prašymas bus mikroskopinis. Pavyzdžiui, taip:

Belieka tik išsirinkti domeno vardą, kurio informacija bus įspūdingas duomenų paketas. Taigi originalūs 35 baitai su nedideliu rankos judesiu virsta beveik 3700. Padidėja daugiau nei 10 kartų.

Bet kaip užtikrinti, kad atsakymas būtų nukreiptas į teisingą IP? Kaip suklastoti užklausos šaltinio IP, kad DNS serveris pateiktų atsakymus nukentėjusiojo, kuris neprašė jokių duomenų, kryptimi?

Faktas yra tas, kad DNS serveriai veikia UDP ryšio protokolas, kuriam iš viso nereikia patvirtinti užklausos kilmės. Suklastoti išeinantį IP šiuo atveju nėra didelė problema dozuotojui. Štai kodėl tokio tipo atakos šiuo metu yra tokios populiarios.

Svarbiausia, kad tokiai atakai įgyvendinti pakanka labai mažo botneto. Ir keli skirtingi viešieji DNS, kurie nepamatys nieko keisto tame, kad skirtingi vartotojai karts nuo karto prašo duomenų iš vieno pagrindinio kompiuterio adreso. Ir tik tada visas šis srautas susijungs į vieną srautą ir tvirtai prikals vieną „vamzdį“.

Dozuotojas negali žinoti užpuoliko kanalų pajėgumų. Ir jei jis neteisingai apskaičiuoja savo atakos galią ir iš karto neužblokuoja kanalo serveriui 100%, ataka gali būti greitai ir lengvai atremta. Naudojant tokias komunalines paslaugas kaip TCPdump nesunku sužinoti, kad įeinantis srautas ateina iš DNS, o ugniasienės lygiu uždrausti jį priimti. Ši parinktis – atsisakymas priimti srautą iš DNS – visiems siejamas su tam tikrais nepatogumais, tačiau tiek serveriai, tiek juose esančios svetainės ir toliau sėkmingai veiks.

Tai tik viena iš daugelio galimybių sustiprinti ataką. Yra daug kitų atakų rūšių, apie jas pakalbėsime kitą kartą. Tuo tarpu norėčiau apibendrinti, kad visa tai, kas išdėstyta aukščiau, galioja atakai, kurios galia neviršija kanalo į serverį pločio.

Jei priepuolis stiprus

Jei atakos galia viršija serverio kanalo pajėgumą, nutinka taip. Interneto kanalas akimirksniu užsikemša serveryje, tada prieglobos svetainėje, jo interneto tiekėjui, tiekėjo tiekėjui ir t. t. didėjimo tvarka (ateityje – iki absurdiškiausių ribų), kol atakos jėgos užtenka.

Ir tada tai tampa visuotine problema visiems. Ir trumpai, su tuo mums teko susidurti 2013 m. lapkričio 20 d. O kai įvyksta didelio masto sukrėtimai, metas įjungti ypatingą magiją!


Taip atrodo ypatinga magija Šios magijos pagalba galima apskaičiuoti serverį, į kurį nukreipiamas srautas ir blokuoti jo IP IPT lygiu. Taip, kad ji nustotų priimti bet kokius skambučius į šį IP per savo ryšio kanalus su išoriniu pasauliu (uplinks). Sąlygų mėgėjams: ekspertai vadina šią procedūrą "užtemdyti", iš anglų blackhole.

Tuo pačiu metu užpultas serveris su 500–1500 paskyrų lieka be savo IP. Jai skiriamas naujas IP adresų potinklis, kuriame klientų paskyros atsitiktine tvarka paskirstomos tolygiai. Be to, ekspertai laukia atakos pasikartojimo. Beveik visada kartojasi.

Ir kai tai kartojasi, atakuotame IP yra nebe 500-1000 paskyrų, o keliolika ar dvi.

Įtariamųjų ratas siaurėja. Šios 10–20 paskyrų vėl paskirstomos skirtingais IP adresais. Ir vėl inžinieriai laukia kitos atakos. Vėl ir vėl jie išplatina įtartinas paskyras įvairiems IP ir taip, laipsniškai aproksimuodami, apskaičiuoja atakos objektą. Visos kitos paskyros šiuo metu grįžta į įprastą veikimą tame pačiame IP.

Kaip žinote, tai nėra momentinė procedūra, ją įgyvendinti reikia laiko.

Mitas numeris ketvirtas:„Kai įvyksta didžiulė ataka, mano šeimininkas neturi veiksmų plano. Jis tiesiog užmerktomis akimis laukia bombardavimo pabaigos ir atsako į mano laiškus tokiais pat atsakymais.Taip nėra: atakos atveju prieglobos paslaugų teikėjas veikia pagal planą, siekdamas ją lokalizuoti ir kuo greičiau pašalinti pasekmes. O to paties tipo laiškai leidžia perteikti to, kas vyksta, esmę ir tuo pačiu sutaupyti resursus, reikalingus kuo greičiau apdoroti avarinę situaciją..

Ar yra šviesa tunelio gale?

Dabar matome, kad DDoS aktyvumas nuolat auga. Užsakyti ataką tapo labai prieinama ir negražiai nebrangi. Kad būtų išvengta kaltinimų propaganda, nebus jokių įrodomųjų nuorodų. Bet paimkite mūsų žodį, taip yra.

Penktas mitas: „DDoS ataka yra labai brangus įvykis, ir tik verslo didvyriai gali sau leisti ją užsisakyti. Kraštutiniu atveju tai yra slaptųjų tarnybų machinacijos! Tiesą sakant, tokie renginiai tapo itin prieinami.

Todėl nereikia tikėtis, kad kenkėjiška veikla išnyks savaime. Greičiau tai tik sustiprės. Belieka tik kalti ir galąsti ginklus. Ką mes darome, geriname tinklo infrastruktūrą.

Teisinė klausimo pusė

Tai labai nepopuliarus DDoS atakų aptarimo aspektas, nes retai girdime apie kurstytojų gaudymo ir nubaudimo atvejus. Tačiau atminkite: DDoS ataka yra kriminalinis nusikaltimas. Daugumoje pasaulio šalių, įskaitant Rusiją.

Mitas numeris šeši: « Dabar aš pakankamai žinau apie DDoS, užsakysiu atostogas konkurentui - Ir aš už tai nieko negausiu! Neatmetama galimybė, kad taip bus. Ir jei taip, tai neatrodys daug.

  • Susiekite istoriją su DDoS mokėjimo sistema „Assist“.
  • Jaudinanti baigtis

Apskritai niekam nepatariame užsiimti pikta DDoS praktika, kad neužsitrauktume teisingumo rūstybės ir nesulenktume savo karmos. O mes dėl savo veiklos specifikos ir gyvo tiriamojo susidomėjimo toliau tyrinėjame problemą, budime, tobuliname gynybines konstrukcijas.

PS:neturime pakankamai gerų žodžių, kad išreikštume visą savo dėkingumą, todėl tiesiog sakome"Ačiū!" kantriems klientams, kurie mus nuoširdžiai palaikė sunkią 2013 m. lapkričio 20 d. dieną. Jūs pasakėte daug padrąsinančių žodžių, palaikydami mūsų

Kova su DDoS atakomis yra ne tik sunkus, bet ir įdomus darbas. Nenuostabu, kad kiekvienas sistemos administratorius pirmiausia stengiasi organizuoti gynybą savarankiškai – juolab kad tai vis dar įmanoma.

Nusprendėme padėti jums atlikti šią sudėtingą užduotį ir paskelbti keletą trumpų, nereikšmingų ir neuniversalių patarimų, kaip apsaugoti svetainę nuo atakų. Šie receptai nepadės susidoroti su jokiu išpuoliu, tačiau išgelbės nuo daugumos pavojų.

Tinkami ingredientai

Šiurkšti tiesa yra ta, kad daugelį svetainių gali panaikinti bet kas, pasinaudojęs „Slowloris“ ataka, kuri stipriai nužudo „Apache“, arba surengęs vadinamąjį SYN potvynį, naudojant virtualių serverių fermą, per minutę iškeltą „Amazon EC2“ debesyje. Visi kiti patarimai, kaip apsisaugoti nuo DDoS, yra pagrįsti toliau nurodytomis svarbiomis sąlygomis.

1. Atsikratykite Windows Server

Praktika rodo, kad svetainė, kuri veikia Windows (2003 ar 2008 – nesvarbu), yra pasmerkta DDoS atveju. Gedimo priežastis slypi „Windows“ tinklo krūvoje: kai yra daug jungčių, serveris tikrai pradės reaguoti prastai. Nežinome, kodėl „Windows Server“ tokiose situacijose veikia taip prastai, tačiau su tuo susidūrėme ne kartą ar du. Dėl šios priežasties šiame straipsnyje pagrindinis dėmesys bus skiriamas apsaugos nuo DDoS atakų priemonėms tuo atveju, kai serveris veikia Linux sistemoje. Jei esate laimingas santykinai modernaus branduolio (pradedant nuo 2.6) savininkas, tada pagrindiniai įrankiai bus iptables ir ipset paslaugų programos (greitai pridėti IP adresus), su kuriomis galite greitai uždrausti robotus. Kitas sėkmės raktas yra gerai paruoštas tinklo krūvas, apie kurį taip pat kalbėsime toliau.

2. Išsiskirti su Apache

Antra svarbi sąlyga yra Apache atmetimas. Jei turite Apache, tai bent prieš jį įdėkite talpyklos tarpinį serverį - nginx arba lighttpd. Apache "labai sunku atiduoti failus ir, dar blogiau, jis iš esmės (ty nepataisomai) yra pažeidžiamas pavojingiausios Slowloris atakos, leidžiančios užtvindyti serverį beveik iš mobiliojo telefono. Kovoti su įvairiais Slowloris, Apache vartotojai pirmiausia sugalvojo pataisą Anti-slowloris.diff, tada mod_noloris, tada mod_antiloris, mod_limitipconn, mod_reqtimeout... Bet jei norite gerai miegoti naktį, lengviau paimti HTTP serverį, kuris yra atsparus Slowloris kodo architektūros lygiu. Taigi visi mūsų tolesni receptai yra pagrįsti prielaida, kad nginx naudojamas priekinėje dalyje.

Kova su DDoS

Ką daryti, jei ateina DDoS? Tradicinė savigynos technika yra nuskaityti HTTP serverio žurnalo failą, parašyti grep šabloną (kuris pagauna robotų užklausas) ir uždrausti visus, kurie patenka į jį. Ši technika pasiteisins... jei pasiseks. Yra dviejų tipų botnetai, abu pavojingi, bet skirtingais būdais. Vienas visiškai ateina į svetainę akimirksniu, kitas - palaipsniui. Pirmasis užmuša viską iš karto, bet visa tai pasirodo žurnaluose, o jei juos grepaet ir uždrausite visus IP adresus, tada laimi. Antrasis botnetas svetainę nustato švelniai ir atsargiai, tačiau tikriausiai turėsite ją uždrausti vienai dienai. Bet kuriam administratoriui svarbu suprasti: jei planuojate kovoti su grep, tuomet turite būti pasiruošę skirti porą dienų kovai su ataka. Toliau pateikiami patarimai, kur galima iš anksto padėti šiaudelius, kad nebūtų taip skaudu kristi.

3. Naudokite testcookie modulį

Galbūt pats svarbiausias, efektyviausias ir veiksmingiausias šio straipsnio receptas. Jei DDoS atkeliauja į jūsų svetainę, testcookie-nginx modulis, sukurtas @kyprizel, gali tapti efektyviausiu būdu kovoti. Idėja paprasta. Dažniausiai robotai, kurie įgyvendina HTTP užtvindymą, yra gana kvaili ir neturi HTTP slapukų ir peradresavimo mechanizmų. Kartais pasitaiko ir pažangesnių – jie gali naudoti slapukus ir apdoroti peradresavimus, tačiau beveik niekada DoS botas neturi pilnaverčio JavaScript variklio (nors tai darosi vis dažniau). „Testcookie-nginx“ veikia kaip greitas filtras tarp robotų ir užpakalinės sistemos L7 DDoS atakos metu, todėl galite filtruoti nepageidaujamas užklausas. Kas įtraukta į šiuos čekius? Ar klientas moka atlikti HTTP peradresavimą, ar jis palaiko JavaScript, ar tai naršyklė, kaip teigia esanti (nes JavaScript visur skiriasi ir jei klientas sako, kad tai, tarkime, Firefox, tai galime patikrinti). Patvirtinimas įgyvendinamas naudojant slapukus, naudojant skirtingus metodus:

  • „Set-Cookie“ + peradresavimas naudojant 301 HTTP vietą;
  • „Set-Cookie“ + peradresavimas naudojant HTML meta atnaujinimą;
  • savavališką šabloną ir galite naudoti „JavaScript“.

Kad būtų išvengta automatinio analizavimo, patvirtinimo slapukas gali būti užšifruotas naudojant AES-128 ir vėliau iššifruotas JavaScript kliento pusėje. Naujoji modulio versija turi galimybę nustatyti slapukus per „Flash“, o tai taip pat leidžia efektyviai išnaikinti robotus (kurių „Flash“, kaip taisyklė, nepalaiko), tačiau blokuoja prieigą daugeliui teisėtų vartotojų (iš tikrųjų , visi mobilieji įrenginiai). Pažymėtina, kad labai lengva pradėti naudoti testcookie-nginx. Visų pirma, kūrėjas pateikia keletą aiškių naudojimo pavyzdžių (skirtingiems atakų atvejams) su nginx konfigūracijos pavyzdžiais.

Be pranašumų, bandomieji slapukai turi ir trūkumų:

  • supjausto visus robotus, įskaitant „Googlebot“. Jei planuojate visam laikui palikti bandomąjį slapuką, įsitikinkite, kad nedingsite iš paieškos rezultatų;
  • sukuria problemų vartotojams su naršyklėmis Links, w3m ir panašiai;
  • neišsaugo nuo robotų, kuriuose yra pilnavertis naršyklės variklis su JavaScript.

Žodžiu, testcookie_module nėra universalus. Tačiau tai padeda iš daugelio dalykų, tokių kaip, pavyzdžiui, primityvūs įrankių rinkiniai Java ir C #. Taigi jūs pašalinote dalį grėsmės.

4. Kodas 444

DDoSers dažnai nukreipia į daugiausiai išteklių reikalaujančią svetainės dalį. Tipiškas pavyzdys yra paieška, kuri atlieka sudėtingas duomenų bazės užklausas. Natūralu, kad užpuolikai gali tuo pasinaudoti, vienu metu į paieškos sistemą įkeldami kelias dešimtis tūkstančių užklausų. Ką mes galime padaryti? Laikinai išjungti paiešką. Nors klientai negalės ieškoti reikalingos informacijos naudodami integruotus įrankius, visa pagrindinė svetainė veiks ir veiks, kol rasite visų problemų šaknį. Nginx palaiko nestandartinį 444 kodą, kuris leidžia tiesiog uždaryti ryšį ir nieko negrąžinti atsakant:

Vieta / paieška (grįžimas 444; )

Taigi, pavyzdžiui, galima greitai įdiegti filtravimą pagal URL. Jei esate tikri, kad užklausos dėl vietos /paieškos gaunamos tik iš robotų (pavyzdžiui, jūsų pasitikėjimas grindžiamas tuo, kad jūsų svetainėje iš viso nėra /paieška), galite įdiegti paketą ipset serveryje ir uždrausti robotus naudojant paprastą apvalkalo scenarijų:

Ipset -N uždrausti iphash tail -f access.log | skaitant LINIJA; padaryti aidą "$LINE" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A ban "$(L%% *)"; atlikta

Jei žurnalo failų formatas yra nestandartinis (ne kombinuotas) arba jums reikia uždrausti dėl kitų priežasčių, o ne dėl atsakymo būsenos, gali tekti pakeisti iškirpimą įprastu reiškiniu.

5. Geo-banim

Nestandartinis atsakymo kodas 444 taip pat gali būti naudingas norint greitai uždrausti klientus pagal geografinę nuorodą. Galite griežtai apriboti atskiras šalis, kuriose jaučiatės nepatogiai. Pavyzdžiui, mažai tikėtina, kad internetinė fotoaparatų parduotuvė iš Rostovo prie Dono turi daug vartotojų Egipte. Tai nėra labai geras būdas (atvirai pasakius – šlykštus), nes GeoIP duomenys netikslūs, o rostoviečiai kartais atskrenda atostogauti į Egiptą. Bet jei neturite ko prarasti, vadovaukitės instrukcijomis:

  1. Prijunkite GeoIP modulį prie nginx (wiki.nginx.org/HttpGeoipModule).
  2. Rodyti geografinės nuorodos informaciją prieigos žurnale.
  3. Tada, pakeitę aukščiau pateiktą apvalkalo scenarijų, grep nginx prieigos žurnalą ir pridėkite geografiškai pašalintus klientus į draudimą.

Pavyzdžiui, jei robotai daugiausia buvo iš Kinijos, tai gali padėti.

6. Neuroninis tinklas (PoC)

Galiausiai galite pakartoti vartotojo @SaveTheRbtz patirtį, kuri paėmė PyBrain neuroninį tinklą, įdėjo į jį žurnalą ir išanalizavo užklausas (habrahabr.ru/post/136237). Metodas veikia, nors ir ne universalus :). Bet jei jūs tikrai žinote savo svetainės vidų – ir jūs, kaip sistemos administratorius, turėtumėte – tada greičiausiai jums padės tragiškiausiose situacijose toks įrankis, pagrįstas neuroniniais tinklais, mokymais ir iš anksto surinkta informacija. Šiuo atveju labai naudinga turėti access.log prieš pradedant DDoS, nes jis aprašo beveik 100% teisėtų klientų, todėl yra puikus duomenų rinkinys neuroniniam tinklui lavinti. Be to, robotai ne visada matomi žurnalas.

Problemos diagnozė

Svetainė neveikia – kodėl? Ar tai DDoSed, ar tai variklio klaida, kurios programuotojas nepastebėjo? Nesvarbu. Neieškokite atsakymo į šį klausimą. Jei manote, kad jūsų svetainė gali būti užpulta, susisiekite su įmonėmis, kurios teikia apsaugą nuo atakų – daugelis anti-DDoS paslaugų siūlo nemokamą pirmą dieną po prisijungimo – ir nebegaiškite laiko ieškodami simptomų. Sutelkti dėmesį į problemą. Jei svetainė veikia lėtai arba visai neatsidaro, vadinasi, kažkas negerai su jos veikimu, ir – nepaisant to, ar yra DDoS ataka, ar ne – jūs, kaip profesionalas, privalote suprasti, kas tai sukelia. Esame ne kartą liudininkai, kaip dėl DDoS atakos savo svetainės veikimo sunkumų patirianti įmonė, užuot ieškojusi svetainės variklio silpnybių, bandė siųsti paraiškas Vidaus reikalų ministerijai, siekdama surasti ir nubausti užpuolikus. Nedarykite tokių klaidų. Kibernetinių nusikaltėlių paieška yra nelengvas ir ilgas procesas, kurį apsunkina pati interneto struktūra ir principai, o svetainės veikimo problema turi būti išspręsta operatyviai. Paprašykite technikų išsiaiškinti, dėl ko sumažėjo svetainės našumas, o teisininkai galės parašyti skundą.

7. Naudokite profiliavimo programą ir derintuvą

Dažniausiai pasitaikančiai svetainių kūrimo platformai – PHP + MySQL – kliūtis galima rasti naudojant šiuos įrankius:

  • Xdebug profiliuotojas parodys, kuriems skambučiams programa praleidžia daugiausiai laiko;
  • įtaisytas APD derinimo įrankis ir derinimo išvestis į klaidų žurnalą padės tiksliai išsiaiškinti, kuris kodas iškviečia šiuos iškvietimus;
  • daugeliu atvejų šuo yra palaidotas duomenų bazės užklausų sudėtingumo ir sunkumo. Čia padės paaiškinti SQL direktyvą, įmontuotą duomenų bazės variklyje.

Jei svetainė guli ant nugaros ir nieko neprarandate, atsijunkite nuo tinklo, pažiūrėkite į žurnalus, pabandykite juos paleisti. Jei ne, eikite per puslapius, pažiūrėkite į pagrindą.

Pavyzdys skirtas PHP, tačiau idėja galioja bet kuriai platformai. Kūrėjas, rašantis programinės įrangos produktus bet kuria programavimo kalba, turi sugebėti greitai naudoti derintuvą ir profiliavimo priemonę. Treniruokis iš anksto!

8. Analizuoti klaidas

Išanalizuoti srauto kiekį, serverio reakcijos laiką, klaidų skaičių. Žr. žurnalus. „nginx“ serverio atsako laikas žurnale įrašomas dviem kintamaisiais: užklausos_laikas ir priešsrautinio atsako_laikas. Pirmasis yra bendras užklausos vykdymo laikas, įskaitant tinklo delsą tarp vartotojo ir serverio; antrasis nurodo, kiek laiko backend (Apache, php_fpm, uwsgi...) vykdo užklausą. Vertė upstream_response_time yra labai svarbi svetainėms, kuriose yra daug dinamiško turinio ir aktyvus ryšys tarp sąsajos ir duomenų bazės, todėl jos nereikėtų pamiršti. Kaip žurnalo formatą galite naudoti šią konfigūraciją:

Log_format xakep_log "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent """$http_referer" "$http_user_agent" $request_time \ $upstream_response_time";

Tai kombinuotas formatas su pridėtais laiko laukais.

9. Sekite užklausas per sekundę

Taip pat pažiūrėkite į užklausų skaičių per sekundę. Nginx atveju galite apytiksliai įvertinti šią reikšmę naudodami šią apvalkalo komandą (kintamajame ACCESS_LOG yra kelias į nginx užklausų žurnalą kombinuotu formatu):

Echo $(($(fgrep -c "$(env LC_ALL=C data [apsaugotas el. paštas]$(($(data \ +%s)-60)) +%d/%b/%Y:%H:%M)" "$ACCESS_LOG")/60))

Palyginti su šiuo paros metu įprastu lygiu, užklausų skaičius per sekundę gali ir kristi, ir augti. Jie auga, jei ateina didelis botnetas, ir krenta, jei gaunamas botnetas sugenda svetainę, todėl teisėtiems vartotojams ji tampa visiškai nepasiekiama, o tuo pačiu metu botnetas neprašo statikos, o teisėti vartotojai tai daro. Užklausų skaičiaus mažėjimas pastebimas būtent dėl ​​statikos. Tačiau vienaip ar kitaip kalbame apie rimtus rodiklių pokyčius. Kai tai nutinka staiga – kol bandote problemą išspręsti patys ir jei jos iš karto nematote žurnale, geriau greitai patikrinti variklį ir lygiagrečiai kreiptis į specialistus.

10. Nepamirškite apie tcpdump

Daugelis žmonių pamiršta, kad tcpdump yra puikus diagnostikos įrankis. Pateiksiu porą pavyzdžių. 2011 m. gruodžio mėn. „Linux“ branduolyje buvo aptikta klaida, kai jis atidarė TCP ryšį, kai buvo nustatytos SYN ir RST TCP segmentų vėliavėlės. Pirmąjį pranešimą apie klaidą atsiuntė sistemos administratorius iš Rusijos, kurio resursas buvo atakuotas šiuo metodu – užpuolikai apie pažeidžiamumą sužinojo anksčiau nei visas pasaulis. Akivaizdu, kad tokia diagnozė jam padėjo. Kitas pavyzdys: nginx turi vieną nelabai gražią savybę – įrašo į žurnalą tik visiškai apdorojus užklausą. Būna situacijų, kai svetainė neveikia, niekas neveikia ir žurnaluose nieko nėra. Taip yra todėl, kad visos užklausos, kurios šiuo metu įkeliamos į serverį, dar nebaigtos. Tcpdump čia taip pat padės.

Taip gerai, kad patariau žmonėms nenaudoti dvejetainių protokolų, kol neįsitikins, kad viskas tvarkoje, nes tekstinius protokolus lengva derinti su tcpdump, o dvejetainius – ne. Tačiau snifferis yra geras diagnostikos įrankis - kaip gamybos palaikymo priemonę"ir jis baisus. Tai gali lengvai prarasti kelis paketus vienu metu ir sujaukti jūsų vartotojo istoriją. Patogu žiūrėti jo išvestį, pravers ir rankinei diagnostikai, ir draudimui, bet stenkitės tuo negrįsti nieko kritiško. Kitas mėgstamas „atšilimo užklausų“ įrankis – ngrep – paprastai pagal nutylėjimą bando paprašyti maždaug dviejų gigabaitų nekeičiamosios atminties ir tik tada pradeda mažinti savo poreikius.

11. Atakuoti ar ne?

Kaip atskirti, pavyzdžiui, DDoS ataką nuo reklamos kampanijos poveikio? Šis klausimas gali atrodyti juokingas, tačiau ši tema ne mažiau sudėtinga. Yra gana juokingų atvejų. Kai kuriems geriems vaikinams, kai jie įsitempė ir kruopščiai sugadino talpyklą, svetainė porą dienų susirgo. Paaiškėjo, kad keletą mėnesių ši svetainė buvo nepastebimai išgauta duomenų kai kurių vokiečių, o prieš optimizuojant svetainės puslapio talpyklą šiems vokiečiams, su visomis nuotraukomis, įkėlimas užtruko gana ilgai. Kai puslapis buvo iš karto pradėtas išduoti iš talpyklos, robotas, kuris neturėjo jokių skirtųjų laiko pabaigos, taip pat pradėjo juos akimirksniu rinkti. Buvo sunku. Atvejis ypač sunkus dėl to, kad jei jūs pats pakeitėte nustatymą (įjungėte talpyklą) ir po to svetainė nustojo veikti, tai kas, jūsų ir viršininko nuomone, kaltas? Būtent. Jei pastebite staigų užklausų skaičiaus padidėjimą, pažiūrėkite, pavyzdžiui, Google Analytics, kas į kokius puslapius atėjo.

Web serverio derinimas

Kokie kiti pagrindiniai punktai? Žinoma, galite nustatyti „numatytąjį“ nginx ir tikėtis, kad viskas bus gerai. Tačiau geri dalykai ne visada nutinka. Todėl bet kurio serverio administratorius turi skirti daug laiko nginx koregavimui ir derinimui.

12. Apriboti išteklius (buferio dydžius) nginx

Ką visų pirma reikėtų atsiminti? Kiekvienas išteklius turi limitą. Visų pirma, tai susiję su RAM. Todėl antraštių ir visų naudojamų buferių dydžiai turėtų būti apriboti iki atitinkamų verčių vienam klientui ir visam serveriui. Jie turi būti užregistruoti nginx konfigūracijoje.

  • client_header_buffer_size_ _ Nustato buferio dydį kliento užklausos antraštei nuskaityti. Jei užklausos eilutė arba užklausos antraštės laukas visiškai netelpa į šį buferį, tada skiriami didesni buferiai, nurodyti direktyvoje big_client_header_buffers.
  • big_client_header_buffers Nurodo maksimalų buferių skaičių ir dydį, kad būtų galima nuskaityti didelę kliento užklausos antraštę.
  • client_body_buffer_size Nustato buferio dydį kliento užklausos turiniui nuskaityti. Jei užklausos turinys yra didesnis nei nurodytas buferis, tada visas užklausos turinys arba tik dalis jo įrašomi į laikiną failą.
  • client_max_body_size Nustato didžiausią leistiną kliento užklausos turinį, nurodytą užklausos antraštės lauke Turinys-ilgis. Jei dydis yra didesnis nei nurodytas, tada klientas pateikia klaidą 413 (Užklausos objektas per didelis).

13. Nustatykite skirtąjį laiką nginx

Laikas taip pat yra išteklius. Todėl kitas svarbus žingsnis turėtų būti visų skirtojo laiko nustatymas, kurį vėlgi labai svarbu atidžiai registruoti nginx nustatymuose.

  • reset_timetout_connection on; Padeda susidoroti su FIN-WAIT fazėje įstrigusiais lizdais.
  • client_header_timeout Nurodomas skirtasis laikas nuskaitant kliento užklausos antraštę.
  • client_body_timeout Nurodomas skirtasis laikas nuskaitant kliento užklausos turinį.
  • Keepalive_timeout Nustato skirtąjį laiką, per kurį serveris neuždarys ryšio su klientu. Daugelis bijo čia nustatyti dideles vertybes, tačiau nesame tikri, kad ši baimė yra pagrįsta. Pasirinktinai galite nustatyti skirtojo laiko reikšmę „Keep-Alive“ HTTP antraštėje, tačiau „Internet Explorer“ garsėja šios reikšmės ignoravimu.
  • siuntimo laikas Nurodomas skirtasis laikas siunčiant atsakymą klientui. Jei po šio laiko klientas nieko negaus, ryšys bus nutrauktas.

Iš karto kyla klausimas: kokie buferių ir skirtųjų laiko parametrų parametrai yra teisingi? Universalaus recepto čia nėra, kiekviena situacija turi savo. Tačiau yra patikrintas metodas. Būtina nustatyti minimalias vertes, kuriomis svetainė veikia (taikos metu), tai yra, puslapiai grąžinami ir užklausos apdorojamos. Tai nustatoma tik testuojant – tiek iš stalinių kompiuterių, tiek iš mobiliųjų įrenginių. Kiekvieno parametro reikšmių radimo algoritmas (buferio dydis arba laikas):

  1. Nustatome matematinę mažiausią parametro reikšmę.
  2. Pradedame vykdyti svetainės testus.
  3. Jei visos svetainės funkcijos veikia be problemų, parametras yra apibrėžtas. Jei ne, padidinkite parametro reikšmę ir pereikite prie 2 veiksmo.
  4. Jei parametro reikšmė viršijo net numatytąją reikšmę, tai yra priežastis diskusijoms kūrimo komandoje.

Kai kuriais atvejais, peržiūrėjus šiuos parametrus, svetainė turėtų būti pertvarkyta / pertvarkyta. Pavyzdžiui, jei svetainė neveikia be trijų minučių AJAX ilgų apklausų užklausų, jums nereikia ilginti skirtojo laiko, o pakeisti ilgą apklausą kažkuo kitu - 20 tūkstančių mašinų botnetu, tris minutes pakabinančiu užklausas, lengvai nužudys vidutinį pigų serverį.

14. Apriboti ryšius naudojant nginx (limit_conn ir limit_req)

Nginx taip pat turi galimybę apriboti ryšius, užklausas ir pan. Jei nesate tikri, kaip elgsis tam tikra jūsų svetainės dalis, idealiu atveju turėtumėte ją išbandyti, išsiaiškinti, kiek užklausų ji gali apdoroti, ir įrašyti tai į savo nginx konfigūraciją. Vienas dalykas, kai svetainė neveikia ir jūs galite ateiti ir ją pasiimti. Ir visai kitas reikalas – kai atsigulė iki tokio lygio, kad serveris pateko į apsikeitimą. Tokiu atveju dažnai lengviau paleisti iš naujo, nei laukti jo pergalingo sugrįžimo.

Tarkime, kad svetainėje yra skyrelių su iškalbingais pavadinimais /download ir /search. Tai darydami mes:

  • nenorime, kad robotai (arba žmonės, turintys per daug uolų rekursinių atsisiuntimų tvarkytuvų), užpildytų mūsų TCP ryšio lentelę savo atsisiuntimais;
  • nenorime, kad robotai (arba paklydę paieškos sistemų tikrintuvai) išnaudotų DBVS skaičiavimo išteklius su daugybe paieškos užklausų.

Šiems tikslams tiks ši konfigūracija:

Http ( limit_conn_zone $binary_remote_addr zone=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; serveris ( vieta /atsiuntimas/ ( limit_conn download_c 1; # Kitos konfigūracijos vieta= ) limito vieta /qarch zone/ search_r burst=5; # Kita konfigūracijos vieta ) ) )

Paprastai tikslinga nustatyti limitus limit_conn ir limit_req vietoms, kuriose yra brangiai vykdomi scenarijai (pavyzdyje nurodyta paieška, ir tai neatsitiktinai). Apribojimai turi būti parinkti remiantis apkrovos ir regresijos testų rezultatais bei sveiku protu.

Atkreipkite dėmesį į 10 m parametrą pavyzdyje. Tai reiškia, kad šiai ribai apskaičiuoti bus skirtas žodynas, kurio buferis yra 10 megabaitų, o ne daugiau. Šioje konfigūracijoje tai leis stebėti 320 000 TCP seansų. Siekiant optimizuoti atminties naudojimą, kintamasis $binary_remote_addr naudojamas kaip raktas žodyne, kuriame yra vartotojo IP adresas dvejetaine forma ir užima mažiau atminties nei įprastas $remote_addr eilutės kintamasis. Reikėtų pažymėti, kad antrasis limit_req_zone direktyvos parametras gali būti ne tik IP, bet ir bet kuris kitas šiame kontekste pasiekiamas nginx kintamasis – pavyzdžiui, tuo atveju, kai nenorite suteikti atlaidesnio tarpinio serverio režimo, galite naudoti $binary_remote_addr$http_user_agent arba $binary_remote_addr$http_cookie_myc00kiez – bet tokias konstrukcijas reikia naudoti atsargiai, nes, skirtingai nei 32 bitų $binary_remote_addr, šie kintamieji gali būti daug ilgesni ir jūsų deklaruotas „10m“ gali staiga baigtis.

DDoS tendencijos

  1. Tinklo ir transporto sluoksnių atakų galia nuolat auga. Vidutinės SYN potvynio atakos potencialas jau pasiekė 10 milijonų paketų per sekundę.
  2. Atakos prieš DNS pastaruoju metu buvo ypač paklausios. UDP užtvindymas galiojančiomis DNS užklausomis su suklastotais šaltinio IP adresais yra viena iš lengviausiai įgyvendinamų ir sunkiai atremtų atakų. Daugelis didelių Rusijos įmonių (įskaitant prieglobos įmones) pastaruoju metu patyrė problemų dėl atakų prieš jų DNS serverius. Kuo toliau, tuo daugiau tokių išpuolių bus ir jų galia augs.
  3. Sprendžiant pagal išorinius požymius, dauguma botnetų yra valdomi ne centralizuotai, o per peer-to-peer tinklą. Tai suteikia užpuolikams galimybę laiku sinchronizuoti botneto veiksmus – jei ankstesnės valdymo komandos buvo paskirstytos 5000 kompiuterių robotų tinkle per dešimtis minučių, dabar skaičiuojamos sekundės ir jūsų svetainėje gali staiga padidėti šimtus kartų. prašymus.
  4. Botų, turinčių visavertį naršyklės variklį su JavaScript, dalis vis dar nedidelė, tačiau ji nuolat auga. Tokią ataką sunkiau atremti įmontuotomis improvizuotomis priemonėmis, todėl „pasidaryk pats“ šią tendenciją reikėtų stebėti atsargiai.

OS paruošimas

Be tikslaus nginx derinimo, turite pasirūpinti ir sistemos tinklo kamino nustatymais. Bent jau nedelsdami įtraukite net.ipv4.tcp_syncookies į sysctl, kad apsisaugotumėte nuo nedidelio SYN potvynio išpuolio.

15. Sureguliuokite šerdį

Atkreipkite dėmesį į sudėtingesnius tinklo dalies (branduolio) nustatymus, vėlgi kalbant apie skirtąjį laiką ir atmintį. Yra svarbesnių ir mažiau svarbių. Visų pirma, reikia atkreipti dėmesį į:

  • net.ipv4.tcp_fin_timeout Laikas, kurį lizdas praleis TCP fazėje FIN-WAIT-2 (laukdamas FIN/ACK segmento).
  • net.ipv4.tcp_(,r,w)mem TCP lizdo priėmimo buferio dydis. Trys reikšmės: minimali, numatytoji vertė ir didžiausia.
  • net.core.(r,w)mem_max Tas pats ir ne TCP buferiams.

Naudojant 100 Mbps ryšį, numatytosios reikšmės vis tiek kažkaip tinkamos; bet jei turite bent gigabitų per sekundę, tada geriau naudoti kažką panašaus:

sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w. 6 w net.ipv4.tcp_fin_timeout=10

16. Peržiūra /proc/sys/net/**

Idealu ištirti visus parametrus /proc/sys/net/**. Turime pamatyti, kuo jie skiriasi nuo numatytųjų, ir suprasti, kaip tinkamai jie rodomi. „Linux“ kūrėjas (arba sistemos administratorius), kuris supranta jo valdomos interneto paslaugos veikimą ir nori ją optimizuoti, turėtų su susidomėjimu perskaityti visų branduolio tinklo kamino parametrų dokumentaciją. Galbūt jis ten ras savo svetainei būdingų kintamųjų, kurie padės ne tik apsaugoti svetainę nuo įsibrovėlių, bet ir pagreitinti jos darbą.

Nebijok!

Sėkmingos DDoS atakos diena iš dienos gesina elektroninę prekybą, sukrečia žiniasklaidą, vienu smūgiu išmuša didžiausias mokėjimo sistemas. Milijonai interneto vartotojų praranda prieigą prie svarbios informacijos. Grėsmė yra neatidėliotina, todėl jūs turite ją sutikti visiškai apsiginklavę. Atlikite namų darbus, nebijokite ir laikykite šaltą galvą. Jūs nesate pirmas ir ne paskutinis, susidūręs su DDoS ataka savo svetainėje, todėl jūs, vadovaudamiesi savo žiniomis ir sveiku protu, turite sumažinti atakos pasekmes.

Mes daug kalbame apie atakas svetainėje, įsilaužimą, tačiau nepaminėjome DDOS temos. Šiandien taisome šią situaciją ir siūlome jums išsamią DDoS atakų organizavimo technologijų ir gerai žinomų įsilaužėlių atakų vykdymo įrankių apžvalgą.


Galite peržiūrėti galimų DDOS atakų įrankių sąrašą KALI vykdydami komandą:

kali > /usr/share/exploitdb/platforms/windows/dos


Ši komanda rodo išnaudojimų, skirtų atakuoti Windows sistemas, duomenų bazę.

Norėdami peržiūrėti galimus Linux DDoS atakos įrankius, įveskite komandą:

/usr/share/exploitdb/platforms/Linux/dos.

2.LOIC

Žemos orbitos jonų patranka (LOIC) Galbūt pati populiariausia DDOS programa. Jis gali siųsti masines užklausas per ICMP, UDP protokolus ir taip blokuoti kanalą aukos serveriui. Žinomiausią LOIC ataką 2009 m. įvykdė „Anonymous“ prieš „PayPal“, „Visa“, „MasterCard“, keršydamas už tai, kad „WikiLeaks“ buvo išjungtas iš lėšų rinkimo sistemos.

Atakos, organizuojamos naudojant LOIC, gali būti išnaudotos blokuojant UDP ir ICMP paketus interneto tiekėjų tinklo įrangoje. Pačią LOIC programą galite atsisiųsti nemokamai iš svetainės. Šiuo Windows pagrindu veikiančiu įrankiu naudotis labai paprasta, tereikia nukreipti į aukos svetaines ir paspausti tik vieną mygtuką.

2.HOIC

HOIC kaip „Praetox“ operacijos „Payback“ dalį sukūrė ta pati komanda, kuri sukūrė LOIC. Pagrindinis skirtumas yra tas, kad HOIC naudoja HTTP protokolą ir naudoja jį atsitiktinių HTTP GET ir POST užklausų srautui siųsti. Jis gali vienu metu atakuoti 256 domenus. Jį galite atsisiųsti iš.


3.XOIC

XOIC yra dar vienas labai paprastas DDOS įrankis. Vartotojui tereikia nustatyti aukos IP adresą, pasirinkti protokolą (HTTP, UDP, ICMP arba TCP) ir paspausti gaiduką! Galite atsisiųsti iš

5. HULK

6.UDP užliejimas

UDP Flooder pateisina savo pavadinimą – įrankis, skirtas siųsti kelis UDP paketus į tikslą. UDP Flooder dažnai naudojamas DDOS atakoms prieš žaidimų serverius, siekiant atjungti žaidėjus nuo serverio. Programą galima atsisiųsti adresu.

7. RUDY

8. ToR plaktukas

ToR's Hammer buvo sukurtas veikti tinklą, kad būtų pasiektas didesnis užpuoliko anonimiškumas. Šio įrankio problema yra ta, kad TOR tinklas yra gana lėtas ir taip sumažina DDoS atakos efektyvumą. Šią DDOS programą galite atsisiųsti iš Packet Storm arba .

9. Pyloris

Pyloris yra dar vienas DDoS įrankis, kuriam taikomas naujas požiūris. Tai leidžia užpuolikui sukurti savo unikalią HTTP užklausą. Tada programa bandys palaikyti atvirą TCP ryšį su tokiomis užklausomis, taip sumažindama galimų jungčių skaičių serveryje. Pasiekus serverio ryšio limitą, serveris nebegali aptarnauti ryšių ir svetainė tampa nepasiekiama. Šį įrankį galima nemokamai atsisiųsti iš svetainės.

10.OWASP Switchblade

Open Web Application Security Project (OWASP) ir ProactiveRISK sukūrė įrankį Switchblade DoS įrankis skirtas išbandyti WEB aplikacijas atsparumui DDoS atakoms.Jis turi tris veikimo režimus: 1. SSL Half-Open, 2. HTTP Post ir 3. Slowloris. Galite atsisiųsti jį peržiūrėti iš OWASP svetainės.

11.DAVOSET

12. GoldenEye HTTP DoS įrankis

13.THC-SSL-DOS

Šis DDOS įrankis (yra įtrauktas į Kali) skiriasi nuo daugumos DDOS įrankių tuo, kad nenaudoja interneto pralaidumo ir gali būti naudojamas iš vieno kompiuterio. THC-SSL-DOS išnaudoja SSL protokolo pažeidžiamumą ir gali „nuleisti“ tikslinį serverį. Nebent, žinoma, šis pažeidžiamumas jame yra. Programą galite atsisiųsti iš THC svetainės arba naudoti KALI Linux, kur šis įrankis jau įdiegtas.

14. DDOSIM – 7 sluoksnio DDoS emuliatorius

Čia mūsų apžvalga ir baigiasi, tačiau ateityje savo tinklaraščio puslapiuose grįšime prie DDoS atakų temos.

DDoS ataka (Distributed Denial of Service ataka) yra veiksmų rinkinys, galintis visiškai arba iš dalies išjungti interneto išteklius. Beveik bet kuris interneto šaltinis gali būti auka, pavyzdžiui, svetainė, žaidimų serveris ar vyriausybės išteklius. Šiuo metu įsilaužėliui vienam organizuoti DDoS ataką praktiškai neįmanoma. Daugeliu atvejų užpuolikas naudoja kompiuterių, užkrėstų virusu, tinklą. Virusas leidžia gauti reikiamą ir pakankamą nuotolinę prieigą prie užkrėsto kompiuterio. Tokių kompiuterių tinklas vadinamas botnetu. Paprastai botnetai turi koordinuojantį serverį. Nusprendęs įgyvendinti ataką, užpuolikas siunčia komandą koordinuojančiam serveriui, kuris savo ruožtu duoda signalą visiems pradėti vykdyti kenkėjiškas tinklo užklausas.

DDoS atakų priežastys

  • Asmeninis priešiškumas

Ši priežastis yra gana dažna. Prieš kurį laiką nepriklausomas tyrimų žurnalistas Brianas Krebsas atskleidė didžiausios individualizuotų DDoS atakų tarnybos – vDOS – veiklą. Informacija buvo pateikta išsamiai, dėl ko buvo sulaikyti šios tarnybos organizatoriai. Reaguodami į tai, programišiai surengė ataką prieš žurnalisto tinklaraštį, kurios galia siekė 1 Tbps. Ši ataka tapo galingiausia pasaulyje per visus metus.

  • Pramogos

Šiais laikais primityvią DDoS ataką organizuoti patiems tampa lengviau. Toks puolimas būtų itin netobulas ir ne anonimiškas. Deja, dauguma nusprendusių pasijusti „hakeriu“ nežino nei pirmojo, nei antrojo. Tačiau daugelis studentų dažnai praktikuoja DDoS atakas. Tokių atvejų pasekmės yra labai įvairios.

  • Politinis protestas (haktivizmas)

Viena pirmųjų socialinių atakų buvo DDoS ataka, kurią 1996 m. įgyvendino „Omega“ įsilaužėlis. „Omega“ buvo įsilaužėlių koalicijos „Cult of the Dead Crew“ (cDc) narė. Žiniasklaidoje terminas haktivizmas išpopuliarėjo dėl vis dažnesnių kibernetinių atakų, turinčių socialinį pagrindą. Tipiški hacktivistų atstovai yra Anonymous ir LulzSec.

  • Nesąžininga konkurencija

Tokie motyvai dažnai pasitaiko žaidimų serverių pramonėje, tačiau mažmeninėje prekyboje tokie atvejai gana dažni. Gana efektyvus nesąžiningos konkurencijos būdas, galintis sugriauti prekybos platformos reputaciją, jei jos savininkai laiku nesikreipia pagalbos į specialistus. Tokį motyvą galima išskirti iš kitų kaip labiausiai paplitusią.

  • Prievartavimas arba šantažas

Tokiu atveju užpuolikas iš potencialios aukos reikalauja pinigų sumos už neįvykdymą. Arba sustabdyti. Tokių atakų aukomis dažnai tampa didelės organizacijos, pavyzdžiui, per 2014 m. buvo užpultas Tinkoff Bank ir IT šaltinis Habrahabr, didžiausias torrentų sekimo įrenginys Rutracker.org (kaip buvo?).

DDoS atakų pasekmės

DDoS atakų pasekmės gali būti labai įvairios: nuo serverio išjungimo duomenų centre iki visiško išteklių ir klientų srauto reputacijos praradimo. Daugelis organizacijų, norėdamos sutaupyti, nesąžiningai renkasi nesąžiningus apsaugos tiekėjus, o tai dažnai neduoda jokios naudos. Norėdami išvengti tokių problemų, rekomenduojame susisiekti su savo pramonės profesionalais.

Atakos, kurios pateko į interneto istoriją

Technologinė pažanga žengia į priekį šuoliais, o užpuolikai savo ruožtu deda visas pastangas, kad nestovėtų vietoje ir įgyvendintų vis sudėtingesnes ir galingesnes atakas. Sudarėme trumpą įdomiausių atvejų, patekusių į DDoS atakų istoriją, aprašymą. Kai kurie iš jų gali atrodyti įprasti pagal šių dienų standartus, tačiau tuo metu, kai jie vyko, tai buvo labai didelio masto atakos.

Ping Of Dead. Atakos metodas, pagrįstas ping komandos naudojimu. Ši ataka išpopuliarėjo 1990-aisiais dėl tinklo įrangos netobulumo. Atakos esmė yra išsiųsti vieną ping užklausą tinklo prieglobai, o paketo korpuse yra ne standartiniai 64 baitai, o 65535 baitai. Gavusi tokį paketą, įranga perpildė tinklo steką ir dėl to buvo atsisakyta teikti paslaugą.

Ataka, kuri paveikė interneto stabilumą. 2013 m. „Spamhaus“ buvo 280 Gbps atakos auka. Įdomiausia tai, kad atakai įsilaužėliai naudojo DNS serverius iš interneto, kurie savo ruožtu buvo labai apkrauti daugybe užklausų. Tą dieną milijonai vartotojų skundėsi lėtai įkeliamais puslapiais dėl paslaugų perkrovos.

Rekordinė ataka, kurios srautas viršija 1 Tbps. 2016 m. įsilaužėliai bandė mus užpulti 360 Mps ir 1 Tbps sparta. Šis skaičius tapo interneto egzistavimo rekordu. Tačiau net ir per tokią ataką mes atsilaikėme ir tinklo apkrova tik šiek tiek apribojo laisvus tinklo įrangos resursus.

Išpuolių charakteristikos šiandien

Neskaitant piko atakų, galime teigti, kad atakų galia kasmet išauga daugiau nei 3-4 kartus. Užpuolikų geografija kiekvienais metais keičiasi tik iš dalies, nes tai lemia maksimalus kompiuterių skaičius konkrečioje šalyje. Kaip matyti iš mūsų ekspertų parengtos 2016 metų ketvirtinės ataskaitos, Rusija, JAV ir Kinija yra rekordinės šalys pagal robotų skaičių.

Kas yra DDoS atakos?

Šiuo metu atakų tipus galima suskirstyti į 3 klases:

    Kanalo potvynių išpuoliai

Šio tipo atakos apima , ir ;

    Atakos, kurios išnaudoja tinklo protokolų krūvos pažeidžiamumą

Populiariausios ir įdomiausios šio tipo atakos yra , / attack,

Kodėl rinktis mus? Mūsų įranga yra pagrindiniuose pasaulio duomenų centruose ir gali atremti atakas iki 300 Gbps arba 360 mln. paketų per sekundę. Taip pat turime turinio pristatymo tinklą () ir inžinierių personalą, budintį nestandartinės atakos ar avarinių situacijų atveju. Todėl, patekę į mūsų apsaugą, galite būti tikri, kad jūsų ištekliai yra prieinami 24 valandas per parą, 7 dienas per savaitę. Mumis pasitiki: REG.RU, Argumentai ir faktai, WebMoney, Rusijos radijo holdingas GPM ir kitos korporacijos.

Tik nuo nedidelio skaičiaus atakų galite patys įdiegti apsaugą, naudodami srauto analizę arba nustatydami maršruto parinkimo taisykles. Pateikiami būdai apsisaugoti nuo kai kurių išpuolių.

mob_info