Šta je ddos ​​napad. DDoS napad: kako to učiniti? Programi za DDoS napade

Ako pročitate naš vodič i implementirate sve opisane tehnologije - zaštitite svoje računalo od hakerskih prijetnji! Nemojte to zanemariti!

U oblasti informacione sigurnosti, ddos ​​napadi zauzimaju jedno od vodećih mjesta u rangiranju elektronskih prijetnji. Ali većina korisnika ima vrlo ograničeno znanje o ovoj temi. Sada ćemo pokušati da pokrijemo ovu temu na što detaljniji i najpristupačniji način, kako biste mogli zamisliti šta ova vrsta elektronske prijetnje znači, kako se provodi i, shodno tome, kako se efikasno nositi s njom. Zato se upoznajte - DDOS napad.

Terminologija

Da bismo govorili istim jezikom, moramo uvesti pojmove i njihove definicije.

Dos napad je napad uskraćivanja usluge. Otuda engleska skraćenica dos - uskraćivanje usluge. Jedan od podtipova je distribuirani napad, koji se izvodi istovremeno sa nekoliko, i po pravilu, sa velikog broja domaćina. Ovim opcijama ćemo posvetiti glavni dio rasprave, jer ddos ​​napad nosi destruktivnije posljedice, a značajna razlika je samo u broju hostova koji se koriste za napad.

Da vam olakšam razumijevanje. Takve radnje imaju za cilj privremeno zaustavljanje rada bilo koje usluge. Ovo može biti zasebna stranica na mreži, veliki Internet ili mobilni provajder, kao i zasebna usluga (prihvatanje plastičnih kartica). Da bi napad uspio i donio destruktivne akcije, mora se izvesti iz velikog broja tačaka (o ovoj točki ćemo detaljnije govoriti kasnije). Otuda i "distribuirani napad". Ali suština ostaje ista - prekinuti rad određenog sistema.

Da biste upotpunili sliku, morate razumjeti ko i u koju svrhu provodi takve akcije.

Napadi uskraćivanja usluge, kao i drugi kompjuterski zločini, kažnjivi su zakonom. Stoga je materijal predstavljen samo u informativne svrhe. Izvode ih IT stručnjaci, ljudi koji su dobro upućeni u teme "računara" i "računarskih mreža", ili, kako je postalo moderno reći, hakeri. U osnovi, ovaj događaj ima za cilj stjecanje profita, jer, u pravilu, ddos ​​napade naručuju beskrupulozni konkurenti. Ovdje bi bilo prikladno dati mali primjer.

Pretpostavimo da postoje dva velika internet provajdera na tržištu usluga malog grada. A jedan od njih želi da izbaci konkurenta. Naručuju distribuirani dos napad na server konkurenta od hakera. A drugi provajder, zbog preopterećenosti svoje mreže, više nije u mogućnosti da svojim korisnicima omogući pristup Internetu. Kao rezultat - gubitak kupaca i ugleda. Hakeri dobijaju svoju nagradu, beskrupulozni provajder - nove kupce.

Ali ima slučajeva kada "ddo" samo iz zabave, ili da usavrše svoje vještine.

Distribuirani DDoS napad

Hajde da se odmah dogovorimo - analiziraćemo kompjuterske napade. Dakle, ako je riječ o nekoliko uređaja sa kojih se vrši napad, to će biti računari sa ilegalnim softverom.

I ovdje je prikladno napraviti malu digresiju.. Zapravo, da biste zaustavili rad bilo koje usluge ili usluge, morate premašiti maksimalno dozvoljeno opterećenje za nju. Najjednostavniji primjer je pristup web stranici. Na ovaj ili onaj način, dizajniran je za određenu vršnu posjećenost. Ako u određenom trenutku deset puta više ljudi posjeti stranicu, tada, shodno tome, server neće moći obraditi toliku količinu informacija i prestat će raditi. A veze u ovom trenutku će se vršiti sa velikog broja računara. To će biti isti čvorovi o kojima smo gore govorili.

