Co je to DDoS útok – jeho podstata a původ. DDoS útok: jak na to? Programy pro DDoS útoky Co je potřeba pro DDoS útok

Mluvíme hodně o útocích na stránky, hackování, ale nezmínili jsme téma DDOS. Dnes tuto situaci napravujeme a nabízíme vám úplná recenze technologie pro organizaci DDOS útoků a známé nástroje pro provádění hackerských útoků.


Seznam dostupných nástrojů pro útoky DDOS v KALI můžete zobrazit spuštěním příkazu:

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


Tento příkaz zobrazí databázi exploitů pro útok na systémy Windows.

Chcete-li zobrazit dostupné nástroje pro útoky DDOS systému Linux, zadejte příkaz:

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

2.LOIC

Iontové dělo na nízké oběžné dráze (LOIC) Nízkoorbitální iontové dělo. Snad nejpopulárnější DDOS program. Může odesílat hromadné požadavky prostřednictvím protokolů ICMP a UDP, čímž ucpe kanál na server oběti. Nejznámější útok LOIC provedl Anonymous v roce 2009 a byl namířen proti PayPal, Visa, MasterCard jako odveta za to, že WikiLeaks byly odříznuty od systému sběru darů.

Útoky organizované pomocí LOIC lze zneužít blokováním paketů UDP a ICMP na síťových zařízeních poskytovatelů internetu. Samotný program LOIC si můžete zdarma stáhnout na webu. Tento nástroj je zapnutý Na bázi Windows a práce s ním je velmi jednoduchá, určíte stránky oběti a stisknete jediné tlačítko.

2.HOIC

HOIC byl vyvinut během operace Payback by Praetox stejným týmem, který vytvořil LOIC. Klíčový rozdíl spočívá v tom, že HOIC používá protokol HTTP a používá jej k odesílání toku náhodných požadavků HTTP GET a POST. Je schopen současně zaútočit na 256 domén. Můžete si jej stáhnout z .


3.XOIC

XOIC je další velmi jednoduchý nástroj DDOS. Uživatel jednoduše musí nastavit IP adresu oběti, vybrat protokol (HTTP, UDP, ICMP nebo TCP) a stisknout spoušť! Můžete si jej stáhnout z

5. HULK

6. UDP Flooder

UDP Flooder dělá čest svému jménu - nástroj je navržen tak, aby posílal více paketů UDP do cíle. UDP Flooder se často používá při DDOS útocích na herní servery k odpojení hráčů od serveru. Program je k dispozici ke stažení na.

7. RUDY

8. ToR's Hammer

ToR's Hammer byl vytvořen, aby fungoval napříč sítě, za účelem dosažení větší anonymity útočníka. Problém s tímto nástrojem je, že síť TOR je poměrně pomalá, a tím snižuje efektivitu DDOS útoku. Tento DDOS program si můžete stáhnout z Packet Storm nebo .

9. Pyloris

Pyloris je další DDoS nástroj, který využívá nový přístup. Umožňuje útočníkovi vytvořit si svůj vlastní unikát HTTP požadavek. Program se pak pokusí udržet TCP spojení otevřené pomocí takových požadavků, čímž sníží počet dostupných spojení na serveru. Když limit připojení serveru dosáhne svého limitu, server již nemůže obsluhovat připojení a web se stane nedostupným. Tento nástroj je k dispozici ke stažení zdarma z webových stránek.

10. OWASP Switchblade

Open Web Application Security Project (OWASP) a ProactiveRISK vyvinuly nástroj Switchblade DoS nástroj pro testování odolnosti WEB aplikací vůči DDoS útokům. Má tři provozní režimy: 1. SSL Half-Open, 2. HTTP Post a 3. Slowloris. Ke kontrole si jej můžete stáhnout z webu OWASP.

11. DAVOSET

12. GoldenEye HTTP DoS Tool

13. THC-SSL-DOS

Tento program DDOS (součástí Kali) se od většiny nástrojů DDOS liší tím, že nevyužívá internetovou šířku pásma a lze jej používat z jednoho počítače. THC-SSL-DOS využívá zranitelnost v protokolu SSL a je schopen zhroucení cílového serveru. Pokud ovšem nemá tuto zranitelnost. Program si můžete stáhnout z webu THC nebo použít KALI Linux, kde je tento nástroj již nainstalován.

14. DDOSIM – emulátor DDoS vrstvy 7

Tím naše recenze končí, ale v budoucnu se k tématu DDOS útoků na stránkách našeho blogu vrátíme.

Boj s DDoS útoky je nejen náročná práce, ale také vzrušující. Není divu, že každý správce systému se nejprve snaží organizovat obranu sám - zvláště když je to stále možné.

Rozhodli jsme se vám v této obtížné záležitosti pomoci a zveřejnit několik krátkých, triviálních a neuniverzálních tipů, jak chránit váš web před útoky. Uvedené recepty vám nepomohou vyrovnat se s jakýmkoli útokem, ale ochrání vás před většinou nebezpečí.

Správné ingredience

Krutou pravdou je, že kdokoli může zničit mnoho stránek pomocí útoku Slowloris, který zcela zabije Apache, nebo zorganizováním takzvané SYN záplavy pomocí farmy virtuální servery, zvednutý za minutu v oblaku Amazon EC2. Všechny naše další rady týkající se ochrany DDoS typu „udělej si sám“ jsou založeny na následujících důležitých podmínkách.

1. Přestaňte používat Windows Server

Praxe naznačuje, že web, který běží na Windows (2003 nebo 2008 – na tom nezáleží), je v případě DDoS odsouzen k zániku. Důvod selhání spočívá v síťovém zásobníku Windows: když existuje mnoho připojení, server jistě začne reagovat špatně. Nevíme proč Windows Server v takových situacích to funguje tak nechutně, ale s tím jsme se nejednou nebo dvakrát setkali. Z tohoto důvodu se tento článek zaměří na prostředky ochrany proti DDoS útokům v případě, že server běží na Linuxu. Pokud jste šťastným majitelem relativně moderního jádra (od verze 2.6), pak primárními nástroji budou iptables a ipset utility (pro rychlé přidávání IP adres), pomocí kterých můžete rychle zakázat roboty. Dalším klíčem k úspěchu je správně připravený síťový stack, o kterém si také povíme později.

2. Rozejděte se s Apache

Druhou důležitou podmínkou je opuštění Apache. Pokud provozujete Apache, tak si před něj nainstalujte alespoň cachovací proxy – nginx nebo lighttpd. Apache je extrémně obtížné obsluhovat soubory, a co je ještě horší, je na základní úrovni (to znamená nenapravitelně) zranitelný vůči nejnebezpečnějšímu útoku Slowloris, což vám umožňuje zřítit server téměř mobilní telefon. Pro boj s různými typy Slowloris uživatelé Apache nejprve přišli s opravou Anti-slowloris.diff, pak mod_noloris, pak mod_antiloris, mod_limitipconn, mod_reqtimeout... Ale pokud chcete v noci klidně spát, je jednodušší použít HTTP server který je pro Slowloris nezranitelný na architektonické úrovni. Proto jsou všechny naše další recepty založeny na předpokladu, že nginx se používá na frontendu.

Boj proti DDoS

Co dělat, když přijde DDoS? Tradiční technikou sebeobrany je číst soubor protokolu HTTP serveru, napsat vzor grep (zachycení požadavků botů) a zakázat každého, kdo pod něj spadá. Tato technika bude fungovat... pokud budete mít štěstí. Existují dva typy botnetů, oba nebezpečné, ale různými způsoby. Jeden zcela přichází na stránky okamžitě, druhý postupně. První zabije všechno najednou, ale v logech se to objeví celé a pokud je zahřejete a zakážete všechny IP adresy, tak jste vítěz. Druhý botnet útočí na web jemně a opatrně, ale možná ho budete muset na 24 hodin zakázat. Pro každého administrátora je důležité, aby pochopil: pokud plánujete bojovat s grepem, musíte být připraveni věnovat pár dní boji s útokem. Níže jsou uvedeny tipy, kam můžete předem umístit brčka, aby pád nebyl tak bolestivý.

