Šta je ddos ​​napad. DDoS napad: šta je, kako funkcioniše i da li je moguće zaštititi se

Na računarskom sistemu u cilju njegovog dovođenja do kvara, odnosno stvaranja takvih uslova pod kojima legalni (zakoniti) korisnici sistema ne mogu pristupiti resursima (serverima) koje obezbeđuje sistem, ili je taj pristup otežan. Kvar „neprijateljskog“ sistema takođe može biti korak ka ovladavanju sistemom (ako u hitnom slučaju softver daje bilo kakvu kritičnu informaciju - na primer, verziju, deo programskog koda, itd.). Ali češće je to mjera ekonomskog pritiska: zastoji usluge koja stvara prihod, računi od provajdera i mjere za izbjegavanje napada značajno pogađaju „cilju“ u džepu.

Ako se napad vrši istovremeno sa velikog broja računara, govori se o tome DDoS napad(sa engleskog. Distribuirano uskraćivanje usluge, distribuirani napad uskraćivanja usluge). U nekim slučajevima, nenamjerna radnja dovodi do stvarnog DDoS napada, na primjer, postavljanje veze na popularni internetski resurs na web lokaciju koja se nalazi na ne baš produktivnom serveru (efekat kose crte). Veliki priliv korisnika dovodi do prekoračenja dozvoljenog opterećenja na serveru i, posljedično, do uskraćivanja usluge za neke od njih.

Vrste DoS napada

Postoje različiti razlozi zbog kojih može doći do DoS stanja:

  • Greška u programskom kodu, što rezultira pristupom neiskorištenom fragmentu adresnog prostora, izvršavanjem nevažeće instrukcije ili drugim neobrađenim izuzetkom kada se serverski program sruši - serverski program. Klasičan primjer je referenciranje na nuli. null) adresa.
  • Nedovoljna validacija korisničkih podataka, što dovodi do beskonačnog ili dugog ciklusa ili povećane dugotrajne potrošnje procesorskih resursa (do iscrpljivanja resursa procesora) ili do dodjele velike količine RAM-a (do iscrpljivanja dostupne memorije).
  • poplava(engleski) poplava- "flood", "overflow") - napad povezan sa velikim brojem obično besmislenih ili pogrešno formatiranih zahteva prema računarskom sistemu ili mrežnoj opremi, koji ima za cilj ili je doveo do kvara sistema usled iscrpljivanja sistemskih resursa - procesor, memorija ili komunikacioni kanali.
  • Napad druge vrste- napad koji nastoji da izazove lažni alarm sistema zaštite i na taj način dovede do nedostupnosti resursa.

Ako se napad (obično poplava) izvodi istovremeno sa velikog broja IP adresa - sa više računara raštrkanih u mreži - tada se u ovom slučaju naziva distribuirano napad uskraćivanja usluge ( DDoS).

Eksploatacija grešaka

Exploit odnosi se na program, dio programskog koda ili niz programskih naredbi koje iskorištavaju ranjivosti u softveru i koriste se za napad na sajber sistem. Od eksploata koji dovode do DoS napada, ali su neprikladni, na primjer, za preuzimanje kontrole nad "neprijateljskim" sistemom, najpoznatiji su WinNuke i Ping smrti (Ping smrti).

poplava

Za flooding kao kršenje pravila mreže, pogledajte flooding.

poplava oni zovu ogroman tok besmislenih zahteva sa različitih računara kako bi „neprijateljski“ sistem (procesor, RAM ili komunikacioni kanal) uzeli sa radom i time ga privremeno onemogućili. Koncept „DDoS napada“ je skoro ekvivalentan konceptu „poplave“, a u svakodnevnom životu su oba često zamenljiva („flood the server“ = „DDoS’it the server“).

Za stvaranje poplave mogu se koristiti i obični mrežni uslužni programi poput pinga (ovo je poznato, na primjer, Internet zajednica "Upyachka"), i posebni programi. Mogućnost DDoS-a često je "ušivena" u botnet mrežama. Ako se na sajtu sa velikim prometom pronađe ranjivost skriptovanja na više lokacija ili mogućnost uključivanja slika iz drugih resursa, ova stranica se može koristiti i za DDoS napad.

Komunikacijski kanal i poplava TCP podsistema

Svaki računar koji komunicira sa vanjskim svijetom putem TCP/IP protokola podliježe ovim vrstama poplava:

  • SYN flood - kod ove vrste flood napada veliki broj SYN paketa se šalje napadnutom čvoru preko TCP protokola (zahtjeva za otvaranje veze). Istovremeno, nakon kratkog vremena, broj soketa dostupnih za otvaranje (softverske mrežne utičnice, portovi) se iscrpljuje na napadnutom računaru, a server prestaje da reaguje.
  • UDP flood - ova vrsta poplava ne napada ciljni računar, već njegov komunikacioni kanal. Provajderi razumno pretpostavljaju da UDP paketi trebaju biti isporučeni prvi, dok TCP može čekati. Veliki broj UDP paketa različitih veličina začepljuje komunikacioni kanal, a server koji radi preko TCP protokola prestaje da reaguje.
  • ICMP flood - ista stvar, ali uz pomoć ICMP paketa.

Poplava sloja aplikacije

Mnogi servisi su dizajnirani na način da mali zahtjev može uzrokovati veliku potrošnju računarske snage na serveru. U ovom slučaju nije napadnut komunikacioni kanal ili TCP podsistem, već sam servis (servis) – poplava ovakvih „bolesnih“ zahteva. Na primjer, web serveri su ranjivi na HTTP poplavu - ili jednostavan GET / ili složeni upit baze podataka kao što je GET /index.php?search= može se koristiti za onemogućavanje web servera<случайная строка> .

Detekcija DoS napada

Postoji mišljenje da posebni alati za otkrivanje DoS napada nisu potrebni, jer se činjenica DoS napada ne može previdjeti. U mnogim slučajevima to je tačno. Međutim, dosta često su uočeni uspješni DoS napadi, koje su žrtve primijetile tek nakon 2-3 dana. Dešavalo se da negativne posljedice napada ( poplava-napadi) rezultiralo je previsokim troškovima plaćanja viška internet saobraćaja, što se pokazalo tek prilikom prijema računa od internet provajdera. Pored toga, mnoge metode otkrivanja upada su neefikasne u blizini mete napada, ali su efikasne na mrežnim okosnicama. U tom slučaju, preporučljivo je instalirati sisteme za detekciju upravo tamo, a ne čekati da napadnuti korisnik to sam primijeti i zatraži pomoć. Osim toga, da bi se efikasno suprotstavili DoS napadima, potrebno je poznavati vrstu, prirodu i druge karakteristike DoS napada, a sistemi za detekciju omogućavaju brzo dobijanje ovih informacija.

Metode otkrivanja DoS napada mogu se podijeliti u nekoliko velikih grupa:

  • potpis - na osnovu kvalitativne analize saobraćaja.
  • statistički - zasnovan na kvantitativnoj analizi prometa.
  • hibridni (kombinovani) - kombinujući prednosti obe gore navedene metode.

DoS zaštita

Mjere za suzbijanje DoS napada mogu se podijeliti na pasivne i aktivne, kao i preventivne i reaktivne.