Pogledajmo kako to izgleda na dijagramu ispod:

Kao što vidite, haker je preuzeo kontrolu nad velikim brojem korisničkih računara i na njih instalirao svoj špijunski softver. Zahvaljujući njemu sada može izvršiti potrebne radnje. U našem slučaju - da izvršimo ddos ​​napad.

Dakle, ako ne poštujete sigurnosna pravila pri radu za računarom, možete biti izloženi virusnoj infekciji. A možda će se vaš računar koristiti kao host za zlonamjerne aktivnosti.

Trebaće ti: u članku smo opisali neke aspekte sigurnosti.

Ali kako će se koristiti ovisi o tome koju opciju odabere napadač

Klasifikacija ddos ​​napada

Napadači mogu pokušati sljedeće vrste napada:

  1. Zagušenje propusnog opsega. Da bi računari povezani na mrežu mogli normalno komunicirati, komunikacioni kanal preko kojeg su povezani mora normalno raditi i osigurati dovoljno parametara za određene zadatke (na primjer, propusni opseg). Ova vrsta napada je posebno usmjerena na preopterećenje mrežnih komunikacijskih kanala. Ovo se postiže stalnim slanjem nekoherentnih ili sistemskih informacija (ping naredba)
  2. Ograničenje resursa. Ovu vrstu smo već razmotrili gore, u primjeru s pristupom web stranici. Kao što smo napomenuli - server je mogao da obradi ograničen broj istovremenih konekcija. Napadač mora usmjeriti veliki broj istovremenih veza na server. Kao rezultat toga, server se neće nositi s opterećenjem i prestat će raditi.
  3. Napad na DNS servere. U ovom slučaju, DDOS napad je također dizajniran da zaustavi pristup web stranici. Druga opcija je preusmjeravanje korisnika sa ispravnog sajta na lažni. Ovo se može učiniti u cilju krađe ličnih podataka. To se postiže napadom na DNS servere i zamjenom ip adresa lažnim. Hajde da to istražimo na primjeru. Određena banka koristi svoju web stranicu za plaćanje putem interneta. Korisnik treba da ode do njega i unese detalje svoje plastične kartice. Napadač, da bi ukrao ove informacije, kreira sajt istog tipa i napada DNS servere (name servere). Svrha ovog događaja je da preusmjeri korisnika na web stranicu napadača kada pokuša pristupiti web stranici banke. Ako to uspije, korisnik će, nesvjestan prijetnje, unijeti svoje lične podatke na web stranicu napadača, te će im dobiti pristup
  4. Softverske greške. Najteži je ovaj tip napada. Zlonamjernici otkrivaju nedostatke u softveru i koriste ih u svrhu uništenja sistema. Da biste naručili takav ddos ​​napad, morat ćete potrošiti mnogo novca

Kako izvesti DDOS napad vlastitim rukama

Kao primjer, odlučili smo vam pokazati kako možete izvršiti DDOS napad koristeći poseban softver.

Za početak preuzmite program ovdje. Nakon toga, pokrenite ga. Trebali biste vidjeti početni prozor:

Morate napraviti minimalne postavke:

  1. U kolonu "URL" upisujemo adresu stranice koju želimo da napadnemo
  2. Zatim pritisnite dugme "Zaključaj" - vidjet ćemo ciljni resurs
  3. Stavili smo TCP metodu
  4. Odaberite broj niti (Threads)
  5. Podesite brzinu učitavanja pomoću klizača
  6. Kada su sva podešavanja završena, pritisnite dugme "IMMA CHARGIN MAH LAZER".

Sve - počeo je napad. Još jednom, sve akcije su predstavljene u informativne svrhe.

Kako se zaštititi od DDOS napada