3. Použijte modul testcookie

Snad nejdůležitější, nejúčinnější a funkční recept v tomto článku. Pokud DDoS přijde na vaše stránky, pak nejúčinnějším způsobem, jak se bránit, může být modul testcookie-nginx, vyvinutý habrauser @kyprizel. Myšlenka je jednoduchá. Nejčastěji jsou boti, kteří implementují HTTP flooding, docela hloupí a nemají HTTP cookie a mechanismy přesměrování. Občas narazíte na pokročilejší – umí používat cookies a zpracovávat přesměrování, ale téměř nikdy DoS bot nenese plnohodnotný JavaScript engine (i když je to čím dál častější). Testcookie-nginx funguje jako rychlý filtr mezi roboty a backendem během L7 DDoS útoku, což vám umožňuje odfiltrovat nevyžádané požadavky. Co je součástí těchto kontrol? Ví klient, jak provést přesměrování HTTP, zda podporuje JavaScript, je to prohlížeč, za který se vydává (protože JavaScript je všude jiný a pokud klient říká, že je to řekněme Firefox, můžeme to zkontrolovat). Ověření se provádí pomocí souborů cookie pomocí různých metod:

  • „Set-Cookie“ + přesměrování pomocí umístění 301 HTTP;
  • „Set-Cookie“ + přesměrování pomocí pomocí HTML meta refresh;
  • libovolnou šablonu a můžete použít JavaScript.

Aby se zabránilo automatické analýze, ověřovací soubor cookie lze zašifrovat pomocí AES-128 a později dešifrovat na straně klienta JavaScript. V nová verze modulu bylo možné nastavovat soubory cookie přes Flash, což také umožňuje efektivně vyřadit roboty (které Flash zpravidla nepodporuje), ale také blokuje přístup mnoha legitimním uživatelům (prakticky všem mobilní zařízení). Je pozoruhodné, že je velmi snadné začít používat testcookie-nginx. Vývojář jich nabízí zejména několik jasné příklady použijte (pro různé případy útoků) s ukázkami konfigurací pro nginx.

Kromě svých výhod má testcookie také nevýhody:

  • vyřízne všechny roboty, včetně Googlebota. Pokud si plánujete ponechat testcookie trvale, ujistěte se, že nezmizíte z výsledků vyhledávání;
  • vytváří problémy uživatelům s odkazy, w3m a podobnými prohlížeči;
  • nechrání před roboty vybavenými plnohodnotným enginem prohlížeče s JavaScriptem.

Stručně řečeno, testcookie_module není univerzální. Pomáhá ale s řadou věcí, jako jsou například primitivní nástroje v Javě a C#. Tímto způsobem odříznete část hrozby.

4. Kód 444

Cíl DDoSers je často nejnáročnější částí webu. Typickým příkladem je vyhledávání, které provádí složité databázové dotazy. Útočníci toho samozřejmě mohou využít tím, že načítají do vyhledávače několik desítek tisíc požadavků najednou. Co můžeme dělat? Dočasně zakázat vyhledávání. Přestože klienti nemusí být schopni vyhledat informace, které potřebují, pomocí vestavěných nástrojů, celý hlavní web zůstane funkční, dokud nenajdete kořen všech problémů. Nginx podporuje nestandardní kód 444, který vám umožňuje jednoduše ukončit připojení a nevracet nic jako odpověď:

Místo / hledání ( návrat 444; )

Tímto způsobem můžete například rychle implementovat filtrování podle URL. Pokud jste si jisti, že požadavky na umístění / vyhledávání přicházejí pouze od robotů (například vaše důvěra je založena na skutečnosti, že váš web vůbec nemá sekci /search), můžete nainstalovat balíček ipset na server a zakázat roboty s jednoduchým shell skriptem:

Ipset -N ban iphash tail -f access.log | při čtení ŘÁDEK; opakujte "$LINE" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A ban "$(L%% *)"; hotovo

Pokud je formát souboru protokolu nestandardní (není kombinovaný) nebo potřebujete zakázat na základě jiných kritérií, než je stav odpovědi, možná budete muset nahradit cut regulárním výrazem.

5. Zakazujeme podle geolokace

Nestandardní kód odezvy 444 může být také užitečný pro rychlé zablokování klientů na základě geografických charakteristik. Můžete přísně omezit některé země, které vám jsou nepříjemné. Je například nepravděpodobné, že by internetový obchod s fotoaparáty z Rostova na Donu měl v Egyptě mnoho uživatelů. To není moc dobrá cesta(na rovinu, hnus), jelikož GeoIP data jsou nepřesná a Rostovité občas létají do Egypta na dovolenou. Pokud ale nemáte co ztratit, postupujte podle pokynů:

  1. Připojte modul GeoIP k nginx (wiki.nginx.org/HttpGeoipModule).
  2. Zobrazte georeferenční informace v protokolu přístupu.
  3. Dále úpravou výše uvedeného skriptu shellu spusťte přístupový protokol nginx a přidejte do zákazu geograficky vyloučené klienty.

Pokud by například boti pocházeli převážně z Číny, pak by to mohlo pomoci.

6. Neuronová síť (PoC)

Nakonec můžete zopakovat zkušenost uživatele habra @SaveTheRbtz, který vzal neuronovou síť PyBrain, nacpal do ní log a analyzoval dotazy (habrahabr.ru/post/136237). Metoda funguje, i když ne univerzální :). Ale pokud opravdu znáte vnitřnosti svého webu – a vy, jak Správce systému, měli byste, pak máte šanci, že v nejtragičtějších situacích vám takový nástroj založený na neuronových sítích, školení a předem shromážděných informacích pomůže. V tomto případě je velmi užitečné mít access.log před spuštěním DDoS, protože popisuje téměř 100% legitimních klientů, a proto je vynikající datový soubor pro školení nervová síť. Navíc nejsou roboti v protokolu vždy vidět.

Diagnostika problému

Stránka nefunguje – proč? Je to DDoSed nebo je to chyba motoru, které si programátor nevšiml? Na tom nezáleží. Na tuto otázku nehledejte odpověď. Pokud si myslíte, že váš web může být napaden, kontaktujte společnosti, které poskytují ochranu proti útokům – řada anti-DDoS služeb nabízí první dny po připojení zdarma – a neztrácejte čas hledáním příznaků. Zaměřte se na problém. Pokud je web pomalý nebo se vůbec neotevře, je něco v nepořádku s jeho výkonem a – ať už došlo k útoku DDoS nebo ne – je vaší odpovědností jako profesionála pochopit, co jej způsobuje. Opakovaně jsme byli svědky toho, jak se společnost, která má problémy s provozem svého webu kvůli DDoS útoku, místo hledání slabin v enginu webu snažila zasílat vyjádření na ministerstvo vnitra s cílem najít a potrestat útočníky. Nedělejte tyto chyby. Hledání kyberzločinců je obtížný a zdlouhavý proces, který komplikuje samotná struktura a principy fungování internetu a problém s provozem stránky je nutné rychle řešit. Požádejte technické specialisty, aby našli důvod poklesu výkonu webu, a právníci mohou napsat prohlášení.

7. Použijte profilovač a debugger

Pro nejběžnější platformu pro tvorbu webových stránek - PHP + MySQL - lze najít úzké místo pomocí následujících nástrojů:

  • profiler Xdebug ukáže, na kterých voláních aplikace tráví nejvíce času;
  • vestavěný ladicí program APD a výstup ladění v protokolu chyb vám pomohou přesně zjistit, jaký kód tato volání provádí;
  • ve většině případů je ve složitosti a náročnosti databázových dotazů zakopaný pes. Zde pomůže direktiva Explain SQL zabudovaná do databázového stroje.