Ispod je kratka lista glavnih metoda.

  • Prevencija. Sprečavanje razloga koji podstiču određene pojedince da organizuju i poduzmu DoS napade. (Vrlo često su cyber napadi općenito rezultat ličnih pritužbi, političkih, vjerskih i drugih nesuglasica, provokativnog ponašanja žrtve itd.)
  • Filtriranje i blackholing. Blokiranje saobraćaja od napadačkih mašina. Efikasnost ovih metoda se smanjuje kako se približavate objektu napada i povećava se kako se približavate mašini koja napada.
  • Obrnuti DDOS- preusmjeravanje saobraćaja korištenog za napad na napadača.
  • Uklanjanje ranjivosti. Ne radi protiv poplava-napadi za koje je "ranjivost" ograničenost određenih sistemskih resursa.
  • Povećanje resursa. Naravno, ne pruža apsolutnu zaštitu, ali je dobra podloga za primjenu drugih vrsta zaštite od DoS napada.
  • Raspršivanje. Izgradnja distribuiranih i dupliciranih sistema koji neće prestati da služe korisnicima, čak i ako neki od njihovih elemenata postanu nedostupni zbog DoS napada.
  • Utaja. Premještanje neposrednog cilja napada (ime domene ili IP adresa) dalje od drugih resursa koji su često također pogođeni zajedno sa neposrednom metom napada.
  • Aktivan odgovor. Uticaj na izvore, organizatora ili kontrolni centar napada, kako ljudskim, tako i organizaciono-pravnim sredstvima.
  • Korištenje opreme za odbijanje DoS napada. Na primjer, DefensePro® (Radware), Perimeter (MFI Soft), Arbor Peakflow® i drugi proizvođači.
  • Nabavka usluge za zaštitu od DoS napada. Aktuelno u slučaju prekoračenja propusnosti mrežnog kanala zbog poplave.

vidi takođe

Bilješke

Književnost

  • Chris Kaspersky Kompjuterski virusi iznutra i spolja. - Peter. - St. Petersburg. : Peter, 2006. - S. 527. - ISBN 5-469-00982-3
  • Stephen Northcutt, Mark Cooper, Matt Fearnow, Karen Frederik. Analiza tipičnih narušavanja sigurnosti u mrežama = Signature i analiza upada. - New Riders Publishing (engleski) St. Petersburg: Williams Publishing House (ruski), 2001. - P. 464. - ISBN 5-8459-0225-8 (ruski), 0-7357-1063-5 (engleski)
  • Morris, R.T.= Slabost u 4.2BSD Unix TCP/IP softveru. - Računarstvo Tehnički izvještaj br.117. - AT&T Bell Laboratories, februar 1985.
  • Bellovin, S.M.= Sigurnosni problemi u paketu TCP/IP protokola. - Pregled kompjuterskih komunikacija, Vol. 19, br.2. - AT&T Bell Laboratories, april 1989.
  • = daemon9 / route / infinity "IP-spooling Demystified: Trust Realationship Exploitation". - Phrack Magazine, Vol.7, Issue 48. - Guild Production, jul 1996.
  • = daemon9 / route / infinity "Projekt Neptun". - Phrack Magazine, Vol.7, Issue 48. - Guild Production, jul 1996.