Verovatno ste već shvatili da je ova vrsta pretnje veoma opasna. Zbog toga je veoma važno poznavati metode i principe suzbijanja i prevencije distribuiranih napada.

  1. Postavljanje sistema filtriranja je zadatak za sistem administratore i hosting provajdere
  2. Nabavka sistema zaštite od DDOS napada (softverski i hardverski sistemi)
  3. Upotreba zaštitnog zida i lista kontrole pristupa (ACL) - ova mjera ima za cilj filtriranje sumnjivog prometa
  4. Povećanje raspoloživih resursa i instaliranje redundantnih sistema
  5. Odgovoriti tehničkim i pravnim mjerama. Sve do privođenja počinioca pravdi

Video za članak:

Zaključak

Sada verovatno shvatate opasnost od DDOS napada. Pitanjima osiguravanja sigurnosti vaših resursa treba pristupiti vrlo odgovorno, ne štedeći vrijeme, trud i novac. Još bolje, imate posebnog stručnjaka ili cijeli odjel za sigurnost informacija.

Redovni čitaoci vrlo često postavljaju pitanje kako možete urediti tekst ako fajl ima PDF format. Odgovor možete pronaći u materijalu -

Da biste zaštitili svoje podatke, možete koristiti čitav niz mjera. Jedna od ovih opcija je

Ako trebate da montirate svoj video na mreži, za vas smo pripremili pregled najpopularnijih.