Pokud stránka nefunguje a nic neztrácíte, odpojte se od sítě, podívejte se na logy, zkuste si je přehrát. Pokud tam není, projděte si stránky a podívejte se na základnu.

Příklad je pro PHP, ale myšlenka je platná pro jakoukoli platformu. Vývojář píšící softwarové produkty v jakémkoli programovacím jazyce musí být schopen rychle používat jak debugger, tak profiler. Cvičte předem!

8. Analyzujte chyby

Analyzujte objem provozu, dobu odezvy serveru a počet chyb. Chcete-li to provést, podívejte se na protokoly. V nginx je doba odezvy serveru zaznamenána v protokolu dvěma proměnnými: request_time a upstream_response_time. První je plný úvazek provedení požadavku, včetně zpoždění sítě mezi uživatelem a serverem; druhý říká, jak dlouho backend (Apache, php_fpm, uwsgi...) provedl požadavek. Hodnota upstream_response_time je extrémně důležitá pro weby s velkým počtem dynamický obsah a aktivní komunikaci mezi frontendem a databází nelze opomenout. Jako formát protokolu můžete použít následující konfiguraci:

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

Toto je kombinovaný formát s přidanými časovými poli.

9. Sledujte požadavky za sekundu

Podívejte se také na počet požadavků za sekundu. V případě nginx můžete tuto hodnotu zhruba odhadnout pomocí následujícího příkazu shellu (proměnná ACCESS_LOG obsahuje cestu k protokolu požadavků nginx v kombinovaném formátu):

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

Ve srovnání s běžnou úrovní pro tuto denní dobu může počet požadavků za sekundu buď klesat, nebo stoupat. Rostou, pokud dorazil velký botnet, a klesají, pokud příchozí botnet strhl web, čímž se stal zcela nepřístupným pro legitimní uživatele, a zároveň botnet nepožaduje statiku, ale legitimní uživatelé ano. Pokles počtu požadavků je pozorován právě kvůli statice. Ale tak či onak, mluvíme o vážných změnách v ukazatelích. Když se to stane náhle - zatímco se snažíte problém vyřešit sami a pokud to hned nevidíte v protokolu, je lepší rychle zkontrolovat motor a zároveň kontaktovat specialisty.

10. Nezapomeňte na tcpdump

Mnoho lidí zapomíná, že tcpdump je úžasný diagnostický nástroj. Dám vám pár příkladů. V prosinci 2011 byla v jádře Linuxu objevena chyba, když otevřelo připojení TCP, když byly nastaveny příznaky segmentu TCP SYN a RST. První hlášení o chybě zaslal systémový administrátor z Ruska, jehož zdroj byl touto metodou napaden – útočníci se o zranitelnosti dozvěděli před celým světem. Tato diagnóza mu evidentně pomohla. Další příklad: nginx má jednu nepříliš příjemnou vlastnost – do logu zapisuje až po úplném zpracování požadavku. Jsou situace, kdy web nefunguje, nic nefunguje a v protokolech nic není. To je proto, že všechny požadavky, které tento moment načítají server, ještě nejsou dokončeny. Tcpdump pomůže i zde.

Je tak dobré, že jsem lidem poradil, aby nepoužívali binární protokoly, dokud si nebudou jisti, že je vše v pořádku - vždyť textové protokoly lze snadno ladit pomocí tcpdump, ale binární ne. Nicméně sniffer je dobrý jako diagnostický nástroj – jako prostředek k udržení výroby“ a je děsivý. Může snadno ztratit několik paketů najednou a zničit vaši uživatelskou historii. Je pohodlné podívat se na jeho výstup a je užitečné pro manuální diagnostiku a zákazy, ale snažte se na tom nezakládat nic kritického. Další oblíbený nástroj pro „zakopávání požadavků“ – ngrep – se obecně standardně pokouší požádat o přibližně dva gigabajty neswapovatelné paměti a teprve poté začne své požadavky snižovat.

11. Zaútočit nebo ne?

Jak odlišit DDoS útok např. od efektu reklamní kampaň? Tato otázka se může zdát úsměvná, ale téma není o nic méně složité. Existují docela vtipné případy. Někteří dobráci, když se napjali a důkladně podělali ukládání do mezipaměti, web na pár dní spadl. Ukázalo se, že několik měsíců byl tento web v tichosti dataminován nějakými Němci, a než bylo optimalizováno ukládání do mezipaměti, trvalo načítání stránek těchto Němců se všemi obrázky poměrně dlouho. Když se stránka začala okamžitě obsluhovat z mezipaměti, robot, který neměl žádné časové limity, je také začal okamžitě sbírat. Bylo to těžké. Případ je obzvláště obtížný z toho důvodu, že pokud jste sami změnili nastavení (zapnuli ukládání do mezipaměti) a web poté přestal fungovat, kdo je podle vás a vašeho šéfa vinen? Přesně tak. Pokud zaznamenáváte prudký nárůst počtu požadavků, pak se podívejte např. Google Analytics kdo na které stránky přišel.

Ladění webového serveru

Jaké další klíčové body existují? Samozřejmě můžete nainstalovat výchozí nginx a doufat, že bude vše v pořádku. Ne vždy to však dopadne dobře. Správce jakéhokoli serveru proto musí věnovat hodně času dolaďování a ladění nginx.

12. Omezte zdroje (velikost vyrovnávací paměti) v nginx

Co byste si měli zapamatovat jako první? Každý zdroj má limit. V první řadě se to týká paměti RAM. Velikosti hlaviček a všech použitých vyrovnávacích pamětí proto musí být omezeny na adekvátní hodnoty pro klienta a celý server. Musí být registrováni v konfiguraci nginx.

  • client_header_buffer_size_ _ Nastavuje velikost vyrovnávací paměti pro čtení hlavičky požadavku klienta. Pokud se řádek požadavku nebo pole záhlaví požadavku zcela nevejde do této vyrovnávací paměti, jsou alokovány větší vyrovnávací paměti určené direktivou large_client_header_buffers.
  • large_client_header_buffers Nastavuje maximální počet a velikost vyrovnávacích pamětí pro čtení velké hlavičky požadavku klienta.
  • client_body_buffer_size Nastavuje velikost vyrovnávací paměti pro čtení těla požadavku klienta. Pokud je tělo požadavku větší než zadaná vyrovnávací paměť, zapíše se do dočasného souboru celé tělo požadavku nebo jen jeho část.
  • client_max_body_size Nastavuje maximální povolenou velikost těla požadavku klienta uvedenou v poli "Content-Length" v záhlaví požadavku. Pokud je velikost větší než zadaná, klientovi se vrátí chyba 413 (Příliš velká entita požadavku).

13. Nastavení časových limitů v nginx

Čas je také zdrojem. Dalším důležitým krokem by proto mělo být nastavení všech časových limitů, které je opět velmi důležité pečlivě specifikovat v nastavení nginx.

  • reset_timedout_connection zapnuto; Pomáhá vypořádat se se zásuvkami zaseknutými ve fázi FIN-WAIT.
  • client_header_timeout Nastavuje časový limit při čtení hlavičky požadavku klienta.
  • client_body_timeout Nastavuje časový limit při čtení těla požadavku klienta.
  • keepalive_timeout Nastavuje časový limit, během kterého nebude ze strany serveru ukončeno udržování spojení s klientem. Mnoho lidí se zde bojí stanovit velké hodnoty, ale nejsme si jisti, zda je tento strach oprávněný. Volitelně můžete nastavit hodnotu časového limitu v hlavičce Keep-Alive HTTP, ale internet Explorer proslulý ignorováním tohoto významu
  • send_timeout Nastavuje časový limit při odesílání odpovědi klientovi. Pokud po této době klient nic nepřijme, spojení bude ukončeno.