Linkovi

  • DoS napad u Open Directory Project Link Directory (

Sve češće u službenim porukama hosting provajdera, tu i tamo, titraju spomeni reflektiranih DDoS napada. Korisnici sve češće, nakon što su otkrili nedostupnost njihove stranice, odmah preuzimaju DDoS. Zaista, početkom marta Runet je doživio čitav talas takvih napada. U isto vrijeme, stručnjaci uvjeravaju da zabava tek počinje. Jednostavno je nemoguće zanemariti fenomen tako relevantan, zastrašujući i intrigantan. Zato danas hajde da pričamo o mitovima i činjenicama o DDoS-u. Sa stanovišta hosting provajdera, naravno.

dan sjecanja

Dana 20. novembra 2013. godine, po prvi put u 8-godišnjoj istoriji naše kompanije, kompletna tehnička stranica bila je nedostupna nekoliko sati zbog neviđenog DDoS napada. Deseci hiljada naših kupaca širom Rusije i CIS-a su stradali, a da ne spominjemo nas i našeg internet provajdera. Posljednja stvar koju je provajder uspio popraviti prije nego što je bijelo svjetlo nestalo za sve je da su njegovi ulazni kanali bili čvrsto začepljeni dolaznim saobraćajem. Da biste to vizualizirali, zamislite svoju kadu sa običnim umivaonikom, u koji su se sjurili Nijagarini vodopadi.

Čak su i uzvodni provajderi osjetili odjeke ovog cunamija. Donji grafikoni jasno ilustruju šta se tog dana dogodilo sa internet saobraćajem u Sankt Peterburgu i Rusiji. Obratite pažnju na strme vrhove u 15:00 i 18:00, baš kada smo snimili napade. Na ovim iznenadnim plus 500-700 GB.

Bilo je potrebno nekoliko sati da se lokalizuje napad. Izračunat je server na koji je poslana. Tada je izračunata svrha internet terorista. Znate li koga je pogodila sva ova neprijateljska artiljerija? Po jedna vrlo obična, skromna klijentska stranica.

Mit broj jedan: „Predmet napada je uvijek hosting provajder. To su mahinacije njegovih konkurenata. Ne moj." U stvari, najvjerovatnija meta internet terorista je obična klijentska stranica. Odnosno, stranica jednog od vaših susjeda hostinga. A možda i tvoj.

Nisu svi DDoS...

Nakon događaja na našem tehničkom sajtu 20. novembra 2013. i njihovog delimičnog ponavljanja 9. januara 2014., neki korisnici su počeli da pretpostavljaju DDoS u bilo kom određenom kvaru na sopstvenom sajtu: „Ovo je DDoS!“ i "Da li ponovo imate DDoS?"

Važno je zapamtiti da ako pretrpimo takav DDoS da ga čak i kupci osjete, odmah ga sami prijavimo.

Želimo da uvjerimo one koji se žure u panici: ako nešto nije u redu s vašom web lokacijom, onda je vjerovatnoća da je ovo DDoS manja od 1%. Jednostavno zbog činjenice da se sajtu može desiti mnogo toga i ovo „puno stvari“ se dešava mnogo češće. O metodama samostalne brze dijagnostike šta se tačno dešava sa Vašim sajtom govorićemo u jednom od sledećih postova.

U međuvremenu - radi tačnosti upotrebe riječi - razjasnimo pojmove.

O terminima

DoS napad (sa engleskog Denial of Service) - ovo je napad dizajniran da izazove uskraćivanje usluge serveru zbog njegovog preopterećenja.

DoS napadi nisu povezani sa oštećenjem opreme ili krađom informacija; njihov cilj - učinite da server prestane reagirati. Osnovna razlika između DoS-a je u tome što se napad dešava sa jedne mašine na drugu. Tačno su dva učesnika.

Ali u stvarnosti, mi praktično ne opažamo DoS napade. Zašto? Zato što su objekti napada najčešće industrijski objekti (na primjer, moćni produktivni serveri hosting kompanija). A da bi se nanijela bilo kakva vidljiva šteta radu takve mašine, potrebno je mnogo više snage od njene vlastite. Ovo je prvo. I drugo, inicijatora DoS napada prilično je lako izračunati.

DDoS - u suštini isto što i DoS, samo što je napad distribuirane prirode. Ne pet, ne deset, ne dvadeset, već stotine i hiljade računara istovremeno pristupaju jednom serveru sa različitih mesta. Takva armija mašina se zove botnet. Gotovo je nemoguće izračunati kupca i organizatora.

saučesnici

Koje vrste računara su uključene u botnet?

Iznenadit ćete se, ali često su to najobičnije kućne mašine. Ko zna?.. - vrlo vjerovatno vaš kućni računar privučeni na stranu zla.

Za ovo je potrebno malo. Napadač pronalazi ranjivost u popularnom operativnom sistemu ili aplikaciji i koristi je da zarazi vaš računar trojancem koji određenog dana i sata daje uputstva vašem računaru da počne da izvršava određene radnje. Na primjer, šaljite zahtjeve na određenu IP adresu. Bez vašeg znanja i učešća, naravno.

Mit broj dva: « DDoS se radi negdje daleko od mene, u posebnom podzemnom bunkeru gdje sjede bradati hakeri crvenih očiju. U stvari, ne znajući, vi, vaši prijatelji i komšije - svako može biti nesvjesni saučesnik.

Ovo se zaista dešava. Čak i ako ne razmišljaš o tome. Čak i ako ste užasno daleko od IT-a (pogotovo ako ste daleko od IT-a!).

Zabavna hakerska ili DDoS mehanika

DDoS fenomen je heterogen. Ovaj koncept kombinuje mnoge opcije za radnje koje vode do jednog rezultata (uskraćivanje usluge). Razmotrite opcije za nevolje koje nam mogu donijeti DDoSeri.

Prekomjerna potrošnja računarskih resursa servera

To se radi slanjem paketa na određenu IP adresu, za čiju obradu je potrebna velika količina resursa. Na primjer, da biste učitali stranicu, morate izvršiti veliki broj SQL upita. Svi napadači će zatražiti ovu konkretnu stranicu, što će uzrokovati preopterećenje servera i uskraćivanje usluge za normalne, legitimne posjetitelje stranice.
Ovo je napad na nivou školaraca koji je nekoliko večeri posvetio čitanju časopisa Hacker. Ona nije problem. Isti traženi URL se izračunava trenutno, nakon čega se pristup njemu blokira na nivou web servera. A ovo je samo jedno od rješenja.

Preopterećenje komunikacijskih kanala do servera (do izlaza)

Nivo težine ovog napada je otprilike isti kao i prethodni. Napadač izračunava najtežu stranicu na sajtu, a botnet pod njegovom kontrolom počinje da je masovno zahteva.


Zamislite da je nama nevidljivi dio Winnie the Pooha beskonačno velik
U ovom slučaju je takođe vrlo lako shvatiti šta tačno začepljuje odlazni kanal i zabraniti pristup ovoj stranici. Zahtjeve istog tipa lako je vidjeti uz pomoć posebnih uslužnih programa koji vam omogućavaju da pogledate mrežno sučelje i analizirate promet. Zatim se za Firewall piše pravilo koje blokira takve zahtjeve. Sve se to radi redovno, automatski i tako munjevito većina korisnika nije ni svjesna bilo kakvog napada.

Mit broj tri: „A Međutim, oni retko često posećuju moj hosting, a ja ih uvek primetim.” U stvari, 99,9% napada ne vidite ili ne osjetite. Ali svakodnevna borba sa njima - ovo je svakodnevni, rutinski posao hosting kompanije. To je naša realnost, u kojoj je napad jeftin, konkurencija je van granica, a ne pokazuju svi čitljivost u metodama borbe za mjesto na suncu.

Preopterećenje komunikacijskih kanala do servera (na ulazu)

Ovo je već zagonetka za one koji čitaju Hacker magazin više od jednog dana.


Fotografija sa web stranice radija "Eho Moskve". Nisu našli ništa ilustrativnije što bi predstavljalo DDoS sa preopterećenjem kanala na ulazu.
Da biste kanal napunili dolaznim saobraćajem do kapaciteta, morate imati botnet, čija snaga vam omogućava da generišete potrebnu količinu saobraćaja. Ali možda postoji način da se malo prometa pokloni, a dobije puno?

Postoji, i ne jedan. Postoji mnogo opcija za pojačanje napada, ali jedna od najpopularnijih trenutno je napad preko javnih DNS servera. Stručnjaci ovu metodu nazivaju pojačanjem DNS pojačanje(u slučaju da neko više voli stručne termine). A ako je jednostavnije, onda zamislite lavinu: dovoljan je mali napor da se poremeti, a neljudski resursi da se zaustavi.

Ti i ja to znamo javni DNS server na zahtjev obavještava svakoga ko želi podatke o bilo kojem nazivu domene. Na primjer, pitamo takav server: recite mi o domeni sprinthost.ru. A on nam bez oklijevanja izbacuje sve što zna.

Upitivanje DNS servera je vrlo jednostavna operacija. Ne košta gotovo ništa kontaktirati ga, zahtjev će biti mikroskopski. Na primjer, ovako:

Ostaje samo odabrati ime domene, informacije o kojima će biti impresivan paket podataka. Tako se originalnih 35 bajtova laganim pokretom ruke pretvara u skoro 3700. Postoji povećanje od više od 10 puta.

Ali kako osigurati da je odgovor usmjeren na ispravnu IP adresu? Kako krivotvoriti izvornu IP adresu zahtjeva tako da DNS server šalje svoje odgovore u pravcu žrtve, koja nije tražila nikakve podatke?

Činjenica je da DNS serveri rade na UDP komunikacioni protokol, kojem uopće nije potrebna potvrda porijekla zahtjeva. Falsifikovanje odlazne IP adrese u ovom slučaju nije velika stvar za dozera. Zato je ova vrsta napada trenutno toliko popularna.

Ono što je najvažnije, vrlo mali botnet je dovoljan za implementaciju takvog napada. I nekoliko različitih javnih DNS-a, koji neće vidjeti ništa čudno u činjenici da različiti korisnici s vremena na vrijeme traže podatke sa adrese jednog hosta. I tek tada će se sav taj promet spojiti u jedan tok i čvrsto zakucati jednu "cijev".

Ono što dozator ne može znati je kapacitet napadačevih kanala. A ako ne izračuna ispravno snagu svog napada i ne blokira odmah kanal do servera za 100%, napad se može brzo i lako odbiti. Korištenje uslužnih programa kao što je TCPdump lako je otkriti da dolazni saobraćaj dolazi sa DNS-a, a na nivou zaštitnog zida zabraniti njegovo prihvatanje. Ova opcija - odbijanje prihvatanja saobraćaja sa DNS-a - povezana je sa određenim neugodnostima za sve, međutim, i serveri i sajtovi na njima će nastaviti da uspešno rade.

Ovo je samo jedna od mnogih opcija za poboljšanje napada. Ima mnogo drugih vrsta napada, o njima ćemo drugi put. U međuvremenu, želio bih rezimirati da sve navedeno vrijedi za napad čija snaga ne prelazi širinu kanala do servera.

Ako je napad jak

Ako snaga napada premašuje kapacitet kanala do servera, događa se sljedeće. Internet kanal je trenutno začepljen na server, zatim na hosting stranicu, na svog Internet provajdera, na upstream provajdera, i tako dalje i gore u rastućem redoslijedu (u budućnosti - do najapsurdnijih granica), sve do snaga napada je dovoljna.

A onda to postaje globalni problem za sve. I ukratko, sa ovim smo se morali pozabaviti 20.11.2013. A kada dođe do velikih preokreta, vrijeme je da uključite posebnu magiju!


Ovako izgleda posebna magija Uz pomoć ove magije moguće je izračunati server na koji se usmjerava saobraćaj i blokirati njegov IP na nivou ISP-a. Tako da prestane da prihvata bilo kakve pozive na ovu IP adresu preko svojih komunikacionih kanala sa spoljnim svetom (uplinks). Za ljubitelje pojmova: stručnjaci nazivaju ovu proceduru "zamračiti", od engleskog blackhole.

Istovremeno, napadnuti server sa 500-1500 naloga ostaje bez svog IP-a. Njemu se dodjeljuje nova podmreža IP adresa, preko koje su računi klijenata nasumično raspoređeni ravnomjerno. Nadalje, stručnjaci čekaju ponavljanje napada. Gotovo uvijek se ponavlja.

A kada se ponovi, na napadnutom IP-u više nema 500-1000 naloga, već desetak-dva.

Krug osumnjičenih se sužava. Ovih 10-20 naloga se ponovo distribuiraju na različite IP adrese. Ponovo, inženjeri čekaju novi napad. Iznova i iznova proširuju naloge koji su ostali pod sumnjom na različite IP adrese i tako, postepenim približavanjem, izračunavaju predmet napada. Svi ostali nalozi se u ovom trenutku vraćaju na normalan rad na istoj IP adresi.

Kao što znate, ovo nije trenutna procedura, potrebno je vrijeme za implementaciju.

Mit broj četiri:“Kada se desi veliki napad, moj hoster nema plan akcije. On samo čeka zatvorenih očiju kraj bombardovanja i odgovara na moja pisma istim tipom odgovora.To nije slučaj: u slučaju napada, hosting provajder djeluje po planu kako bi ga lokalizirao i što prije otklonio posljedice. A ista vrsta pisama vam omogućava da prenesete suštinu onoga što se događa i istovremeno uštedite resurse potrebne za najbržu moguću obradu vanredne situacije..

Ima li svjetla na kraju tunela?

Sada vidimo da je DDoS aktivnost u stalnom porastu. Narediti napad postalo je vrlo pristupačno i ružno jeftino. Da bi se izbjegle optužbe za propagandu, neće biti prooflinkova. Ali vjerujte nam na riječ, tako je.

Mit broj pet: „DDoS napad je veoma skup događaj i samo veliki poslovni ljudi mogu sebi priuštiti da ga naruče. U krajnjem slučaju, to su mahinacije tajnih službi!” Zapravo, ovakvi događaji su postali izuzetno pristupačni.

Stoga nije potrebno očekivati ​​da će zlonamjerna aktivnost nestati sama od sebe. Naprotiv, samo će se intenzivirati. Ostaje samo kovati i oštriti oružje. Ono što mi radimo je poboljšanje mrežne infrastrukture.

Pravna strana pitanja

Ovo je veoma nepopularan aspekt razgovora o DDoS napadima, jer retko čujemo o slučajevima hvatanja i kažnjavanja podstrekača. Međutim, zapamtite: DDoS napad je krivično djelo. U većini zemalja svijeta, uključujući i Rusiju.

Mit broj šest: « Sad znam dovoljno o DDoS-u, naručiću odmor za takmičara - I neću dobiti ništa za to!" Nije isključeno da hoće. A ako i jeste, neće se činiti mnogo.

  • Povijest veza sa DDoS sistemom plaćanja Assist
  • Uzbudljiv rasplet

Općenito, nikome ne savjetujemo da se upušta u opaku praksu DDoS-a, kako ne bi navukao bijes pravde i ne bi savijao vlastitu karmu. A mi, zbog specifičnosti naše djelatnosti i živog istraživačkog interesa, nastavljamo proučavati problem, čuvamo stražu i poboljšavamo odbrambene strukture.

PS:nemamo dovoljno lijepih riječi da izrazimo svu svoju zahvalnost, pa samo kažemo"Hvala ti!" našim strpljivim klijentima koji su nas toplo podržali u teškom danu 20.11.2013. Rekli ste mnogo riječi ohrabrenja u znak podrške našim

Borba protiv DDoS napada nije samo težak, već i uzbudljiv posao. Nije iznenađujuće da svaki sistem administrator prije svega pokušava sam organizirati odbranu - pogotovo jer je to još uvijek moguće.

Odlučili smo vam pomoći u ovom teškom zadatku i objaviti nekoliko kratkih, trivijalnih i neuniverzalnih savjeta za zaštitu vaše stranice od napada. Ovi recepti vam neće pomoći da se nosite sa bilo kakvim napadom, ali će vas spasiti od većine opasnosti.

Pravi sastojci

Surova istina je da mnoge web lokacije može ukinuti bilo ko koristeći Slowloris napad, koji snažno ubija Apache, ili organiziranjem takozvane SYN poplave koristeći farmu virtuelnih servera podignutih za minutu u Amazon EC2 oblaku. Svi naši daljnji savjeti za vlastitu zaštitu od DDoS-a temelje se na sljedećim važnim uvjetima.

1. Oslobodite se Windows Servera

Praksa sugeriše da je sajt koji radi na Windows (2003 ili 2008 - nije važno) osuđen na propast u slučaju DDoS-a. Razlog kvara leži u Windows mrežnom stogu: kada ima puno veza, server će sigurno početi slabo reagirati. Ne znamo zašto Windows Server radi tako loše u takvim situacijama, ali naišli smo na ovo više od jednom ili dvaput. Iz tog razloga, ovaj članak će se fokusirati na sredstva zaštite od DDoS napada u slučaju kada server radi na Linuxu. Ako ste sretni vlasnik relativno modernog kernela (počevši od 2.6), tada će primarni alati biti iptables i ipset uslužni programi (za brzo dodavanje IP adresa), pomoću kojih možete brzo zabraniti botove. Još jedan ključ uspjeha je dobro pripremljen mrežni stek, o čemu ćemo također govoriti u nastavku.

2. Odvojite se od Apachea

Drugi važan uslov je odbacivanje Apache-a. Ako imate Apache, onda barem stavite proxy za keširanje ispred njega - nginx ili lighttpd. Apache "je izuzetno teško odati fajlove, i, što je još gore, u osnovi je (to jest, nepopravljivo) ranjiv na najopasniji Slowloris napad, koji vam omogućava da preplavite server gotovo s mobilnog telefona. Za borbu protiv raznih vrsta Slowloris, korisnici Apachea su prvo smislili zakrpu Anti-slowloris.diff, zatim mod_noloris, pa mod_antiloris, mod_limtipconn, mod_reqtimeout... Ali ako želite dobro spavati noću, lakše je uzeti HTTP server koji je imun na Slowloris na nivou arhitekture koda. Tako da su svi naši dalji recepti zasnovani na pretpostavci da se nginx koristi na frontendu.

Borba protiv DDoS-a

Šta učiniti ako dođe do DDoS-a? Tradicionalna tehnika samoodbrane je čitanje datoteke dnevnika HTTP servera, pisanje grep šablona (koji hvata zahtjeve botova) i zabrana svakoga ko potpada pod njega. Ova tehnika će raditi... ako budete imali sreće. Postoje dvije vrste botneta, oba opasne, ali na različite načine. Jedan u potpunosti dolazi na stranicu trenutno, drugi - postepeno. Prvi ubija sve odjednom, ali cijela stvar se pojavljuje u logovima, a ako ih grepaet i ban sve IP adrese, onda si pobjednik. Drugi botnet nežno i pažljivo postavlja lokaciju, ali ćete verovatno morati da je zabranite na jedan dan. Važno je da svaki administrator shvati: ako planirate da se borite sa grep-om, onda morate biti spremni da posvetite nekoliko dana borbi protiv napada. Slijede savjeti gdje možete staviti slamke unaprijed kako ne bi bilo tako bolno pasti.

3. Koristite modul testcookie

Možda najvažniji, efikasni i operativni recept ovog članka. Ako DDoS dođe na vašu stranicu, modul testcookie-nginx, koji je razvio @kyprizel, može postati najefikasniji način za uzvrat. Ideja je jednostavna. Najčešće su botovi koji implementiraju HTTP flooding prilično glupi i nemaju HTTP kolačiće i mehanizme preusmjeravanja. Ponekad se naiđu i napredniji - mogu koristiti kolačiće i procesirati preusmjeravanja, ali gotovo nikada DoS bot ne nosi punopravni JavaScript motor (iako je to sve češće). Testcookie-nginx djeluje kao brzi filter između botova i backenda tokom L7 DDoS napada, omogućavajući vam da filtrirate neželjene zahtjeve. Šta je uključeno u ove provjere? Da li klijent zna kako da izvede HTTP Redirect, da li podržava JavaScript, da li je to pretraživač za koji tvrdi da je (jer je JavaScript svuda različit i ako klijent kaže da je, recimo, Firefox, onda možemo ovo provjeriti). Provjera se provodi korištenjem kolačića na različite metode:

  • "Set-Cookie" + preusmjeravanje sa 301 HTTP lokacijom;
  • "Set-Cookie" + preusmjeravanje pomoću HTML meta osvježavanja;
  • proizvoljan šablon, a možete koristiti JavaScript.

Da bi se izbjeglo automatsko raščlanjivanje, kolačić za provjeru valjanosti može se šifrirati pomoću AES-128 i kasnije dešifrirati na strani JavaScript klijenta. Nova verzija modula ima mogućnost postavljanja kolačića putem Flash-a, što vam također omogućava učinkovito uklanjanje botova (koje Flash po pravilu ne podržava), ali, međutim, blokira pristup mnogim legitimnim korisnicima (u stvari , svi mobilni uređaji). Važno je napomenuti da je izuzetno lako početi koristiti testcookie-nginx. Programer, posebno, daje nekoliko jasnih primjera upotrebe (za različite slučajeve napada) sa konfiguracijskim uzorcima za nginx.

Pored prednosti, testni kolačići imaju i nedostatke:

  • seče sve botove, uključujući Googlebot. Ako planirate trajno ostaviti testni kolačić, pobrinite se da ne nestanete iz rezultata pretraživanja;
  • stvara probleme korisnicima sa pretraživačima Linkovi, w3m i slično;
  • ne štedi od botova opremljenih punopravnim pretraživačem sa JavaScript-om.

Jednom riječju, testcookie_module nije univerzalan. Ali od brojnih stvari, kao što su, na primjer, primitivni skupovi alata u Javi i C #, pomaže. Tako ste odsjekli dio prijetnje.

4. Šifra 444

DDoSers često ciljaju na dio web stranice sa najzahtjevnijim resursima. Tipičan primjer je pretraga koja izvodi složene upite baze podataka. Naravno, napadači to mogu iskoristiti učitavanjem nekoliko desetina hiljada zahtjeva u pretraživač odjednom. Šta možemo učiniti? Privremeno onemogućite pretragu. Iako kupci neće moći da traže informacije koje su im potrebne pomoću ugrađenih alata, cijela glavna stranica će ostati u funkciji dok ne pronađete korijen svih problema. Nginx podržava nestandardni kod 444, koji vam omogućava da jednostavno zatvorite vezu i ne vratite ništa kao odgovor:

Lokacija/pretraga (povratak 444; )

Tako je moguće, na primjer, brzo implementirati filtriranje po URL-u. Ako ste sigurni da zahtjevi za lokaciju /search dolaze samo od botova (na primjer, vaše povjerenje se zasniva na činjenici da vaša stranica uopće nema odjeljak /search), možete instalirati ipset paket na server i zabrani botove jednostavnom shell skriptom:

Ipset -N zabraniti iphash tail -f pristup.log | dok čita LINE; do echo "$LINE" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -Zabrana "$(L%% *)"; gotovo

Ako je format datoteka evidencije nestandardan (nije kombinovan) ili trebate zabraniti iz drugih razloga osim statusa odgovora, možda ćete morati zamijeniti cut sa regularnim izrazom.

5. Geo-banim

Nestandardni kod odgovora 444 takođe može biti koristan za brzo zabranjivanje klijenata na osnovu geo-reference. Možete ozbiljno ograničiti pojedinačne zemlje u kojima se osjećate neugodno. Na primjer, malo je vjerovatno da online prodavnica fotoaparata iz Rostova na Donu ima mnogo korisnika u Egiptu. Ovo nije baš dobar način (da budem otvoreno rečeno - odvratan), jer su GeoIP podaci netačni, a Rostovci ponekad lete u Egipat na odmor. Ali ako nemate što izgubiti, slijedite upute:

  1. Povežite GeoIP modul na nginx (wiki.nginx.org/HttpGeoipModule).
  2. Prikažite georeferentne informacije u dnevniku pristupa.
  3. Zatim, nakon modifikacije gornje shell skripte, pristupni dnevnik grep nginx i dodajte klijente koji su geografski izbačeni u zabranu.

Ako su, na primjer, botovi uglavnom iz Kine, onda bi ovo moglo pomoći.

6. Neuralna mreža (PoC)

Konačno, možete ponoviti iskustvo korisnika @SaveTheRbtz, koji je uzeo PyBrain neuronsku mrežu, ubacio log u nju i analizirao zahtjeve (habrahabr.ru/post/136237). Metoda radi, iako nije univerzalna :). Ali ako zaista poznajete unutrašnjost svoje stranice – a vi kao sistem administrator trebali biste – onda su velike šanse da će vam u najtragičnijim situacijama pomoći takav alat baziran na neuronskim mrežama, obuci i unaprijed prikupljenim informacijama. U ovom slučaju, vrlo je korisno imati access.log prije početka DDoS-a, jer opisuje gotovo 100% legitimnih klijenata, a samim tim i odličan skup podataka za obuku neuronske mreže. Štaviše, botovi nisu uvijek vidljivi u log.