Zašto tražiti informacije na drugim stranicama, ako sve prikupljamo od nas?

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 ukloniti bilo tko koristeći Slowloris napad, koji 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 "izuzetno je teško dati datoteke, i, što je još gore, on je u osnovi (to jest, nepopravljivo) ranjiv na najopasniji Slowloris napad, koji vam omogućava da popunite server gotovo iz mobilni telefon. Za borbu protiv raznih vrsta Slowloris-a, korisnici Apachea su prvo smislili zakrpu Anti-slowloris.diff, zatim mod_noloris, pa mod_antiloris, mod_limtipconn, mod_reqtimeout... Ali ako želite spavati noću, lakše je uzeti HTTP server koji je neranjiv na Slowloris na nivou arhitekture koda. Stoga su svi naši daljnji 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 sa koristeći HTML meta refresh;
  • 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. IN nova verzija modula, postalo je moguće postaviti kolačić putem Flash-a, koji 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 mobilnih uređaja). Važno je napomenuti da je izuzetno lako početi koristiti testcookie-nginx. Programer, posebno, citira nekoliko razumljivi primjeri koristite (za različite slučajeve napada) sa konfiguracionim 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. Neuronska 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 web 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 komplikovana. 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 memorija. 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 botove (ili lutalice tražilice) su iscrpili računarske resurse DBMS-a sa 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" sysctipv36p56p56p56 838860 8" sysctl - 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 posljednji 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.

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 (

DDOS napad. Objašnjenje i primjer.

Zdravo svima. Ovo je blog Computer76, a sada još jedan članak o osnovama hakerske umjetnosti. Danas ćemo govoriti o tome šta je DDOS napad jednostavnim riječima i primjerima. Prije nego što pređemo na tehničke termine, bit će uvod koji će svi razumjeti.

Zašto se koristi DDOS napad?

WiFi hakovanje se koristi za prikupljanje lozinke bežične mreže. Napadi u obliku “ ” će vam omogućiti da slušate internet saobraćaj. Analiza ranjivosti sa naknadnim učitavanjem određene omogućava hvatanje ciljnog računara. Šta radi DDOS napad? Konačno, njegov cilj je da preuzme vlasništvo nad resursom od njegovog zakonitog vlasnika. Ne mislim da stranica ili blog neće pripadati vama. To je u smislu da u slučaju uspješnog napada na Vašu stranicu, Vi izgubiti kontrolu nad tim. Bar na neko vrijeme.

Međutim, u modernom tumačenju DDOS-a, napad se najčešće koristi za ometanje normalnog rada bilo koje usluge. Hakerske grupe, čija se imena stalno čuju, napadaju velike vladine ili vladine stranice kako bi skrenule pažnju na određene probleme. Ali gotovo uvijek iza takvih napada stoji čisto merkantilni interes: rad konkurenata ili obične šale s potpuno nepristojno nezaštićenim stranicama. Osnovni koncept DDOS-a je da veliki broj korisnika, odnosno zahtjeva sa bot računara, istovremeno pristupa stranici, što čini opterećenje servera nepodnošljivim. Često čujemo izraz „sajt nije dostupan“, ali malo ko razmišlja o tome šta se zapravo krije iza ove formulacije. Pa, sad znaš.

DDOS napad - opcije

Opcija 1.

gužva igrača na ulazu

Zamislite da igrate online igricu za više igrača. Hiljade igrača igra sa vama. I vama je većina njih poznata. Dogovarate detalje i radite sljedeće u sat X. Svi idete na stranicu u isto vrijeme i kreirate lik sa istim skupom karakteristika. Grupirajte na jednom mjestu, blokirajući pristup objektima u igri prema broju istovremeno kreiranih likova za druge savjesne korisnike koji ne sumnjaju ništa o vašem dosluhu.

Opcija 2.


Zamislite da neko odluči da poremeti autobuski saobraćaj u gradu na određenoj trasi kako bi spriječio savjesne putnike da koriste usluge javnog prevoza. Hiljade vaših prijatelja istovremeno se zaustavljaju na početku navedene rute i besciljno se voze u svim automobilima od kraja do kraja dok novac ne ponestane. Putovanje se plaća, ali niko ne silazi ni na jednoj stanici osim na krajnjim odredištima. A drugi putnici, koji stoje na međustajalištima, tužno gledaju u minibuseve koji se udaljavaju, nesposobni da se probiju u prepune autobuse. Sve je u izgaranju: i vlasnici taksija i potencijalni putnici.

U stvarnosti, ove opcije se ne mogu fizički implementirati. Međutim, u virtuelnom svijetu vaše prijatelje mogu zamijeniti računari beskrupuloznih korisnika koji se ne trude da nekako zaštite svoj računar ili laptop. I velika većina jeste. Postoji mnogo programa za izvođenje DDOS napada. Nepotrebno je reći da su takve radnje nezakonite. I smiješno pripremljen DDOS napad, ma koliko uspješan bio, biva otkriven i kažnjen.

Kako se izvodi DDOS napad?

Klikom na link na web stranicu, vaš pretraživač šalje zahtjev serveru da prikaže stranicu koju tražite. Ovaj zahtjev je izražen kao paket podataka. I to ne jedan, već čitav paket paketa! U svakom slučaju, količina podataka koji se prenose po kanalu uvijek je ograničena na određenu širinu. A količina podataka koje vraća server je neproporcionalno veća od onoga što je sadržano u vašem zahtjevu. Za to su potrebni napori i resursi servera. Što je server jači, to je skuplji za vlasnika i skuplje usluge koje pruža. Moderni serveri mogu lako da se nose sa naglo povećanim prilivom posetilaca. Ali za bilo koji od servera i dalje postoji kritična vrijednost korisnika koji žele da se upoznaju sa sadržajem stranice. Što je jasnija situacija sa serverom koji pruža usluge hostinga web stranica. Samo malo, i lokacija žrtve je isključena iz servisa, kako ne bi preopteretili procesore koji opslužuju hiljade drugih lokacija koje se nalaze na istom hostingu. Rad stranice prestaje do trenutka kada prestane sam DDOS napad. Pa, zamislite da počnete da ponovo učitavate bilo koju stranicu sajta hiljadu puta u sekundi (DOS). I hiljade vaših prijatelja rade istu stvar na svojim računarima (distribuirani DOS ili DDOS)... Veliki serveri su naučili da prepoznaju da je DDOS napad počeo i da mu se suprotstave. Međutim, hakeri također poboljšavaju svoje pristupe. Dakle, u okviru ovog članka, ne mogu detaljnije objasniti šta je DDOS napad.

Šta je DDOS napad možete saznati i isprobati odmah.

PAŽNJA. Ako odlučite da pokušate, svi nesačuvani podaci će biti izgubljeni, biće vam potrebno dugme da vratite računar u radno stanje. RESETOVATI. Ali moći ćete da saznate šta tačno „osjeća” server koji je napadnut. Detaljan primjer je pasus ispod, a sada - jednostavne naredbe za ponovno pokretanje sistema.

  • Za Linux, u terminalu upišite naredbu:
:(){ :|:& };:

Sistem će odbiti da radi.

  • Za Windows, predlažem da napravite bat datoteku u Notepadu sa kodom:
:1 Počni idi na 1

Imenujte tip DDOS.bat

Objašnjavati značenje obje naredbe, mislim, nije vrijedno toga. Sve je vidljivo golim okom. Obje naredbe prisiljavaju sistem da izvrši skriptu i odmah je ponovi, šaljući je na početak skripte. S obzirom na brzinu izvršavanja, sistem pada u stupor nakon nekoliko sekundi. Igra, kako kažu, gotovo.

DDOS napad pomoću softvera.

Za vizualniji primjer, koristite program Low Orbit Ion Cannon (jonski top iz niske orbite). Or LOIC. Najviše preuzimana distribucija nalazi se na (radimo na Windows-u):

https://sourceforge.net/projects/loic/

PAŽNJA! Vaš antivirus bi trebao reagirati na datoteku kao zlonamjernu. U redu je: već znate šta preuzimate. U bazi potpisa označen je kao generator poplava - prevedeno na ruski, ovo je krajnji cilj beskonačnih poziva na određenu mrežnu adresu. JA LIČNO nisam primijetio nikakve viruse ili trojance. Ali imate pravo oklijevati i odgoditi preuzimanje.

Pošto neoprezni korisnici bombarduju resurs porukama o zlonamernom fajlu, Source Forge će vas odvesti na sledeću stranicu sa direktnom vezom do datoteke:

Kao rezultat toga, uspio sam preuzeti uslužni program samo putem .

Prozor programa izgleda ovako:

Tačka 1 Odabir cilja omogućit će napadaču da se fokusira na određenu metu (unesena je IP adresa ili URL stranice), tačka 3 Opcije napadaće vam omogućiti da odaberete napadnuti port, protokol ( metoda) od tri TCP, UDP i HTTP. U polje TCP/UDP poruke možete unijeti poruku za žrtvu. Nakon završetka, napad počinje pritiskom na dugme IMMA CHARGIN MAH LAZER(ovo je fraza na ivici faula od nekada popularnog comicmeme; Inače, u programu ima dosta američkih psovki). Sve.

UPOZORENJE

Ova opcija je za testiranje samo za localhost. Zbog toga:

  • protiv tuđih sajtova je nelegalno, a za ovo već stvarno sede na zapadu (što znači da će uskoro biti i ovde posađeni)
  • adresa sa koje dolazi poplava brzo će se izračunati, žaliti će se provajderu, a on će vas upozoriti i podsjetiti na prvu tačku
  • u mrežama s kanalom male propusnosti (odnosno u svim kućnim mrežama) mala stvar neće raditi. Sa TOR mrežom je sve isto.
  • ako ga pravilno postavite, brzo ćete začepiti SVOJ kanal komunikacije nego naškoditi nekome. Dakle, ovo je upravo opcija kada kruška pobijedi boksera, a ne obrnuto. A opcija sa proxyjem će slijediti isti princip: nikome se neće svidjeti poplava s vaše strane.

Pročitano: 9 326

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 operativni sistem ili aplikaciju i uz njenu pomoć inficira vaš računar trojancem koji određenog dana i sata nalaže 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 razbije, 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 računi u ovom trenutku se vraćaju na normalan rad na istom IP-u.

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.

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

mob_info