Okamžitě se nabízí otázka: jaké parametry bufferů a timeoutů jsou správné? Univerzální recept zde neexistuje, každá situace má svůj vlastní. Ale existuje osvědčený postup. Je nutné nastavit minimální hodnoty, při kterých web zůstane v provozu (v době míru), to znamená, že jsou stránky obsluhovány a požadavky zpracovávány. To se zjišťuje pouze testováním – jak z desktopů, tak z mobilních zařízení. Algoritmus pro zjištění hodnot každého parametru (velikost vyrovnávací paměti nebo časový limit):

  1. Nastavíme matematicky minimální hodnotu parametru.
  2. Spouštíme testy webu.
  3. Pokud veškerá funkčnost webu funguje bez problémů, je parametr definován. Pokud ne, zvyšte hodnotu parametru a přejděte ke kroku 2.
  4. Pokud hodnota parametru překročí i výchozí hodnotu, je to důvod k diskusi ve vývojovém týmu.

V některých případech by revize těchto parametrů měla vést k refaktoringu/přepracování webu. Pokud například web nefunguje bez tříminutových AJAX dlouhých dotazovacích požadavků, pak nemusíte prodlužovat časový limit, ale nahradit dlouhé dotazování něčím jiným – botnetem 20 tisíc strojů, který visí na požadavcích po dobu tří minut, snadno zabije průměrně levný server.

14. Omezení připojení v nginx (limit_conn a limit_req)

Nginx má také možnost omezit připojení, požadavky a tak dále. Pokud si nejste jisti, jak se bude určitá část vašeho webu chovat, v ideálním případě ji musíte otestovat, pochopit, kolik požadavků zvládne, a zapsat to do konfigurace nginx. Jedna věc je, když web nefunguje a můžete si ho přijít vyzvednout. A je to úplně jiná věc, když to klesne do takové míry, že server přejde do swapu. V tomto případě je často jednodušší restartovat, než čekat na jeho triumfální návrat.

Předpokládejme, že stránka má sekce s popisnými názvy /download a /search. Zároveň jsme:

  • nechceme, aby boti (nebo lidé s příliš horlivými rekurzivními správci stahování) zaplňovali naši tabulku připojení TCP svými stahováními;
  • nechceme roboty (nebo zbloudilé prohledávače vyhledávače) vyčerpal výpočetní zdroje DBMS mnoha vyhledávacími dotazy.

Pro tyto účely bude fungovat následující konfigurace:

Http ( limit_conn_zone $binary_remote_addr zone=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; server ( location /download/ ( limit_conn download_c 1; # Jiné konfigurační umístění ) umístění /search/ ( limit_req zone= search_r burst=5; # Jiné umístění konfigurace ) ) )

Obvykle má přímý smysl nastavit omezení limit_conn a limit_req pro umístění, kde se nacházejí skripty, jejichž provádění je drahé (příklad ukazuje vyhledávání, a to z dobrého důvodu). Omezení musí být zvolena na základě výsledků zátěžového a regresního testování a také zdravého rozumu.

Všimněte si parametru 10m v příkladu. To znamená, že pro výpočet tohoto limitu bude přidělen slovník s vyrovnávací pamětí 10 megabajtů a ani o megabajt více. V této konfiguraci to umožní monitorování 320 000 TCP relací. Pro optimalizaci paměťové náročnosti se jako klíč ve slovníku používá proměnná $binary_remote_addr, která obsahuje IP adresu uživatele v binárním tvaru a zabírá méně paměti než běžná řetězcová proměnná $remote_addr. Je třeba poznamenat, že druhým parametrem direktivy limit_req_zone může být nejen IP, ale i jakákoliv jiná v tomto kontextu dostupná proměnná nginx – například v případě, kdy nechcete pro proxy poskytovat šetrnější režim, můžete použít $binary_remote_addr$http_user_agent nebo $binary_remote_addr$http_cookie_myc00kiez - ale takové konstrukce musíte používat opatrně, protože na rozdíl od 32bitové $binary_remote_addr mohou být tyto proměnné výrazně delší a vámi deklarovaných „10m“ může náhle skončit.

DDoS trendy

  1. Síla útoků na síť a transportní vrstvu neustále roste. Potenciál průměrného SYN záplavového útoku již dosáhl 10 milionů paketů za sekundu.
  2. Zejména v poptávce v Nedávno používat DNS útoky. Zahlcení UDP platnými dotazy DNS s podvrženými zdrojovými IP adresami je jedním z nejjednodušších útoků na implementaci a je obtížné mu čelit. Mnoho velkých ruských společností (včetně hostingových společností) v poslední době zaznamenalo problémy v důsledku útoků na jejich servery DNS. Čím dále budete, tím více takových útoků bude a jejich síla poroste.
  3. Soudě dle vnější znaky, většina botnetů není řízena centrálně, ale prostřednictvím sítě peer-to-peer. To dává útočníkům příležitost synchronizovat akce botnetu v průběhu času – pokud byly dříve ovládací příkazy distribuovány přes botnet s 5 tisíci počítači během desítek minut, nyní se počítají sekundy a váš web může nečekaně zaznamenat okamžitý stonásobný nárůst počtu požadavků .
  4. Podíl botů vybavených plnohodnotným enginem prohlížeče s JavaScriptem je stále malý, ale neustále roste. Takový útok je obtížnější odrazit vestavěnými improvizovanými prostředky, takže kutilové by měli tento trend sledovat opatrně.

příprava OS

kromě doladění nginx, musíte se postarat o nastavení síťový zásobník systémy. Přinejmenším okamžitě povolte net.ipv4.tcp_syncookies v sysctl, abyste se okamžitě ochránili před malým útokem SYN-flood.

15. Vylaďte jádro

Pozor na pokročilejší nastavení síťové části (kernelu), opět ohledně timeoutů a paměti. Jsou důležitější a méně důležité. Nejprve je třeba věnovat pozornost:

  • net.ipv4.tcp_fin_timeoutČas, který soket stráví ve fázi TCP FIN-WAIT-2 (čekání na segment FIN/ACK).
  • net.ipv4.tcp_(,r,w)mem Velikost vyrovnávací paměti pro příjem TCP soketu. Tři hodnoty: minimální, výchozí a maximální.
  • net.core.(r,w)mem_max Totéž platí pro vyrovnávací paměti bez TCP.

S kanálem 100 Mbit/s jsou výchozí hodnoty stále nějak vhodné; ale pokud máte k dispozici alespoň gigabit za sekundu, pak je lepší použít něco jako:

Sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w t68pw0909.66em net.ip460 " " sysctl - w net.ipv4.tcp_fin_timeout=10

16. Revize /proc/sys/net/**

Ideální je prozkoumat všechny parametry v /proc/sys/net/**. Musíme vidět, jak se liší od výchozích, a pochopit, jak adekvátně jsou nastaveny. Linuxový vývojář (nebo správce systému), který rozumí fungování internetové služby pod svou kontrolou a chce ji optimalizovat, by si měl se zájmem přečíst dokumentaci všech parametrů síťového zásobníku jádra. Snad tam najde site-specific proměnné, které pomohou web nejen ochránit před vetřelci, ale také urychlit jeho provoz.

Neboj se!

Úspěšné DDoS útoky den za dnem uhasí e-commerce, otřesou médii a jednou ranou vyřadí největší platební systémy. Miliony uživatelů internetu ztrácejí přístup k důležitým informacím. Hrozba je naléhavá, takže se jí musíme postavit čelem. Udělejte si domácí úkoly, nebojte se a zachovejte chladnou hlavu. Nejste první a ani poslední, kdo bude čelit DDoS útoku na vašem webu a je ve vaší moci, vedeni svými znalostmi a zdravým rozumem, snížit následky útoku na minimum.

Distribuované útoky odmítnutí služby, zkráceně DDoS, se staly běžným jevem a velkým bolehlavem vlastníků internetových zdrojů po celém světě. Proto dnes ochrana před DDoS útoky na web nepřichází v úvahu. doplňková možnost, ale nezbytný předpoklad pro ty, kteří se chtějí vyhnout prostojům, obrovským ztrátám a poškozené pověsti.

Prozradíme vám podrobněji, co je to za nemoc a jak se před ní chránit.

Co je DDoS

Distributed Denial of Service nebo "Distributed Denial of Service" - útok na informační systém tak, aby nebyl schopen zpracovávat požadavky uživatelů. Jednoduše řečeno, DDoS zahrnuje zahlcení webového zdroje nebo serveru provozem z velkého množství zdrojů, takže je nedostupný. Často se takový útok provádí, aby vyvolal přerušení provozu síťových zdrojů ve velké společnosti nebo vládní organizaci

DDoS útok je podobný jiné běžné webové hrozbě, Denial of Service (DoS). Jediný rozdíl je v tom, že typický distribuovaný útok pochází z jednoho bodu, zatímco útok DDos je rozšířenější a pochází z různé zdroje.

Hlavním cílem DDoS útoku je znepřístupnit web pro návštěvníky zablokováním jeho provozu. Existují však případy, kdy jsou takové útoky prováděny s cílem odvrátit pozornost od jiných škodlivých vlivů. DDoS útok může být například proveden, když je narušen bezpečnostní systém za účelem převzetí databáze organizace.

DDoS útoky se dostaly do pozornosti veřejnosti v roce 1999, kdy došlo k sérii útoků na webové stránky velkých společností (Yahoo, eBay, Amazon, CNN). Od té doby se tento typ kybernetické kriminality vyvinul v globální hrozbu. Podle odborníků se v posledních letech jejich frekvence zvýšila 2,5krát a maximální výkon začal překračovat 1 Tbit/sec. Každá šestá ruská firma se alespoň jednou stala obětí DDoS útoku. Do roku 2020 jejich celkový počet dosáhne 17 milionů.

Hostingová platforma s 24/7 ochranou před nejsofistikovanějšími DDoS útoky.

Důvody DDoS útoků

  1. Osobní nevraživost.Často nabádá útočníky k útokům na korporace nebo vládní společnosti. Například v roce 1999 byly napadeny webové stránky FBI, což způsobilo jejich výpadek na několik týdnů. Stalo se tak proto, že FBI zahájila rozsáhlou razii na hackery.
  2. Politický protest. Typicky jsou takové útoky prováděny hacktivisty - IT specialisty s radikálními názory na občanský protest. Známým příkladem je série kybernetických útoků na estonské vládní agentury v roce 2007. Jejich pravděpodobná příčina sloužil jako příležitost k demolici Památníku vojáka-osvoboditele v Tallinnu.
  3. Zábava. To je dnes vše velké množství lidé se o DDoS zajímají a chtějí si to vyzkoušet. Začínající hackeři často podnikají útoky pro zábavu.
  4. Vydírání a vydírání. Před zahájením útoku hacker kontaktuje vlastníka zdroje a požaduje výkupné.
  5. Soutěž. DDoS útoky lze objednat u bezohledné společnosti za účelem ovlivnění jejích konkurentů.

Kdo jsou potenciální oběti?

DDoS dokáže zničit stránky jakékoli velikosti, od běžných blogů až po největší korporace, banky a další finanční instituce.

Podle výzkumu provedeného společností Kaspersky Lab by útok mohl stát firmu až 1,6 milionu dolarů. To je vážné poškození, protože napadený webový zdroj nemůže být nějakou dobu obsluhován, což způsobuje výpadky.

Webové stránky a servery nejčastěji trpí útoky DDoS:

  • velké společnosti a vládní agentury;
  • finanční instituce (banky, správcovské společnosti);
  • kupónové služby;
  • lékařské ústavy;
  • platební systémy;
  • Média a agregátory informací;
  • on-line obchody a podniky elektronického obchodování;
  • Online hry a herní služby;
  • směnárny kryptoměn.

Není to tak dávno, co bylo na smutný seznam častých obětí DDoS útoků přidáno zařízení připojené k internetu, souhrnně nazývané „Internet of Things“ (IoT). Největší dynamiku růstu v této oblasti vykazují kybernetické útoky zaměřené na narušení online pokladen velkých obchodů či obchodních center.

Mechanismus provozu

Všechny webové servery mají omezený počet požadavků, které mohou zpracovat současně. Kromě toho existuje omezení na šířku pásma kanálu spojujícího síť a server. K obejití těchto omezení útočníci vytvářejí počítačová síť se škodlivým softwarem, nazývaným „botnet“ nebo „síť zombie“.

K vytvoření botnetu kyberzločinci distribuují trojského koně prostřednictvím e-mailových zpravodajů, sociálních sítí nebo webových stránek. Počítače zahrnuté v botnetu nemají fyzické spojení mezi sebou. Spojuje je pouze „sloužící“ cílům vlastníka hackera.

Během DDoS útoku posílá hacker příkazy „infikovaným“ zombie počítačům a ty zahájí útok. Botnety generují obrovské množství provozu, které může přetížit jakýkoli systém. Hlavními „objekty“ pro DDoS jsou obvykle šířka pásma serveru, server DNS a samotné připojení k internetu.

Známky DDoS útoku

Když akce útočníků dosáhnou svého cíle, může to být okamžitě určeno selháním provozu serveru nebo zdroje tam hostovaného. Existuje ale řada nepřímých příznaků, podle kterých se o DDoS útoku můžete dozvědět hned na začátku.

  • Serverový software a OS se často spouštějí a jednoznačně selhat- zamrznutí, nesprávné vypnutí atd.
  • hardwarová kapacita server, který se výrazně liší od denního průměru.
  • Rychlý nárůst přicházejícíprovoz v jednom nebo více portech.
  • Opakovaně duplicitní akce stejného typu klienti na jednom zdroji (přechod na web, nahrání souboru).
  • Při analýze logů (logů uživatelských akcí) serveru, firewallu popř síťová zařízení odhaleno mnoho žádostí stejný typ z různých zdrojů do jednoho port nebo službu. Měli byste být obzvláště opatrní, pokud se publikum požadavků výrazně liší od cíle pro web nebo službu.

Klasifikace typů DDoS útoků

Protokolová útočná (přepravní vrstva)

Útok DDoS je zaměřen na síťovou vrstvu serveru nebo webového prostředku, takže se často nazývá útok na síťovou vrstvu nebo transportní vrstvu. Jeho účelem je přetížit tabulkový prostor na bráně firewall založené na protokolech, centrální síti nebo systému vyvažování zátěže.

Nejčastější metoda DDoS na úrovni dopravy - záplava sítě, což vytváří obrovský proud fiktivních požadavků na různých úrovních, které přijímající uzel fyzicky nemůže zpracovat.

Obvykle síťová služba platí pravidlo FIFO, podle kterého počítač nezahájí obsluhu druhého požadavku, dokud nezpracuje první. Během útoku se ale počet požadavků zvýší natolik, že zařízení nemá dostatek prostředků na dokončení prvního požadavku. Výsledkem je, že záplava nasytí šířku pásma co nejvíce a zcela ucpe všechny komunikační kanály.

Běžné typy zahlcení sítě

  • HTTP záplava- Na napadený server je odesíláno množství pravidelných nebo šifrovaných HTTP zpráv, které ucpávají komunikační uzly.
  • ICMP záplava- útočníkův botnet přetíží hostitelský stroj oběti servisními požadavky, na které je povinen poskytovat echo odpovědi. Konkrétním příkladem tohoto typu útoku je Ppovodeň nebo Šmoulí útok, kdy jsou komunikační kanály naplněny požadavky ping používanými ke kontrole dostupnosti síťového uzlu. Právě kvůli hrozbě zahlcení ICMP správci systému často zcela blokují možnost zadávat požadavky ICMP pomocí firewallu.
  • SYN záplava- útok postihuje jeden ze základních mechanismů protokolu TCP, známý jako princip „triple handshake“ (algoritmus požadavek-odpověď: paket SYN – paket SYN-ACK – paket ACK). Oběť je bombardována záplavou falešných požadavků SYN bez odezvy. Kanál uživatele je ucpaný frontou TCP spojení z odchozích spojení čekajících na paket ACK odpovědi.
  • Záplava UDP- náhodné porty hostitelského počítače oběti jsou zahlceny pakety UDP, jejichž reakce přetěžují síťové zdroje. Je volán typ zaplavení UDP směrovaného na server DNS DNS záplava.
  • MAC záplava- cílem je síťový hardware, jehož porty jsou ucpané proudy „prázdných“ paketů s různými MAC adresami. K ochraně před tímto typem DDoS útoků jsou síťové přepínače nakonfigurovány tak, aby kontrolovaly platnost a filtrovaly MAC adresy.

Útoky na aplikační vrstvu (vrstva infrastruktury)

Tato varianta se používá, když je nutné zabavit nebo zakázat hardwarové prostředky. Cílem „nájezdníků“ může být jak fyzický, tak i RAM nebo CPU čas.

Není třeba přetěžovat šířku pásma. Stačí pouze způsobit přetížení procesoru oběti nebo, jinými slovy, zabrat celou dobu procesu.

Typy útoků DDoS na úrovni aplikace

  • Odeslání "těžkýX"balíčky, přicházející přímo k procesoru. Zařízení si nedokáže poradit se složitými výpočty a začne selhávat, čímž brání návštěvníkům v přístupu na stránku.
  • Pomocí skriptu je server naplněn "odpadkový" obsah- log soubory, „uživatelské komentáře“ atd. Pokud správce systému nenastavil limit na serveru, může hacker vytvořit obrovské dávky souborů, které zaplní celý pevný disk.
  • Problémy s kvótový systém. Některé servery používají ke komunikaci externí programy Rozhraní CGI (Common Gateway Interface, " společné rozhraní brána"). Při získání přístupu k CGI může útočník napsat svůj vlastní skript, který využije některé ze zdrojů, například procesorový čas, v jeho zájmu.
  • Neúplná kontrolaúdaje o návštěvnících. To také vede k dlouhodobému nebo dokonce nekonečnému využívání zdrojů procesoru, dokud nejsou vyčerpány.
  • Útok druhého typu. Způsobí falešný poplach v bezpečnostním systému, který může zdroj automaticky uzavřít před okolním světem.

Útoky na aplikační úrovni

Aplikační vrstva DDoS útok využívá opomenutí při vytváření programový kód, což vytváří zranitelnost softwaru vůči vnějším vlivům. NA tento druh Jeden může zahrnovat takový běžný útok jako „Ping of death“ - hromadné odesílání delších ICMP paketů do počítače oběti, což způsobuje přetečení vyrovnávací paměti.

Profesionální hackeři se však zřídka uchýlí k tak jednoduché metodě, jako je přetížení kanálů šířky pásma. K útoku na komplexní systémy velkých společností se snaží plně porozumět systémové struktuře serveru a napsat exploit - program, řetězec příkazů nebo část programového kódu, který bere v úvahu zranitelnost softwaru oběti a používá se k útoku. počítač.

DNS útoky

  1. První skupina je zaměřena na zranitelnosta dovnitřPODLE DNS servery. Patří mezi ně běžné typy kybernetických zločinů jako Zero-day attack a Fast Flux DNS.
    Jeden z nejběžnějších typů útoků DNS se nazývá DNS-Spoofing. Během ní útočníci nahradí IP adresu v mezipaměti serveru a přesměrují uživatele na falešnou stránku. Během přechodu zločinec získá přístup k osobním údajům uživatele a může je využít ve svůj prospěch. Například v roce 2009 se uživatelé kvůli falšování DNS záznamů nemohli hodinu dostat na Twitter. Tento útok měl politický charakter. Útočníci nainstalovali domovská stránka sociální síť varování od íránských hackerů související s americkou agresí
  2. Druhou skupinou jsou DDoS útoky, které vedou k Nefunkčnost DNS-servery. Pokud selžou, uživatel se nebude moci přihlásit. požadovanou stránku, protože prohlížeč nenajde IP adresu specifickou pro konkrétní web.

Prevence a ochrana před DDoS útoky

Podle Corero Network Security je každý měsíc více než ⅔ všech společností na světě vystaveno útokům typu odmítnutí přístupu. Navíc jejich počet dosahuje 50.

Majitelé webových stránek, kteří neposkytují ochranu serveru před DDoS útoky, mohou nejen utrpět obrovské ztráty, ale také snížit důvěru zákazníků a také konkurenceschopnost na trhu.

Většina účinná metoda ochrana proti DDoS útokům - filtry instalované poskytovatelem na internetových kanálech s velkou šířkou pásma. Provádějí konzistentní analýzu veškerého provozu a identifikují podezřelou síťovou aktivitu nebo chyby. Filtry lze instalovat jak na úrovni routeru, tak pomocí speciálních hardwarových zařízení.

Způsoby ochrany

  1. Stále ve fázi psaní software Musíte myslet na bezpečnost webu. Důkladně zkontrolujte software za chyby a zranitelnosti.
  2. Pravidelně aktualizovat software, a také poskytují příležitost k návratu stará verze pokud nastanou problémy.
  3. Následovat omezení přístupu. Služby související se správou by měly být zcela uzavřeny před přístupem třetích stran. Chraňte svůj účet správce složitá hesla a měnit je častěji. Okamžitě smažte účty zaměstnanců, kteří skončí.
  4. Přístup k administrátorské rozhraní by měly být prováděny výhradně z vnitřní síť nebo přes VPN.
  5. Prohledejte systém přítomnost zranitelností. Nejnebezpečnější zranitelnosti pravidelně zveřejňuje autoritativní hodnocení OWASP Top 10.
  6. Aplikovat aplikační firewall- WAF (Web Application Firewall). Kontroluje přenášený provoz a sleduje oprávněnost požadavků.
  7. Použití CDN(Content Delivery Network). Jedná se o síť pro doručování obsahu fungující pomocí distribuované sítě. Provoz je tříděn mezi více servery, což snižuje latenci při přístupu návštěvníků.
  8. Ovládejte příchozí provoz pomocí seznamy řízení přístupu (ACL), který bude označovat seznam lidí, kteří mají přístup k objektu (programu, procesu nebo souboru), a také jejich role.
  9. Umět blokovat provoz, který pochází z útočících zařízení. To se provádí dvěma způsoby: pomocí firewally nebo ACL. V prvním případě je konkrétní tok blokován, ale obrazovky nemohou oddělit „pozitivní“ provoz od „negativního“ provozu. A ve druhém jsou filtrovány vedlejší protokoly. Proto nebude užitečné, pokud hacker používá prioritní dotazy.
  10. Chcete-li se chránit před falšováním DNS, musíte pravidelně vymazat mezipaměť DNS.
  11. Použití ochrana proti spamovým robotům- captcha, „lidské“ časové rámce pro vyplňování formulářů, reCaptcha (zaškrtněte „Nejsem robot“) atd.
  12. Reverzní útok. Veškerý škodlivý provoz je přesměrován na útočníka. Pomůže nejen odrazit útok, ale také zničit server útočníka.
  13. Umístění zdrojů na několik nezávislých serverů. Pokud jeden server selže, zbývající zajistí provoz.
  14. Použití osvědčené hardwarová ochrana z DDoS útoků. Například Impletec iCore nebo DefensePro.
  15. Vyberte si poskytovatele hostingu, se kterým spolupracuje spolehlivý dodavatel služby kybernetické bezpečnosti. Mezi kritérii spolehlivosti odborníci zdůrazňují: přítomnost záruk kvality, poskytování ochrany proti nejširšímu spektru hrozeb, nepřetržitou technickou podporu, transparentnost (klientský přístup ke statistikám a analýzám) a absenci poplatků za škodlivý provoz. .

Závěr

V tomto článku jsme se podívali na to, co znamená DDoS útok a jak chránit svůj web před útoky. Je důležité si uvědomit, že takové škodlivé akce mohou snížit i ty nejbezpečnější a největší webové zdroje. To bude mít vážné důsledky v podobě obrovských ztrát a ztrát zákazníků. Proto je ochrana vašeho zdroje před DDoS útoky naléhavým úkolem pro všechny komerční struktury a vládní agentury.

Pokud chcete profesionální úroveň ochrany proti DDoS útokům – vyberte si! Neustálé sledování a nepřetržitá technická podpora.

Stále častěji se v oficiálních sděleních od poskytovatelů hostingu objevují odkazy na odražené DDoS útoky. Uživatelé, kteří zjistí nedostupnost svých stránek, ve stále větší míře okamžitě předpokládají DDoS. Začátkem března Runet skutečně zažil celou vlnu takových útoků. Odborníci přitom ujišťují, že zábava teprve začíná. Je prostě nemožné ignorovat fenomén tak relevantní, hrozivý a zajímavý. Dnes si tedy povíme něco o mýtech a faktech o DDoS. Z pohledu poskytovatele hostingu samozřejmě.

Památný den

Dne 20. listopadu 2013 byla poprvé v 8leté historii naší společnosti na několik hodin nedostupná celá technická platforma z důvodu bezprecedentního DDoS útoku. Trpěly desítky tisíc našich zákazníků v celém Rusku a SNS, nemluvě o nás a našem poskytovateli internetu. Poslední věc, kterou se poskytovateli podařilo zaznamenat, než pro všechny zhaslo bílé světlo, bylo to, že jeho vstupní kanály byly těsně ucpané příchozím provozem. Chcete-li si to představit, představte si svou vanu s běžným odtokem, do kterého se řítí Niagarské vodopády.

Dokonce i poskytovatelé výše v řetězci pocítili účinky této tsunami. Níže uvedené grafy jasně ilustrují, co se ten den dělo s internetovým provozem v Petrohradu a v Rusku. Všimněte si strmých vrcholů v 15 a 18 hodinách, přesně v okamžicích, kdy jsme zaznamenali útoky. Za tyto náhlé plus 500-700 GB.

Lokalizace útoku trvalo několik hodin. Byl vypočten server, na který byl odeslán. Poté byl vypočítán cíl internetových teroristů. Víte, koho všechno to nepřátelské dělostřelectvo zasáhlo? Jeden velmi obyčejný, skromný klientský web.

Mýtus číslo jedna: „Cílem útoku je vždy poskytovatel hostingu. To jsou machinace jeho konkurentů. Není moje." Ve skutečnosti je nejpravděpodobnějším cílem internetových teroristů obyčejná klientská stránka. Tedy stránky jednoho z vašich hostitelských sousedů. Nebo možná i váš.

Ne všechno je DDoS...

Po událostech na našem technickém webu 20. listopadu 2013 a jejich částečném opakování 9. ledna 2014 začali někteří uživatelé předpokládat DDoS při jakémkoli konkrétním selhání jejich vlastního webu: „Toto je DDoS!“ a "Zažíváte znovu DDoS?"

Je důležité si uvědomit, že pokud nás zasáhne takový DDoS, že to pocítí i naši klienti, okamžitě to sami nahlásíme.

Rádi bychom uklidnili ty, kteří spěchají k panice: pokud je na vašem webu něco v nepořádku, pak je pravděpodobnost, že se jedná o DDoS, menší než 1 %. Jednoduše proto, že se webu může stát spousta věcí a těchto „mnoha věcí“ se stává mnohem častěji. O metodách pro rychlou autodiagnostiku toho, co se přesně s vaším webem děje, si povíme v jednom z následujících příspěvků.

Mezitím si v zájmu přesnosti používání slov ujasníme pojmy.

O podmínkách

DoS útok (z anglického Denial of Service) - Toto je útok navržený tak, aby způsobil, že serveru bude odepřena služba z důvodu jeho přetížení.

DoS útoky nejsou spojeny s poškozením zařízení nebo krádeží informací; jejich cíl - aby server přestal reagovat na požadavky. Zásadní rozdíl mezi DoS spočívá v tom, že k útoku dochází z jednoho stroje na druhý. Účastníci jsou rovnou dva.

Ve skutečnosti ale prakticky žádné DoS útoky nevidíme. Proč? Protože cílem útoků jsou nejčastěji průmyslová zařízení (například výkonné produktivní servery hostingových společností). A aby došlo k nějakému znatelnému poškození provozu takového stroje, je zapotřebí mnohem většího výkonu, než je jeho vlastní. To je první věc. A za druhé, iniciátor DoS útoku lze celkem snadno identifikovat.

DDoS - v podstatě to samé jako DoS, jen útok je distribuovaná příroda. Ne pět, ne deset, ne dvacet, ale stovky a tisíce počítačů přistupují k jednomu serveru současně z různých míst. Tato armáda strojů se jmenuje botnet. Identifikovat zákazníka a pořadatele je téměř nemožné.

Spolupachatelé

Jaké druhy počítačů jsou součástí botnetu?

Budete se divit, ale často jde o ty nejobyčejnější domácí stroje. Kdo ví?.. - dost možná tvoje domácí počítač odveden na stranu zla.

Na to moc nepotřebuješ. Útočník najde zranitelnost v populární operační systém nebo aplikaci a s její pomocí infikuje váš počítač trojským koněm, který v určitý den a čas dá vašemu počítači pokyn, aby začal provádět určité akce. Například posílejte požadavky na konkrétní IP. Bez vašeho vědomí a účasti, samozřejmě.

Mýtus číslo dvě: « DDoS se provádí někde daleko ode mě, ve speciálním podzemním bunkru, kde sedí vousatí hackeři s červenýma očima.“ Ve skutečnosti, aniž byste to věděli, vy, vaši přátelé a sousedé - kdokoli se může stát nevědomým spolupachatelem.

To se opravdu děje. I když na to nemyslíš. I když k TOMU máte strašně daleko (zvlášť když k TOMU máte daleko!).

Zábavné hackování nebo mechanika DDoS

Fenomén DDoS není jednotný. Tento koncept kombinuje mnoho možností akce, které vedou k jednomu výsledku (odepření služby). Podívejme se na potíže, které nám DDoSers mohou přinést.

Nadměrné využívání výpočetních zdrojů serveru

To se provádí odesíláním paketů na konkrétní IP, jejichž zpracování vyžaduje velké množství zdrojů. Například načtení stránky vyžaduje provedení velkého počtu SQL dotazů. Všichni útočníci budou požadovat přesně tuto stránku, což způsobí přetížení serveru a odmítnutí služby pro normální, legitimní návštěvníky webu.
Jde o útok na úrovni školáka, který strávil pár večerů čtením časopisu Hacker. Ona není problém. Stejná požadovaná adresa URL je vypočítána okamžitě, načež je přístup k ní zablokován na úrovni webového serveru. A to je jen jedno řešení.

Přetížení komunikačních kanálů na server (výstup)

Úroveň obtížnosti tohoto útoku je přibližně stejná jako u předchozího. Útočník určí nejtěžší stránku na webu a botnet pod jeho kontrolou ji začne hromadně vyžadovat.


Představte si, že část Medvídka Pú, která je pro nás neviditelná, je nekonečně velká
V tomto případě je také velmi snadné pochopit, co přesně blokuje odchozí kanál a zabránit přístupu na tuto stránku. Podobné dotazy lze snadno zobrazit pomocí speciální pomůcky, které vám umožní podívat se na síťové rozhraní a analyzovat provoz. Poté je pro Firewall napsáno pravidlo, které takové požadavky blokuje. To vše se děje pravidelně, automaticky a tak bleskově rychle, že Většina uživatelů o žádném útoku ani neví.

Mýtus číslo tři: "A Málokdy se však dostanou na můj hosting a vždy si jich všimnu.“ Ve skutečnosti 99,9 % útoků nevidíte ani necítíte. Ale každodenní boj s nimi - Toto je každodenní rutinní práce hostitelské společnosti. To je naše realita, ve které je útok levný, konkurence je mimo žebříčky a ne každý prokazuje rozlišovací schopnost v metodách boje o místo na slunci.

Přetížení komunikačních kanálů na server (vstup)

To už je úkol pro ty, kteří čtou magazín Hacker déle než jeden den.


Fotografie z webu rádia Echo Moskvy. Nenašli jsme nic vizuálnějšího, co by reprezentovalo DDoS s přetížením vstupních kanálů.
Chcete-li naplnit kanál příchozím provozem do kapacity, musíte mít botnet, jehož síla vám umožňuje generovat požadované množství provozu. Ale možná existuje způsob, jak posílat malý provoz a přijímat hodně?

Existuje, a ne jen jeden. Existuje mnoho možností vylepšení útoku, ale jedna z nejpopulárnějších právě teď je útok přes veřejné DNS servery. Odborníci tomu říkají zesilovací metoda Zesilování DNS(v případě, že někdo preferuje odborné termíny). Zjednodušeně řečeno si představte lavinu: k jejímu prolomení stačí malé úsilí, ale k zastavení stačí nelidské zdroje.

Ty i já to víme veřejný DNS server na požádání poskytne komukoli informace o jakémkoli názvu domény. Například se takového serveru zeptáme: řekni mi o doméně sprinthost.ru. A bez váhání nám říká vše, co ví.

Dotaz na DNS server je velmi jednoduchá obsluha. Kontaktovat ho téměř nic nestojí, žádost bude mikroskopická. Například takto:

Nezbývá než si vybrat Doménové jméno, informace o kterých vytvoří působivý datový balík. Původních 35 bajtů se tedy pohybem zápěstí změní na téměř 3700. Dochází k více než 10násobnému nárůstu.

Jak ale můžete zajistit, aby byla odpověď odeslána na správnou IP? Jak podvrhnout IP zdroj požadavku, aby DNS server vydal své odpovědi směrem k oběti, která si nevyžádala žádná data?

Faktem je, že servery DNS fungují podle Komunikační protokol UDP, která vůbec nevyžaduje potvrzení zdroje požadavku. Kování odchozí IP není v tomto případě pro dávkovače příliš obtížné. To je důvod, proč je tento typ útoku nyní tak populární.

Nejdůležitější je, že k provedení takového útoku stačí velmi malý botnet. A pár roztroušených veřejných DNS, které na tom nebudou vidět nic divného různých uživatelůčas od času požadují data na adresu jednoho hostitele. A teprve potom se veškerý tento provoz sloučí do jednoho proudu a pevně sepne jednu „trubku“.

To, co dávkovač nemůže vědět, je kapacita kanálů útočníka. A pokud správně nevypočítá sílu svého útoku a okamžitě neucpe kanál k serveru na 100%, lze útok poměrně rychle a snadno odrazit. Pomocí utilit jako TCPdump Je snadné zjistit, že příchozí provoz přichází z DNS, a na úrovni brány firewall zablokovat jeho přijetí. Tato možnost – odmítnutí přijímat provoz z DNS – je pro každého spojena s určitým nepohodlím, nicméně servery i weby na nich budou nadále úspěšně fungovat.

Toto je jen jedna z mnoha možností, jak posílit útok. Existuje mnoho dalších typů útoků, o nich můžeme mluvit jindy. Prozatím bych rád shrnul, že vše výše uvedené platí pro útok, jehož síla nepřesahuje šířku kanálu k serveru.

Pokud je útok silný

Pokud síla útoku překročí kapacitu kanálu k serveru, stane se následující. Internetový kanál k serveru je okamžitě ucpaný, pak k hostitelské stránce, k jejímu poskytovateli internetu, k poskytovateli upstream atd. útočná síla je dostatečná.

A pak se to stane globálním problémem pro všechny. A stručně řečeno, to jsme museli 20. listopadu 2013 řešit. A když dojde k velkým otřesům, je čas zapnout speciální magii!


Takto vypadá speciální kouzlo, pomocí kterého je možné určit server, na který je provoz směrován, a zablokovat jeho IP na úrovni poskytovatele internetu. Aby přestala přijímat jakékoli požadavky na tuto IP prostřednictvím svých komunikačních kanálů s vnějším světem (uplinky). Pro milovníky termínů: odborníci tento postup nazývají "Černá díra", z anglického blackhole.

V tomto případě napadený server s 500-1500 účty zůstává bez své IP. Je mu přidělena nová podsíť IP adres, na které jsou náhodně rovnoměrně rozmístěny klientské účty. Dále odborníci čekají, až se útok bude opakovat. Téměř vždy se to opakuje.

A když se to opakuje, napadená IP už nemá 500-1000 účtů, ale jen tucet nebo dva.

Okruh podezřelých se zužuje. Těchto 10-20 účtů je opět rozloženo různé IP adresy. A znovu jsou inženýři v záloze a čekají na opakování útoku. Znovu a znovu rozdělují podezřelé účty na různé IP a tak, postupně se blíží, určují cíl útoku. Všechny ostatní účty se v tomto okamžiku vrátí k normálnímu provozu na předchozí IP.

Jak je zřejmé, nejedná se o okamžitý postup, jeho implementace vyžaduje čas.

Mýtus číslo čtyři:"Když dojde k rozsáhlému útoku, můj hostitel nemá akční plán." Jen se zavřenýma očima čeká, až bombardování skončí, a odpovídá na mé dopisy stejným typem odpovědí.“To není pravda: v případě útoku jedná poskytovatel hostingu podle plánu, aby jej lokalizoval a co nejrychleji odstranil následky. A dopisy stejného typu vám umožní sdělit podstatu toho, co se děje, a zároveň ušetřit prostředky potřebné k co nejrychlejšímu řešení mimořádné situace.

Je světlo na konci tunelu?

Nyní vidíme, že aktivita DDoS neustále roste. Objednávka útoku se stala velmi dostupnou a nehorázně levnou. Aby se předešlo obvinění z propagandy, nebudou zde žádné důkazní odkazy. Ale vezměte nás za slovo, je to pravda.

Mýtus číslo pět: „DDoS útok je velmi drahý podnik a jen obchodní magnáti si ho mohou dovolit objednat. Přinejmenším jde o machinace tajných služeb!“ Ve skutečnosti se takové akce staly mimořádně přístupnými.

Nelze tedy očekávat, že záškodnická činnost zmizí sama od sebe. Spíš to jen zesílí. Zbývá jen vykovat a naostřit zbraň. To je to, co děláme, zlepšujeme síťovou infrastrukturu.

Právní stránka problému

Toto je velmi nepopulární aspekt diskuse o DDoS útocích, protože jen zřídka slyšíme o případech dopadení a potrestání pachatelů. Měli byste si však pamatovat: DDoS útok je trestný čin. Ve většině zemí světa, včetně Ruské federace.

Mýtus číslo šest: « Teď už vím o DDoS dost, objednám párty pro konkurenci - a za tohle se mi nic nestane!" Je možné, že se to stane. A pokud ano, nebude se to zdát moc.

Obecně platí, že nikomu nedoporučujeme, aby se zapojil do kruté praxe DDoS, aby si nevyvolal hněv spravedlnosti a nezničil si karmu. A my, vzhledem ke specifikům naší činnosti a velkému zájmu o výzkum, pokračujeme ve studiu problému, stojíme na stráži a zlepšujeme obranné struktury.

PS:nemáme dost laskavých slov, abychom vyjádřili svou vděčnost, tak jen říkáme"Děkuji!" našim trpělivým zákazníkům, kteří nás vřele podpořili v nelehký den 20. listopadu 2013. Na naši podporu jste řekl mnoho povzbudivých slov