Dijagnoza problema

Stranica ne radi - zašto? Da li je to DDoSed ili je to greška motora koju programer nije primijetio? Nije bitno. Ne tražite odgovor na ovo pitanje. Ako mislite da bi vaša stranica mogla biti napadnuta, kontaktirajte kompanije koje pružaju zaštitu od napada - brojne anti-DDoS usluge nude besplatne prvi dan nakon povezivanja - i ne gubite više vremena tražeći simptome. Fokusirajte se na problem. Ako sajt radi sporo ili se uopšte ne otvara, onda nešto nije u redu sa njegovim radom i - bez obzira da li postoji DDoS napad ili ne - vi kao profesionalac ste dužni da shvatite šta je uzrok tome. U više navrata smo bili svjedoci kako je kompanija koja je imala poteškoća u radu svoje stranice zbog DDoS napada, umjesto da traži nedostatke u motoru sajta, pokušala je da pošalje prijave Ministarstvu unutrašnjih poslova kako bi pronašla i kaznila napadače. Ne pravite takve greške. Potraga za cyber kriminalcima je težak i dugotrajan proces, kompliciran samom strukturom i principima interneta, a problem sa radom stranice mora se brzo rješavati. Zamolite tehničare da saznaju šta je uzrok pada performansi stranice, a advokati mogu napisati žalbu.

7. Koristite profiler i debuger

Za najčešću platformu za pravljenje web stranica - PHP + MySQL - usko grlo se može pronaći pomoću sljedećih alata:

  • Xdebug profiler će pokazati na koje pozive aplikacija troši najviše vremena;
  • ugrađeni APD program za otklanjanje grešaka i izlaz za otklanjanje grešaka u dnevnik grešaka pomoći će vam da saznate tačno koji kod vrši ove pozive;
  • u većini slučajeva, pas je zatrpan složenošću i težinom upita baze podataka. Ovdje će pomoći objašnjenje SQL direktive ugrađene u mašinu baze podataka.

Ako stranica leži na leđima i ništa ne gubite, isključite se s mreže, pogledajte dnevnike, pokušajte ih reproducirati. Ako nije, onda prođite kroz stranice, pogledajte bazu.

Primjer je za PHP, ali ideja vrijedi za bilo koju platformu. Programer koji piše softverske proizvode na bilo kom programskom jeziku mora biti u stanju da brzo koristi i debuger i profiler. Vežbajte unapred!

8. Analizirajte greške

Analizirajte količinu prometa, vrijeme odgovora servera, broj grešaka. Pogledajte dnevnike za ovo. U nginxu, vrijeme odgovora servera je zabilježeno u dnevniku pomoću dvije varijable: request_time i upstream_response_time. Prvi je ukupno vrijeme izvršenja zahtjeva, uključujući mrežna kašnjenja između korisnika i servera; drugi govori koliko dugo backend (Apache, php_fpm, uwsgi...) izvršava zahtjev. Vrijednost upstream_response_time je izuzetno važna za stranice s puno dinamičkog sadržaja i aktivnom komunikacijom između frontenda i baze podataka i ne treba je zanemariti. Možete koristiti sljedeću konfiguraciju kao format dnevnika:

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";

Ovo je kombinovani format sa dodanim vremenskim poljima.

9. Pratite zahtjeve u sekundi

Također pogledajte broj zahtjeva u sekundi. U slučaju nginxa, ovu vrijednost možete grubo procijeniti sljedećom naredbom ljuske (varijabla ACCESS_LOG sadrži putanju do nginx dnevnika zahtjeva u kombinovanom formatu):

Echo $(($(fgrep -c "$(env LC_ALL=C datum [email protected]$(($(datum \ +%s)-60)) +%d/%b/%Y:%H:%M)" "$ACCESS_LOG")/60))

U poređenju sa normalnim nivoom za ovo doba dana, broj zahtjeva u sekundi može i pasti i rasti. Oni rastu ako dođe veliki botnet, a padaju ako dolazni botnet sruši stranicu, čineći je potpuno nedostupnom legitimnim korisnicima, a u isto vrijeme, botnet ne traži statiku, već legitimni korisnici. Pad broja zahtjeva se uočava upravo zbog statike. Ali, na ovaj ili onaj način, govorimo o ozbiljnim promjenama indikatora. Kada se to dogodi iznenada - dok pokušavate sami riješiti problem i ako ga ne vidite odmah u dnevniku, bolje je brzo provjeriti motor i paralelno kontaktirati stručnjake.

10. Ne zaboravite na tcpdump

Mnogi ljudi zaboravljaju da je tcpdump odličan dijagnostički alat. Navest ću par primjera. U decembru 2011. otkrivena je greška u Linux kernelu kada je otvorio TCP vezu kada su postavljene oznake SYN i RST TCP segmenta. Prvi izvještaj o grešci poslao je sistem administrator iz Rusije, čiji je resurs napadnut ovom metodom - napadači su za ranjivost saznali ranije od cijelog svijeta. Očigledno mu je takva dijagnoza pomogla. Drugi primjer: nginx ima jedno ne baš lijepo svojstvo - upisuje u dnevnik tek nakon što je zahtjev potpuno obrađen. Postoje situacije kada sajt ne radi, ništa ne radi i nema ničega u evidenciji. To je zato što svi zahtjevi koji trenutno učitavaju server još nisu dovršeni. Tcpdump će pomoći i ovdje.

Toliko je dobro da sam savjetovao ljudima da ne koriste binarne protokole dok ne budu sigurni da je sve u redu, jer se tekstualni protokoli lako otklanjaju greškama sa tcpdumpom, ali binarni protokoli nisu. Međutim, njuškalo je dobro kao dijagnostički alat - kao sredstvo za održavanje proizvodnje" i on je zastrašujući. Lako može izgubiti više paketa odjednom i pokvariti vašu korisničku povijest. Zgodno je gledati njegov izlaz, a bit će koristan za ručnu dijagnostiku i zabranu, ali pokušajte ne temeljiti ništa kritično na tome. Još jedan omiljeni alat za "zahtjeve za zagrijavanje" - ngrep - općenito po defaultu pokušava zatražiti oko dva gigabajta nepromjenjive memorije i tek tada počinje da smanjuje svoje zahtjeve.

11. Napad ili ne?

Kako razlikovati DDoS napad, na primjer, od efekta reklamne kampanje? Ovo pitanje može izgledati smiješno, ali ova tema nije ništa manje složena. Ima prilično smiješnih slučajeva. Nekim dobrim momcima, kada su se napeli i potpuno zeznuli keširanje, sajt se razboleo na par dana. Ispostavilo se da su nekoliko mjeseci ovu stranicu neprimjetno minirali neki Nijemci, a prije optimizacije keširanja stranice stranice za ove Nijemce, sa svim slikama, trebalo je dosta vremena da se učitaju. Kada je stranica odmah počela da se izdaje iz keš memorije, bot, koji nije imao vremenska ograničenja, takođe ih je počeo trenutno da prikuplja. Bilo je teško. Slučaj je posebno težak iz razloga što ako ste sami promijenili postavku (uključili keširanje) i nakon toga je stranica prestala da radi, ko je onda, po vašem i šefovom mišljenju, kriv? Upravo. Ako vidite nagli porast broja zahtjeva, pogledajte, na primjer, u Google Analyticsu, ko je došao na koje stranice.

Podešavanje web servera

Koje su druge ključne tačke? Naravno, možete postaviti "podrazumevani" nginx i nadati se da će vam sve biti u redu. Međutim, dobre stvari se ne dešavaju uvijek. Stoga administrator bilo kog servera mora posvetiti puno vremena finom podešavanju i podešavanju nginxa.

12. Ograničite resurse (veličine bafera) u nginxu

Šta prije svega treba zapamtiti? Svaki resurs ima ograničenje. Prije svega, to se tiče RAM-a. Stoga, veličine zaglavlja i svih korištenih bafera trebaju biti ograničene na adekvatne vrijednosti po klijentu i po serveru u cjelini. Moraju biti registrovani u nginx konfiguraciji.

  • client_header_buffer_size_ _ Postavlja veličinu bafera za čitanje zaglavlja zahtjeva klijenta. Ako se string zahtjeva ili polje zaglavlja zahtjeva ne uklapaju u potpunosti u ovaj bafer, tada se dodjeljuju veći međuspremnici, specificirani u direktivi large_client_header_buffers.
  • large_client_header_buffers Određuje maksimalni broj i veličinu bafera za čitanje velikog zaglavlja zahtjeva klijenta.
  • client_body_buffer_size Postavlja veličinu bafera za čitanje tijela zahtjeva klijenta. Ako je tijelo zahtjeva veće od specificiranog bafera, tada se cijelo tijelo zahtjeva ili samo njegov dio upisuje u privremenu datoteku.
  • client_max_body_size Postavlja maksimalnu dozvoljenu veličinu za tijelo zahtjeva klijenta, navedenu u polju Content-Length zaglavlja zahtjeva. Ako je veličina veća od specificirane, tada klijent vraća grešku 413 (Zahtjev entitet je prevelik).

13. Podesite vremenska ograničenja u nginxu

Vrijeme je također resurs. Stoga bi sljedeći važan korak trebao biti postavljanje svih vremenskih ograničenja, što je opet vrlo važno pažljivo registrirati u nginx postavkama.

  • reset_timeout_connection on; Pomaže u rješavanju utičnica zaglavljenih u fazi FIN-WAIT.
  • client_header_timeout Određuje vremensko ograničenje prilikom čitanja zaglavlja zahtjeva klijenta.
  • client_body_timeout Određuje vremensko ograničenje prilikom čitanja tijela klijentskog zahtjeva.
  • keepalive_timeout Postavlja vremensko ograničenje tokom kojeg server neće zatvoriti vezu održavanja u životu sa klijentom. Mnogi se plaše postavljati velike vrijednosti ovdje, ali nismo sigurni da je taj strah opravdan. Opciono možete postaviti vrijednost vremenskog ograničenja u Keep-Alive HTTP zaglavlju, ali Internet Explorer je poznat po tome što ignoriše ovu vrijednost.
  • send_timeout Određuje vremensko ograničenje prilikom slanja odgovora klijentu. Ako klijent ne primi ništa nakon ovog vremena, veza će biti zatvorena.

Odmah se postavlja pitanje: koji su parametri bafera i tajmauta ispravni? Ne postoji univerzalni recept, svaka situacija ima svoje. Ali postoji dokazan pristup. Potrebno je postaviti minimalne vrijednosti na kojima stranica ostaje operativna (u mirnodopskim uvjetima), odnosno vraćaju se stranice i obrađuju zahtjevi. To se utvrđuje samo testiranjem - i sa desktopa i sa mobilnih uređaja. Algoritam za pronalaženje vrijednosti svakog parametra (veličina bafera ili vremensko ograničenje):

  1. Postavljamo matematičku minimalnu vrijednost parametra.
  2. Počinjemo sa testiranjem sajta.
  3. Ako sve funkcionalnosti stranice rade bez problema, parametar je definiran. Ako nije, povećajte vrijednost parametra i idite na korak 2.
  4. Ako je vrijednost parametra premašila čak i zadanu vrijednost, to je razlog za raspravu u razvojnom timu.

U nekim slučajevima, revizija ovih parametara bi trebala dovesti do refaktoriranja / redizajna stranice. Na primjer, ako stranica ne radi bez AJAX dugotrajnih zahtjeva za prozivanjem od tri minute, onda ne morate povećavati vrijeme čekanja, već zamijenite dugo ispitivanje nečim drugim - botnet od 20 hiljada mašina, koji visi na zahtjevima tri minuta, će lako ubiti prosječnog jeftinog servera.

14. Ograničite veze u nginx-u (limit_conn i limit_req)

Nginx također ima mogućnost ograničavanja konekcija, zahtjeva i tako dalje. Ako niste sigurni kako će se ponašati određeni dio vaše stranice, idealno bi bilo da ga testirate, shvatite koliko zahtjeva može podnijeti i to zapisati u svoju nginx konfiguraciju. Jedno je kada sajt ne radi, a vi možete doći i preuzeti ga. A sasvim je druga stvar - kada je zalegao do te mere da je server otišao u swap. U ovom slučaju, često je lakše ponovo pokrenuti sistem nego čekati njegov trijumfalni povratak.

Pretpostavimo da sajt ima sekcije sa upečatljivim imenima /download i /search. Pri tome, mi:

  • ne želimo da botovi (ili ljudi sa previše rekurzivnim menadžerima preuzimanja) popunjavaju našu tabelu TCP veze svojim preuzimanjima;
  • ne želimo da botovi (ili zalutali pretraživači) iscrpe računarske resurse DBMS-a mnogim upitima za pretraživanje.

U ove svrhe će odgovarati sljedeća konfiguracija:

Http ( limit_conn_zone $binary_remote_addr zona=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; server ( lokacija /download/ ( limit_conn download_c 1; # Ostala konfiguracija lokacije ) limit_lokacija /traži zonu/ search_r burst=5; # Druga lokacija konfiguracije ) ) )

Obično ima smisla postaviti ograničenja limit_conn i limit_req za lokacije na kojima se nalaze skripte koje su skupe za izvršavanje (pretraga je naznačena u primjeru, i to nije slučajno). Ograničenja se moraju odabrati na osnovu rezultata testiranja opterećenja i regresije, kao i zdravog razuma.

Obratite pažnju na parametar 10m u primjeru. To znači da će se za izračunavanje ove granice dodijeliti rječnik s baferom od 10 megabajta, a ne megabajt više. U ovoj konfiguraciji, ovo će omogućiti praćenje 320.000 TCP sesija. Da bi se optimizirala upotreba memorije, varijabla $binary_remote_addr se koristi kao ključ u rječniku, koji sadrži IP adresu korisnika u binarnom obliku i zauzima manje memorije nego obična varijabla stringa $remote_addr. Treba napomenuti da drugi parametar limit_req_zone direktive može biti ne samo IP, već i bilo koja druga nginx varijabla dostupna u ovom kontekstu - na primjer, u slučaju kada ne želite da omogućite oproštajniji način za proxy, možete koristiti $binary_remote_addr$http_user_agent ili $binary_remote_addr$http_cookie_myc00kiez - ali takve konstrukcije treba koristiti s oprezom, jer, za razliku od 32-bitnog $binary_remote_addr, ove varijable mogu biti mnogo duže i "10m" može iznenada završiti.

Trendovi u DDoS-u

  1. Snaga napada na mrežni i transportni sloj stalno raste. Potencijal prosječnog SYN flood napada već je dostigao 10 miliona paketa u sekundi.
  2. Napadi na DNS su posebno traženi u posljednje vrijeme. Preplavljivanje UDP-a važećim DNS zahtjevima s lažnim izvornim IP adresama jedan je od najlakših napada za implementaciju i teško ga je suprotstaviti. Mnoge velike ruske kompanije (uključujući hosting kompanije) nedavno su imale probleme kao rezultat napada na njihove DNS servere. Što dalje, to će više takvih napada biti, a njihova moć će rasti.
  3. Sudeći po vanjskim znakovima, većina botneta se ne kontrolira centralno, već putem peer-to-peer mreže. Ovo napadačima daje priliku da sinhronizuju radnje botneta na vreme - ako su ranije kontrolne komande bile distribuirane na botnet od 5.000 mašina u desetinama minuta, sada se računaju sekunde, a vaša stranica može iznenada doživeti stostruko povećanje broja zahtjevi.
  4. Udio botova opremljenih punopravnim pretraživačem sa JavaScriptom je još uvijek mali, ali stalno raste. Takav napad je teže odbiti ugrađenim improviziranim sredstvima, pa bi majstori trebali oprezno promatrati ovaj trend.

priprema OS

Pored finog podešavanja nginxa, potrebno je da vodite računa o postavkama mrežnog steka sistema. U najmanju ruku, odmah uključite net.ipv4.tcp_syncookies u sysctl da biste se odmah zaštitili od malog SYN flood napada.

15. Podesite jezgro

Obratite pažnju na naprednije postavke mrežnog dijela (kernela), opet u smislu vremena čekanja i memorije. Ima važnijih i manje važnih. Prije svega, trebate obratiti pažnju na:

  • net.ipv4.tcp_fin_timeout Vrijeme koje će soket provesti u TCP fazi FIN-WAIT-2 (čekanje na FIN/ACK segment).
  • net.ipv4.tcp_(,r,w)mem Veličina bafera za primanje TCP utičnice. Tri vrijednosti: minimalna, zadana vrijednost i maksimalna.
  • net.core.(r,w)mem_max Isto za ne-TCP bafere.

Sa vezom od 100 Mbps, zadane vrijednosti su i dalje nekako prikladne; ali ako imate na raspolaganju barem gigabita u sekundi, onda je bolje koristiti nešto poput:

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

16. Revizija /proc/sys/net/**

Idealno je proučavati sve parametre /proc/sys/net/**. Moramo vidjeti kako se razlikuju od zadanih i razumjeti koliko su adekvatno izloženi. Linux programer (ili sistem administrator) koji razumije rad internet servisa pod svojom kontrolom i želi ga optimizirati trebao bi sa zanimanjem pročitati dokumentaciju svih parametara mrežnog steka kernela. Možda će tamo pronaći varijable specifične za njegovu stranicu koje će pomoći ne samo u zaštiti stranice od uljeza, već i ubrzati njen rad.

Ne boj se!

Uspješni DDoS napadi iz dana u dan gase e-trgovinu, drmaju medije, jednim udarcem uništavaju najveće platne sisteme. Milioni korisnika interneta gube pristup kritičnim informacijama. Prijetnja je hitna, tako da je morate dočekati potpuno naoružani. Uradite domaći, ne plašite se i hladite glavu. Niste ni prvi ni zadnji koji se suočio sa DDoS napadom na svoju stranicu, a na vama je da, vođeni svojim znanjem i zdravim razumom, minimizirate posljedice napada.

Mnogo pričamo o napadima na sajt, hakovanju, ali nismo spomenuli temu DDOS-a. Danas ispravljamo ovu situaciju i nudimo vam kompletan pregled tehnologija za organizovanje DDoS napada i dobro poznatih alata za izvođenje hakerskih napada.


Možete pogledati listu dostupnih alata za DDOS napade u KALI tako što ćete pokrenuti naredbu:

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


Ova komanda prikazuje bazu podataka eksploatacija za napad na Windows sisteme.

Da vidite dostupne Linux alate za DDoS napade, unesite naredbu:

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

2.LOIC

Jonski top niske orbite (LOIC) Možda najpopularniji DDOS program. Može slati grupne zahtjeve putem ICMP, UDP protokola, čime blokira kanal do servera žrtve. Najozloglašeniji LOIC napad izveo je Anonymous 2009. na PayPal, Visa, MasterCard u znak odmazde što je WikiLeaks odsječen od sistema prikupljanja sredstava.

Napadi organizirani korištenjem LOIC-a mogu se iskoristiti blokiranjem UDP i ICMP paketa na mrežnoj opremi internet provajdera. Sam LOIC program možete besplatno preuzeti na web stranici. Ovaj Windows baziran alat je vrlo jednostavan za korištenje, samo pokažite na web stranice žrtve i pritisnite samo jedno dugme.

2.HOIC

HOIC je razvijen kao dio Operation Payback od strane Praetoxa od strane istog tima koji je kreirao LOIC. Ključna razlika je u tome što HOIC koristi HTTP protokol i koristi ga za slanje niza nasumičnih HTTP GET i POST zahtjeva. U stanju je istovremeno napadati 256 domena. Možete ga preuzeti sa .


3.XOIC

XOIC je još jedan vrlo jednostavan DDOS alat. Korisnik samo treba da podesi IP adresu žrtve, odabere protokol (HTTP, UDP, ICMP ili TCP) i povuče okidač! Možete ga preuzeti sa

5. HULK

6.UDP Flooder

UDP Flooder opravdava svoje ime - alat dizajniran za slanje više UDP paketa do cilja. UDP Flooder se često koristi u DDOS napadima na servere igara kako bi se isključili igrači sa servera. Program je dostupan za preuzimanje na .

7. RUDY

8. ToR's Hammer

ToR's Hammer je dizajniran za rad mreže, kako bi se postigla veća anonimnost napadača. Problem s ovim alatom je što je TOR mreža prilično spora i samim tim smanjuje učinkovitost DDoS napada. Ovaj DDOS program možete preuzeti sa Packet Storm ili .

9. Pyloris

Pyloris je još jedan DDoS alat koji ima novi pristup. Omogućava napadaču da kreira svoj jedinstveni HTTP zahtjev. Program će tada pokušati zadržati TCP vezu otvorenom sa takvim zahtjevima, smanjujući na taj način broj dostupnih veza na serveru. Kada se dostigne ograničenje veze na serveru, server više ne može opsluživati ​​veze i stranica postaje nedostupna. Ovaj alat je dostupan za besplatno preuzimanje sa web stranice.

10.OWASP Switchblade

Open Web Application Security Project (OWASP) i ProactiveRISK su razvili alat Switchblade DoS alat za testiranje WEB aplikacija na otpornost na DDoS napade.Ima tri načina rada: 1. SSL Half-Open, 2. HTTP Post i 3. Slowloris. Možete ga preuzeti za pregled sa OWASP web stranice.

11.DAVOSET

12. GoldenEye HTTP DoS alat

13.THC-SSL-DOS

Ovaj DDOS alat (uključen uz Kali) razlikuje se od većine DDOS alata po tome što ne koristi internet propusni opseg i može se koristiti sa jednog računara. THC-SSL-DOS iskorišćava ranjivost SSL protokola i u stanju je da "ugasi" ciljni server. Osim ako, naravno, na njemu ne postoji ova ranjivost. Program možete preuzeti sa THC web stranice ili koristiti KALI Linux gdje je ovaj alat već instaliran.

14. DDOSIM - Layer 7 DDoS emulator

Tu se naša recenzija završava, ali ćemo se u budućnosti vratiti temi DDoS napada na stranicama našeg bloga.

DDoS napad (Distributed Denial of Service napad) je skup radnji koje mogu potpuno ili djelomično onemogućiti internetski resurs. Gotovo svaki Internet resurs može djelovati kao žrtva, kao što je web stranica, server za igre ili državni resurs. Trenutno je praktično nemoguće da haker sam organizuje DDoS napad. U većini slučajeva, napadač koristi mrežu računara zaraženih virusom. Virus vam omogućava da dobijete neophodan i dovoljan daljinski pristup zaraženom računaru. Mreža takvih računara naziva se botnet. Botneti po pravilu imaju koordinirajući server. Odlučujući da sprovede napad, napadač šalje komandu serveru za koordinaciju, koji zauzvrat daje signal svima da počnu da izvršavaju zlonamerne mrežne zahteve.

Razlozi za DDoS napade

  • Lični animozitet

Ovaj razlog je prilično čest. Prije nekog vremena nezavisni istraživački novinar Brian Krebs otkrio je aktivnosti najvećeg servisa za prilagođene DDoS napade - vDOS. Informacija je iznesena do svih detalja, što je izazvalo hapšenje organizatora ovog servisa. Kao odgovor, hakeri su organizovali napad na blog novinara, čija je snaga dostigla 1 Tbps. Ovaj napad je postao najsnažniji na svijetu svih godina.

  • Zabava

Danas je sve lakše samostalno organizirati primitivni DDoS napad. Takav napad bi bio krajnje nesavršen i ne anoniman. Nažalost, većina onih koji odluče da se osjećaju kao "haker" nisu svjesni ni prvog ni drugog. Međutim, mnogi studenti često praktikuju DDoS napade. Ishod takvih slučajeva je veoma raznolik.

  • Politički protest (haktivizam)

Jedan od prvih društvenih napada bio je DDoS napad koji je 1996. implementirao haker Omega. Omega je bio član hakerske koalicije Cult of the Dead Crew (cDc). Termin haktivizam postao je popularan u medijima zbog sve učestalosti sajber napada koji imaju društvenu osnovu. Tipični predstavnici haktivista su Anonymous i LulzSec.

  • Nelojalna konkurencija

Takvi motivi se često javljaju u industriji servera za igre, ali u maloprodajnoj industriji takvi su slučajevi prilično česti. Prilično efikasan način nelojalne konkurencije koji može uništiti reputaciju trgovačke platforme ako se njeni vlasnici na vrijeme ne obrate stručnjacima za pomoć. Takav motiv se može izdvojiti od ostalih kao najčešći.

  • Iznuda ili ucjena

U ovom slučaju, napadač od potencijalne žrtve traži novčanu sumu zbog neizvršenja napada. Ili da ga zaustavim. Velike organizacije često postaju žrtve ovakvih napada, na primjer, tokom 2014. godine napadnuti su Tinkoff banka i IT resurs Habrahabr, najveći torrent tracker Rutracker.org (kako je bilo?).

Posljedice DDoS napada

Posljedice DDoS napada mogu biti vrlo različite, od gašenja vašeg servera od strane centra podataka do potpunog gubitka reputacije resursa i protoka klijenata. Mnoge organizacije nesvjesno biraju beskrupulozne provajdere sigurnosti kako bi uštedjeli novac, što često ne donosi nikakvu korist. Kako biste izbjegli takve probleme, preporučujemo da kontaktirate profesionalce u svojoj branši.

Napadi koji su ušli u istoriju Interneta

Tehnološki napredak napreduje velikom brzinom, a napadači se zauzvrat trude da ne miruju i implementiraju sve složenije i moćnije napade. Sastavili smo kratak opis najzanimljivijih slučajeva koji su ušli u istoriju DDoS napada. Neki od njih možda izgledaju obični po današnjim standardima, ali u vrijeme kada su se dogodili, radilo se o napadima vrlo velikih razmjera.

Ping of Dead. Metoda napada zasnovana na upotrebi komande ping. Ovaj napad je stekao popularnost 1990-ih zbog nesavršenosti mrežne opreme. Suština napada je slanje jednog ping zahtjeva mrežnom hostu, dok tijelo paketa ne uključuje standardna 64 bajta podataka, već 65535 bajtova. Po prijemu takvog paketa, oprema je preplavila mrežni stog i to je izazvalo uskraćivanje usluge.

Napad koji je uticao na stabilnost interneta. Spamhaus je 2013. godine bio žrtva napada od 280Gbps. Najzanimljivije je da su za napad hakeri koristili DNS servere sa interneta, koji su zauzvrat bili veoma opterećeni velikim brojem zahteva. Tog dana milioni korisnika su se žalili na sporo učitavanje stranica zbog zagušenja usluga.

Napad koji obara rekord sa prometom preko 1 Tbps. U 2016, hakeri su pokušali da nas napadnu rafalnim napadom pri 360 Mpps i 1 Tbps. Ova brojka je postala rekord za postojanje interneta. Ali čak i pod takvim napadom, odoljeli smo i opterećenje mreže je samo malo ograničilo slobodne resurse mrežne opreme.

Karakteristike današnjih napada

Ne računajući vršne napade, možemo reći da snaga napada svake godine raste za više od 3-4 puta. Geografija napadača se iz godine u godinu mijenja samo djelimično, jer je to zbog maksimalnog broja računara u određenoj zemlji. Kao što se vidi iz kvartalnog izvještaja za 2016. koji su izradili naši stručnjaci, Rusija, SAD i Kina su zemlje rekorderi po broju botova.

Šta su DDoS napadi?

Trenutno se vrste napada mogu podijeliti u 3 klase:

    Napadi poplave kanala

Ova vrsta napada uključuje , i ;

    Napadi koji iskorištavaju ranjivosti u stogu mrežnih protokola

Najpopularniji i najzanimljiviji napadi ovog tipa su , / napad,

Zašto odabrati nas? Naša oprema se nalazi u ključnim svjetskim podatkovnim centrima i sposobna je odbiti napade do 300 Gbps ili 360 miliona paketa u sekundi. Također imamo mrežu za isporuku sadržaja () i dežurno osoblje inženjera u slučaju nestandardnog napada ili vanrednih situacija. Stoga, kada ste došli pod našu zaštitu, možete biti sigurni da je vaš resurs dostupan 24/7. Vjeruju nam: REG.RU, Argumenti i činjenice, WebMoney, ruski radio holding GPM i druge korporacije.

Samo od malog broja napada možete sami implementirati zaštitu, koristeći analizu saobraćaja ili postavljanje pravila rutiranja. Dati su načini zaštite od nekih napada.

mob_info