{"id":31924,"date":"2019-10-31T21:44:01","date_gmt":"2019-10-31T18:44:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy\/"},"modified":"2019-10-31T21:44:01","modified_gmt":"2019-10-31T18:44:01","slug":"ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy","title":{"rendered":"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/9e01506f9103d69af131c7a419b10e42.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Spolo\u010dnos\u0165 Variti vyv\u00edja ochranu pred botmi a DDoS \u00fatokmi, a tie\u017e vykon\u00e1va stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testovanie. Na konferencii HighLoad++ 2018 sme sa venovali tomu, ako zabezpe\u010di\u0165 zdroje pred r\u00f4znymi typmi \u00fatokov. Stru\u010dne povedan\u00e9: izolujte \u010dasti syst\u00e9mu, pou\u017e\u00edvajte cloudov\u00e9 slu\u017eby a CDN a pravidelne sa aktualizujte. Bez \u0161pecializovan\u00fdch firiem na ochranu sa v\u0161ak aj tak neob\u00eddete \ud83d\ude42<\/i><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPred pre\u010d\u00edtan\u00edm textu sa m\u00f4\u017eete obozn\u00e1mi\u0165 s kr\u00e1tkymi my\u0161lienkami <noindex><a rel=\"nofollow\" href=\"http:\/\/www.highload.ru\/moscow\/2018\/abstracts\/4201\">na str\u00e1nke konferencie<\/a><\/noindex>.<br \/>\nA ak nem\u00e1te radi \u010d\u00edtanie alebo jednoducho chcete vidie\u0165 video, z\u00e1znam na\u0161ej predn\u00e1\u0161ky je ni\u017e\u0161ie pod spoilerom.<\/p>\n<p><b class=\"spoiler_title\">Z\u00e1znam predn\u00e1\u0161ky<\/b><center><div class=\"youtube-placeholder\" data-id=\"Lu4tsUvfYRc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/Lu4tsUvfYRc\/hqdefault.jpg\" alt=\"Prehrajte video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p>Mnoh\u00e9 firmy u\u017e vedia vykon\u00e1va\u0165 z\u00e1\u0165a\u017eov\u00e9 testovania, ale nie v\u0161etky robia stresov\u00e9 testovania. Niektor\u00ed na\u0161i klienti si myslia, \u017ee ich str\u00e1nka je odoln\u00e1, preto\u017ee maj\u00fa highload syst\u00e9m a ten dobre chr\u00e1ni pred \u00fatokmi. My v\u0161ak ukazujeme, \u017ee to nie je celkom pravda. <br \/>\nSamozrejme, pred vykonan\u00edm testov z\u00edskavame povolenie od klienta, s podpisom a pe\u010diatkou, a s na\u0161ou pomocou nie je mo\u017en\u00e9 vykona\u0165 DDoS \u00fatok na nikoho. Testovanie sa uskuto\u010d\u0148uje v \u010dase, ktor\u00fd si zvol\u00ed klient, ke\u010f je n\u00e1v\u0161tevnos\u0165 jeho zdroja minim\u00e1lna, aby probl\u00e9my s pr\u00edstupom neodr\u00e1\u017eali na z\u00e1kazn\u00edkoch. Okrem toho, ke\u010f\u017ee po\u010das testovania sa v\u017edy m\u00f4\u017ee nie\u010do pokazi\u0165, m\u00e1me st\u00e1ly kontakt s klientom. To umo\u017e\u0148uje nielen informova\u0165 o dosiahnut\u00fdch v\u00fdsledkoch, ale aj nie\u010do meni\u0165 v priebehu testovania. Po ukon\u010den\u00ed testovania v\u017edy vyhotovujeme spr\u00e1vu, v ktorej uv\u00e1dzame zisten\u00e9 nedostatky a d\u00e1vame odpor\u00fa\u010dania na odstr\u00e1nenie slab\u00fdch miest str\u00e1nky. <\/p>\n<h3>Ako pracujeme<\/h3>\n<p>\nPri vykon\u00e1van\u00ed testovania emulujeme botnet. Ke\u010f\u017ee pracujeme s klientmi, ktor\u00ed nie s\u00fa umiestnen\u00ed v na\u0161ich sie\u0165ach, aby test neskon\u010dil v prvej min\u00fate z d\u00f4vodu spustenia limitov alebo ochrany, za\u0165a\u017eujeme syst\u00e9m nie z jednej IP adresy, ale z na\u0161ej vlastnej podsiete. Navy\u0161e na vytvorenie zna\u010dnej z\u00e1\u0165a\u017ee m\u00e1me vlastn\u00fd dostato\u010dne v\u00fdkonn\u00fd testovac\u00ed server.<\/p>\n<h3>Postul\u00e1ty<\/h3>\n<p><\/p>\n<blockquote><p><b>Ve\u013ea \u2014 neznamen\u00e1 dobre<\/b><br \/>\n\u010c\u00edm men\u0161ia z\u00e1\u0165a\u017e dok\u00e1\u017eeme nasadi\u0165 na zdroj, t\u00fdm je to lep\u0161ie. Ak sa n\u00e1m podar\u00ed dosiahnu\u0165, \u017ee str\u00e1nka prestane fungova\u0165 pri jednom po\u017eiadavku za sekundu alebo dokonca pri jednom po\u017eiadavku za min\u00fatu, je to vynikaj\u00face. Preto\u017ee pod\u013ea z\u00e1kona podlosti sa pou\u017e\u00edvatelia alebo \u00fato\u010dn\u00edci n\u00e1hodou dostan\u00fa pr\u00e1ve na t\u00fato zranite\u013enos\u0165. <\/p><\/blockquote>\n<blockquote><p><b>\u010ciasto\u010dn\u00fd v\u00fdpadok je lep\u0161\u00ed ako \u00fapln\u00fd<\/b><br \/>\nV\u017edy odpor\u00fa\u010dame, aby boli syst\u00e9my heterog\u00e9nne. A mali by sme ich oddeli\u0165 na fyzickej \u00farovni, a nie len containerizovan\u00edm. Pri fyzickom oddelen\u00ed, aj ke\u010f nie\u010do na str\u00e1nke zlyh\u00e1, je ve\u013emi pravdepodobn\u00e9, \u017ee cel\u00e1 str\u00e1nka neprestane fungova\u0165 a pou\u017e\u00edvatelia bud\u00fa ma\u0165 pr\u00edstup aspo\u0148 k \u010dasti funkci\u00ed.<\/p><\/blockquote>\n<blockquote><p><b>Spr\u00e1vna architekt\u00fara je z\u00e1kladom odolnosti<\/b><br \/>\nOdolnos\u0165 zdroja a jeho schopnos\u0165 vydr\u017ea\u0165 \u00fatoky a z\u00e1\u0165a\u017ee by mali by\u0165 zakotven\u00e9 u\u017e v etape projektovania, v skuto\u010dnosti v etape kreslenia prv\u00fdch blokov\u00fdch sch\u00e9m do notesa. Preto\u017ee ak sa vyskytuj\u00fa fat\u00e1lne chyby, daj\u00fa sa opravi\u0165, ale je to ve\u013emi n\u00e1ro\u010dn\u00e9.<\/p><\/blockquote>\n<blockquote><p><b>Dobr\u00fd by mal by\u0165 nielen k\u00f3d, ale aj konfigur\u00e1cia<\/b><br \/>\nMnoh\u00ed si myslia, \u017ee dobr\u00fd v\u00fdvojov\u00fd t\u00edm je z\u00e1rukou odolnosti slu\u017eby. Dobr\u00fd v\u00fdvojov\u00fd t\u00edm je skuto\u010dne potrebn\u00fd, ale potrebn\u00e1 je aj dobr\u00e1 prev\u00e1dzka, dobr\u00fd DevOps. To znamen\u00e1, \u017ee s\u00fa potrebn\u00ed odborn\u00edci, ktor\u00ed spr\u00e1vne nakonfiguruj\u00fa Linux a sie\u0165, spr\u00e1vne nap\u00ed\u0161u konfigur\u00e1cie v nginx, nastavia limity a in\u00e9. Inak bude zdroj dobre fungova\u0165 len v teste, ale v produkcii sa v ur\u010ditom momente v\u0161etko pokaz\u00ed.<\/p><\/blockquote>\n<blockquote><p><b>Rozdiel medzi z\u00e1\u0165a\u017eov\u00fdm a stresov\u00fdm testovan\u00edm<\/b><br \/>\nZ\u00e1\u0165a\u017eov\u00e9 testovanie umo\u017e\u0148uje ur\u010di\u0165 hranice fungovania syst\u00e9mu. Stresov\u00e9 testovanie je zameran\u00e9 na n\u00e1jdenie slab\u00fdch miest syst\u00e9mu a pou\u017e\u00edva sa na to, aby tento syst\u00e9m rozbil a pozrel sa, ako sa bude spr\u00e1va\u0165 po\u010das zlyhania r\u00f4znych \u010dast\u00ed. Pri tom je charakter z\u00e1\u0165a\u017ee zvy\u010dajne nezn\u00e1my pre z\u00e1kazn\u00edka do za\u010diatku stresov\u00e9ho testovania.<\/p><\/blockquote>\n<p><\/p>\n<h3>Jasn\u00e9 znaky L7 \u00fatokov<\/h3>\n<p>\nTypy za\u0165a\u017eenia zvy\u010dajne del\u00edme na za\u0165a\u017eenia na \u00farovni L7 a L3&amp;4. L7 je za\u0165a\u017eenie na \u00farovni aplik\u00e1cie, \u010dastej\u0161ie ho ch\u00e1peme len ako HTTP, my v\u0161ak rozumieme ak\u00e9ko\u013evek za\u0165a\u017eenie na \u00farovni protokolu TCP.<br \/>\n\u00datoky typu L7 maj\u00fa ur\u010dit\u00e9 charakteristick\u00e9 znaky. Po prv\u00e9, prich\u00e1dzaj\u00fa priamo do aplik\u00e1cie, tak\u017ee ich je \u0165a\u017ek\u00e9 odrazi\u0165 sie\u0165ov\u00fdmi prostriedkami. Tak\u00e9to \u00fatoky vyu\u017e\u00edvaj\u00fa logiku, a t\u00fdm ve\u013emi efekt\u00edvne spotrebuj\u00fa CPU, pam\u00e4\u0165, disk, datab\u00e1zu a \u010fal\u0161ie zdroje aj pri n\u00edzkom prenosovom za\u0165a\u017een\u00ed.<\/p>\n<h3>HTTP Flood<\/h3>\n<p>\nPri akomko\u013evek type \u00fatoku je jednoduch\u0161ie vytvori\u0165 z\u00e1\u0165a\u017e ako ju spracova\u0165, a to plat\u00ed aj pre L7. Prev\u00e1dzku \u00fatoku nie je v\u017edy \u013eahk\u00e9 odl\u00ed\u0161i\u0165 od legit\u00edmnej, a naj\u010dastej\u0161ie je to mo\u017en\u00e9 urobi\u0165 na z\u00e1klade frekvencie. Ak je v\u0161etko dobre napl\u00e1novan\u00e9, nie je mo\u017en\u00e9 z logov zisti\u0165, kde je \u00fatok a kde legit\u00edmne po\u017eiadavky. <br \/>\nAko prv\u00fd pr\u00edklad si vezmeme \u00fatok HTTP Flood. Z grafu je zrejm\u00e9, \u017ee tak\u00e9to \u00fatoky b\u00fdvaj\u00fa ve\u013emi siln\u00e9, v uvedenom pr\u00edklade maxim\u00e1lny po\u010det po\u017eiadaviek prekro\u010dil 600 000 za min\u00fatu.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/a2bcd4b2babbb3362a717f93a3f3d1b3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHTTP Flood je najjednoduch\u0161\u00ed sp\u00f4sob, ako vytvori\u0165 z\u00e1\u0165a\u017e. Zvy\u010dajne sa na to pou\u017e\u00edva nejak\u00fd n\u00e1stroj na z\u00e1\u0165a\u017eov\u00e9 testovanie, napr\u00edklad ApacheBench, a zad\u00e1vaj\u00fa sa po\u017eiadavka a cie\u013e. Pri takomto jednoduchom pr\u00edstupe je ve\u013ek\u00e1 pravdepodobnos\u0165, \u017ee naraz\u00edte na caching servera, ale je to \u013eahk\u00e9 ob\u00eds\u0165. Napr\u00edklad pridan\u00edm n\u00e1hodn\u00fdch re\u0165azcov do po\u017eiadavky, \u010do don\u00fati server neust\u00e1le posiela\u0165 \u010derstv\u00fa str\u00e1nku. <br \/>\nTaktie\u017e netreba zab\u00fada\u0165 na user-agent pri vytv\u00e1ran\u00ed z\u00e1\u0165a\u017ee. Ve\u013ea user-agentov popul\u00e1rnych testovac\u00edch n\u00e1strojov je filtrovan\u00fdch syst\u00e9mov\u00fdmi administr\u00e1tormi, a v takom pr\u00edpade m\u00f4\u017ee z\u00e1\u0165a\u017e jednoducho nedorazi\u0165 do backendu. V\u00fdsledok sa m\u00f4\u017ee v\u00fdznamne zlep\u0161i\u0165, ak do po\u017eiadavky vlo\u017e\u00edte viac \u010di menej platn\u00fd z\u00e1hlavn\u00fd \u00fadaj z prehliada\u010da. <br \/>\nNapriek svojej jednoduchosti maj\u00fa \u00fatoky HTTP Flood aj svoje nev\u00fdhody. Po prv\u00e9, na vytvorenie z\u00e1\u0165a\u017ee s\u00fa potrebn\u00e9 ve\u013ek\u00e9 v\u00fdpo\u010dtov\u00e9 kapacity. Po druh\u00e9, tak\u00e9to \u00fatoky s\u00fa ve\u013emi \u013eahko detekovate\u013en\u00e9, najm\u00e4 ak prich\u00e1dzaj\u00fa z jednej adresy. V d\u00f4sledku toho s\u00fa po\u017eiadavky hne\u010f za\u010dat\u00e9 filtrova\u0165 bu\u010f syst\u00e9mov\u00fdmi administr\u00e1tormi, alebo dokonca na \u00farovni poskytovate\u013ea. <\/p>\n<h3>Na \u010do sa zamera\u0165<\/h3>\n<p>\nAby ste zn\u00ed\u017eili po\u010det po\u017eiadaviek za sekundu a pritom nestratili na efekt\u00edvnosti, potrebujete trochu fant\u00e1zie a presk\u00fama\u0165 web. M\u00f4\u017eete za\u0165a\u017eova\u0165 nielen kan\u00e1l alebo server, ale aj jednotliv\u00e9 \u010dasti aplik\u00e1cie, ako s\u00fa datab\u00e1zy alebo s\u00faborov\u00e9 syst\u00e9my. M\u00f4\u017eete tie\u017e h\u013eada\u0165 miesta na webe, ktor\u00e9 vykon\u00e1vaj\u00fa ve\u013ek\u00e9 v\u00fdpo\u010dty: kalkula\u010dky, str\u00e1nky s v\u00fdberom produktov a podobne. Nakoniec, \u010dasto sa st\u00e1va, \u017ee na str\u00e1nke je nejak\u00fd php skript, ktor\u00fd generuje str\u00e1nku z nieko\u013ek\u00fdch stoviek tis\u00edc radov. Tento skript tie\u017e zna\u010dne za\u0165a\u017euje server a m\u00f4\u017ee sa sta\u0165 cie\u013eom \u00fatoku.<\/p>\n<h3>Kde h\u013eada\u0165<\/h3>\n<p>\nKe\u010f skenujeme zdroj pred vykonan\u00edm testovania, najprv sa samozrejme pozrieme na samotn\u00fd web. H\u013ead\u00e1me v\u0161etky mo\u017en\u00e9 vstupn\u00e9 polia, \u0165a\u017ek\u00e9 s\u00fabory - proste v\u0161etko, \u010do m\u00f4\u017ee vytv\u00e1ra\u0165 probl\u00e9my zdroju a spoma\u013eova\u0165 jeho fungovanie. Tu pom\u00e1haj\u00fa oby\u010dajn\u00e9 v\u00fdvoj\u00e1rske n\u00e1stroje v Google Chrome a Firefox, ktor\u00e9 ukazuj\u00fa \u010das odozvy str\u00e1nky. <br \/>\nTaktie\u017e skenujeme subdom\u00e9ny. Napr\u00edklad existuje ur\u010dit\u00fd online obchod, abc.com, a m\u00e1 subdom\u00e9nu admin.abc.com. Pravdepodobne ide o administr\u00e1torsk\u00fa \u010das\u0165 s autoriz\u00e1ciou, ale ak na \u0148u pust\u00edte z\u00e1\u0165a\u017e, m\u00f4\u017ee to sp\u00f4sobi\u0165 probl\u00e9my pre hlavn\u00fd zdroj. <br \/>\nWeb m\u00f4\u017ee ma\u0165 subdom\u00e9nu api.abc.com. Pravdepodobne ide o zdroj pre mobiln\u00e9 aplik\u00e1cie. Aplik\u00e1ciu m\u00f4\u017eete n\u00e1js\u0165 v App Store alebo Google Play, nastavi\u0165 \u0161peci\u00e1lny pr\u00edstupov\u00fd bod, analyzova\u0165 API a zaregistrova\u0165 testovacie \u00fa\u010dty. Probl\u00e9m je v tom, \u017ee mnoh\u00ed si \u010dasto myslia, \u017ee v\u0161etko, \u010do je chr\u00e1nen\u00e9 autoriz\u00e1ciou, je im\u00fanne vo\u010di \u00fatokom na odmietnutie slu\u017eby. Akoby autoriz\u00e1cia bola najlep\u0161ou CAPTCHA, ale nie je. Vytvorenie 10-20 testovac\u00edch \u00fa\u010dtov je jednoduch\u00e9, a po ich vytvoren\u00ed z\u00edskavame pr\u00edstup k rozsiahlemu a nezakryt\u00e9mu funk\u010dn\u00e9mu z\u00e1zemiu. <br \/>\nSamozrejme, pozer\u00e1me sa na hist\u00f3riu, na robots.txt a WebArchive, ViewDNS, h\u013ead\u00e1me star\u0161ie verzie zdroja. Niekedy sa st\u00e1va, \u017ee v\u00fdvoj\u00e1ri vydali, povedzme, mail2.yandex.net, a star\u0161ia verzia, mail.yandex.net, zostala. Tento mail.yandex.net prest\u00e1va by\u0165 podporovan\u00fd, nevenuj\u00fa sa mu v\u00fdvojov\u00e9 zdroje, ale i na\u010falej spotrebov\u00e1va datab\u00e1zu. Pod\u013ea toho je mo\u017en\u00e9 efekt\u00edvne vyu\u017ei\u0165 zdroje backendu a v\u0161etk\u00e9ho, \u010do stoj\u00ed za k\u00f3dovan\u00edm. Samozrejme, to sa nest\u00e1va v\u017edy, ale s podobn\u00fdmi situ\u00e1ciami sa stret\u00e1vame pomerne \u010dasto. <br \/>\nSamozrejme, analyzujeme v\u0161etky parametre po\u017eiadavky, \u0161trukt\u00faru cookies. M\u00f4\u017eeme napr\u00edklad vlo\u017ei\u0165 do JSON po\u013ea vo vn\u00fatri cookies nejak\u00fa hodnotu, vytvori\u0165 ve\u013ek\u00fa vnorenos\u0165 a sp\u00f4sobi\u0165, \u017ee zdroj bude pracova\u0165 nerozumne dlh\u00fa dobu.<\/p>\n<h3>Za\u0165a\u017eenie pri vyh\u013ead\u00e1van\u00ed<\/h3>\n<p>\nPrv\u00e1 vec, ktor\u00e1 napadne pri sk\u00faman\u00ed str\u00e1nky, je za\u0165a\u017ei\u0165 datab\u00e1zu, preto\u017ee vyh\u013ead\u00e1vanie je takmer v\u0161ade a mnoh\u00ed to, \u017eia\u013e, robia zle chr\u00e1nen\u00e9. Ako si mnoh\u00ed v\u00fdvoj\u00e1ri nev\u0161\u00edmaj\u00fa dostato\u010dne vyh\u013ead\u00e1vanie. Ale tu m\u00e1me jednu radu \u2014 netreba robi\u0165 jednoliate po\u017eiadavky, preto\u017ee sa m\u00f4\u017eete stretn\u00fa\u0165 s cachovan\u00edm, ako v pr\u00edpade HTTP flood. <br \/>\nRobi\u0165 n\u00e1hodn\u00e9 po\u017eiadavky na datab\u00e1zu nie je v\u017edy efekt\u00edvne. Ove\u013ea lep\u0161ie je vytvori\u0165 zoznam k\u013e\u00fa\u010dov\u00fdch slov, ktor\u00e9 sa t\u00fdkaj\u00fa vyh\u013ead\u00e1vania. Ak sa vr\u00e1time k pr\u00edkladu internetov\u00e9ho obchodu: povedzme, \u017ee str\u00e1nka pred\u00e1va automobilov\u00e9 pneumatiky a umo\u017e\u0148uje nastavi\u0165 priemer pneumat\u00edk, typ automobilu a \u010fal\u0161ie parametre. Kombin\u00e1cie relevantn\u00fdch slov poved\u00fa k tomu, \u017ee datab\u00e1za bude pracova\u0165 v ove\u013ea zlo\u017eitej\u0161\u00edch podmienkach. <br \/>\nOkrem toho, je vhodn\u00e9 pou\u017e\u00edva\u0165 pagin\u00e1ciu: vyh\u013ead\u00e1vanie m\u00e1 ove\u013ea v\u00e4\u010d\u0161ie \u0165a\u017ekosti pri dod\u00e1van\u00ed predposlednej str\u00e1nky v\u00fdsledkov ako prvej. To znamen\u00e1, \u017ee pomocou pagin\u00e1cie m\u00f4\u017eeme do ur\u010ditej miery diverzifikova\u0165 za\u0165a\u017eenie. <br \/>\nNa ni\u017e\u0161ie uvedenom pr\u00edklade ukazujeme za\u0165a\u017eenie pri vyh\u013ead\u00e1van\u00ed. Je vidie\u0165, \u017ee od prvej sekundy testu s r\u00fdchlos\u0165ou desa\u0165 po\u017eiadaviek za sekundu sa str\u00e1nka zr\u00fatila a prestala odpoveda\u0165.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/dd888d9f3cc0e5058ac9508cee8cc3d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>\u010co ak nie je vyh\u013ead\u00e1vanie?<\/h3>\n<p>\nAk nie je vyh\u013ead\u00e1vanie, neznamen\u00e1 to, \u017ee str\u00e1nka neobsahuje in\u00e9 zranite\u013en\u00e9 vstupn\u00e9 polia. Tak\u00fdmto pol\u00ed\u010dkom m\u00f4\u017ee by\u0165 autoriz\u00e1cia. Dnes v\u00fdvoj\u00e1ri radi robia zlo\u017eit\u00e9 hashovanie, aby ochr\u00e1nili datab\u00e1zu prihl\u00e1sen\u00ed pred \u00fatokom pomocou rainbow tabuliek. Je to dobr\u00e9, ale tak\u00e9to hashe spotrebuj\u00fa ve\u013ek\u00e9 CPU zdroje. Ve\u013ek\u00fd pr\u00fad falo\u0161n\u00fdch autoriz\u00e1ci\u00ed vedie k pre\u0165a\u017eeniu procesora a v d\u00f4sledku toho str\u00e1nka prestane fungova\u0165. <br \/>\nPr\u00edtomnos\u0165 na str\u00e1nke r\u00f4znych formul\u00e1rov pre koment\u00e1re a sp\u00e4tn\u00fa v\u00e4zbu je pr\u00edle\u017eitos\u0165ou zasiela\u0165 tam ve\u013emi ve\u013ek\u00e9 texty alebo jednoducho vytv\u00e1ra\u0165 mas\u00edvny spam. Niekedy str\u00e1nky akceptuj\u00fa vlo\u017een\u00e9 s\u00fabory, vr\u00e1tane form\u00e1tu gzip. V takom pr\u00edpade vezmeme s\u00fabor s ve\u013ekos\u0165ou 1TB, pomocou gzip ho stla\u010d\u00edme na nieko\u013eko bajtov alebo kilobajtov a odo\u0161leme na str\u00e1nku. Potom sa rozbal\u00ed a vznik\u00e1 ve\u013emi zauj\u00edmav\u00fd efekt. <\/p>\n<h3>Rest API<\/h3>\n<p>\nChceli by sme venova\u0165 trochu pozornosti popul\u00e1rnym slu\u017eb\u00e1m, ako je Rest API. Ochrana Rest API je ove\u013ea zlo\u017eitej\u0161ia ako ochrana be\u017enej webovej str\u00e1nky. Pre Rest API nefunguj\u00fa ani ban\u00e1lne sp\u00f4soby ochrany proti hrub\u00e9mu silu a inej nelegit\u00edmnej aktivite. <br \/>\nRest API je ve\u013emi jednoduch\u00e9 rozbi\u0165, preto\u017ee sa priamo prihlasuje k datab\u00e1ze. Zastavenie tak\u00e9hoto servera sp\u00f4sobuje dos\u0165 v\u00e1\u017ene n\u00e1sledky pre podnikanie. Ide o to, \u017ee na Rest API je zvy\u010dajne naviazan\u00fd nielen hlavn\u00fd web, ale aj mobiln\u00e1 aplik\u00e1cia, nejak\u00e9 intern\u00e9 obchodn\u00e9 zdroje. A ak to v\u0161etko zlyh\u00e1, dopad je ove\u013ea silnej\u0161\u00ed ako v pr\u00edpade, ke\u010f zlyh\u00e1 jednoduch\u00e1 webov\u00e1 str\u00e1nka. <\/p>\n<h3>Z\u00e1\u0165a\u017e na \u0165a\u017ek\u00fd obsah<\/h3>\n<p>\nAk n\u00e1m pon\u00fakaj\u00fa testova\u0165 nejak\u00fa be\u017en\u00fa jednopageov\u00fa aplik\u00e1ciu, landing page, vizitkov\u00fa str\u00e1nku, ktor\u00e9 nemaj\u00fa zlo\u017eit\u00fa funkcionalitu, h\u013ead\u00e1me \u0165a\u017ek\u00fd obsah. Napr\u00edklad ve\u013ek\u00e9 obr\u00e1zky, ktor\u00e9 server posiela, bin\u00e1rne s\u00fabory, pdf dokument\u00e1ciu \u2013 sk\u00fa\u0161ame v\u0161etko toto stiahnu\u0165. Tak\u00e9to testy dobre za\u0165a\u017euj\u00fa s\u00faborov\u00fd syst\u00e9m a saturuj\u00fa kan\u00e1ly, a preto s\u00fa \u00fa\u010dinn\u00e9. To znamen\u00e1, \u017ee aj ke\u010f server nezlo\u017e\u00edte pri s\u0165ahovan\u00ed ve\u013ek\u00e9ho s\u00faboru pri n\u00edzkych r\u00fdchlostiach, jednoducho pre\u0165a\u017e\u00edte kan\u00e1l cie\u013eov\u00e9ho servera a nasta\u0148uje tak odmietnutie slu\u017eby. <br \/>\nNa pr\u00edklade takejto sk\u00fa\u0161ky je vidie\u0165, \u017ee pri r\u00fdchlosti 30 RPS sa str\u00e1nka prestala oz\u00fdva\u0165 alebo vr\u00e1tila 500. chyby servera.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/615e212d3a95b36a4f8c492d18508d7c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNesmiete zabudn\u00fa\u0165 ani na nastavenie serverov. \u010casto m\u00f4\u017eete stretn\u00fa\u0165, \u017ee niekto si k\u00fapil virtu\u00e1lny server, nain\u0161taloval tam Apache, nastavil v\u0161etko predvolene, umiestnil php aplik\u00e1ciu a ni\u017e\u0161ie m\u00f4\u017eete vidie\u0165 v\u00fdsledok. <\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/532a478528f8cd80285209f654411b79.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTu za\u0165a\u017eenie i\u0161lo na kore\u0148 a dosiahlo iba 10 RPS. Po\u010dkali sme 5 min\u00fat a server zlyhal. Na konci, pravda, nie je zn\u00e1me, pre\u010do zlyhal, ale existuje domnienka, \u017ee jednoducho spotreboval pr\u00edli\u0161 ve\u013ea pam\u00e4te a prestal reagova\u0165.<\/p>\n<h3>Zalo\u017een\u00e9 na vlne<\/h3>\n<p>\nV posledn\u00fdch dvoch rokoch sa ve\u013emi popul\u00e1rnymi stali vlnov\u00e9 \u00fatoky. Je to sp\u00f4soben\u00e9 t\u00fdm, \u017ee mnoh\u00e9 organiz\u00e1cie nakupuj\u00fa r\u00f4zne zariadenia na ochranu pred DDoS, ktor\u00e9 potrebuj\u00fa ur\u010dit\u00fd \u010das na zber \u0161tatist\u00edk pred za\u010dat\u00edm filtr\u00e1cie \u00fatoku. In\u00fdmi slovami, v prv\u00fdch 30-40 sekund\u00e1ch \u00fatok nefiltruj\u00fa, preto\u017ee zhroma\u017e\u010fuj\u00fa \u00fadaje a u\u010dia sa. V t\u00fdchto 30-40 sekund\u00e1ch m\u00f4\u017eu na str\u00e1nku spusti\u0165 to\u013eko, \u017ee zdroj bude dlhodobo nedostupn\u00fd, k\u00fdm sa v\u0161etky po\u017eiadavky nevybavia. <br \/>\nV pr\u00edpade \u00fatoku ni\u017e\u0161ie bol interval 10 min\u00fat, po ktorom pri\u0161la nov\u00e1, modifikovan\u00e1 d\u00e1vka \u00fatoku.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/1bcc609697e255c6051cd215175801f3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeda ochrana sa nau\u010dila, spustila filtr\u00e1ciu, ale pri\u0161la nov\u00e1, \u00faplne in\u00e1 d\u00e1vka \u00fatoku a ochrana op\u00e4\u0165 za\u010dala u\u010denie. Fakticky, filtr\u00e1cia prest\u00e1va fungova\u0165, ochrana sa st\u00e1va neefekt\u00edvnou a str\u00e1nka je nedostupn\u00e1. <br \/>\nPre vlnov\u00e9 \u00fatoky s\u00fa charakteristick\u00e9 ve\u013emi vysok\u00e9 hodnoty na vrchole, m\u00f4\u017ee dosiahnu\u0165 a\u017e sto tis\u00edc alebo mili\u00f3n po\u017eiadaviek za sekundu, v pr\u00edpade L7. Ak hovor\u00edme o L3 a L4, tam m\u00f4\u017ee by\u0165 stovky gigabitov prenosu, alebo, pod\u013ea toho, stovky mpps, ak po\u010d\u00edtame v paktoch. <br \/>\nProbl\u00e9m tak\u00fdchto \u00fatokov spo\u010d\u00edva v synchroniz\u00e1cii. \u00datoky id\u00fa z botnetu a na to, aby sa vytvoril ve\u013emi ve\u013ek\u00fd jednor\u00e1zov\u00fd vrchol, je potrebn\u00e1 vysok\u00e1 \u00farove\u0148 synchroniz\u00e1cie. A t\u00e1to koordin\u00e1cia sa nie v\u017edy podar\u00ed: niekedy vyjde nejak\u00fd parabolick\u00fd vrchol, ktor\u00fd vyzer\u00e1 dos\u0165 smie\u0161ne.<\/p>\n<h3>Nie HTTP jedin\u00e9<\/h3>\n<p>\nOkrem HTTP na \u00farovni L7 radi vyu\u017e\u00edvame aj in\u00e9 protokoly. Spravidla, be\u017en\u00fd webov\u00fd server, najm\u00e4 oby\u010dajn\u00fd hosting, m\u00e1 na vonkaj\u0161ej strane vystaven\u00e9 po\u0161tov\u00e9 protokoly a MySQL. Po\u0161tov\u00e9 protokoly s\u00fa menej n\u00e1chyln\u00e9 na za\u0165a\u017eenie ako datab\u00e1zy, ale aj tie m\u00f4\u017eu by\u0165 \u00fa\u010dinne za\u0165a\u017een\u00e9 a v\u00fdsledkom m\u00f4\u017ee by\u0165 pre\u0165a\u017een\u00fd CPU na serveri. <br \/>\nPomocou zranite\u013enosti SSH z roku 2016 sme dosiahli \u00faspech. V s\u00fa\u010dasnosti je t\u00e1to zranite\u013enos\u0165 takmer u v\u0161etk\u00fdch opraven\u00e1, ale to neznamen\u00e1, \u017ee na SSH nemo\u017eno aplikova\u0165 z\u00e1\u0165a\u017e. M\u00f4\u017ee sa. Jednoducho sa pod\u00e1va obrovsk\u00e1 z\u00e1\u0165a\u017e autoriz\u00e1ci\u00ed, SSH spotrebuje takmer cel\u00fd CPU na serveri a n\u00e1sledne sa webov\u00e1 str\u00e1nka sklad\u00e1 u\u017e od jedn\u00e9ho a\u017e dvoch po\u017eiadaviek za sekundu. Teda t\u00fdchto jeden-dva po\u017eiadavky pod\u013ea logov nemo\u017eno nijako odl\u00ed\u0161i\u0165 od legit\u00edmnej z\u00e1\u0165a\u017ee. <br \/>\nViacero pripojen\u00ed, ktor\u00e9 otv\u00e1rame na serveroch, zost\u00e1vaj\u00fa relevantn\u00e9. Predt\u00fdm sa t\u00fdmto probl\u00e9mom zaoberal Apache, teraz sa t\u00fdm, bohu\u017eia\u013e, zaober\u00e1 aj nginx, preto\u017ee sa \u010dasto nastavuje predvolene. Po\u010det pripojen\u00ed, ktor\u00e9 m\u00f4\u017ee nginx udr\u017ea\u0165 otvoren\u00e9, je obmedzen\u00fd, a preto pri otvoren\u00ed tohto po\u010dtu pripojen\u00ed u\u017e nov\u00e9 pripojenie nginx neprij\u00edma, \u010do vedie k tomu, \u017ee str\u00e1nka nefunguje. <br \/>\nN\u00e1\u0161 testovac\u00ed klaster m\u00e1 dostato\u010dn\u00fd CPU na to, aby \u00fato\u010dil na SSL handshake. V praxi to, ako ukazuje sk\u00fasenos\u0165, robia aj botnety. Na jednej strane je jasn\u00e9, \u017ee bez SSL to nejde, preto\u017ee ide o sk\u00f3rovanie Google, hodnotenie a bezpe\u010dnos\u0165. Na druhej strane, bohu\u017eia\u013e, sa SSL pot\u00fdka s probl\u00e9mom s CPU. <\/p>\n<h3>L3&amp;4<\/h3>\n<p>\nKe\u010f hovor\u00edme o \u00fatokoch na \u00farovniach L3&amp;4, zvy\u010dajne sa rozpr\u00e1vame o \u00fatoku na \u00farovni kan\u00e1la. Tak\u00e9to za\u0165a\u017eenie je takmer v\u017edy rozl\u00ed\u0161ite\u013en\u00e9 od legit\u00edmneho, ak nejde o \u00fatok SYN-flood. Probl\u00e9m s \u00fatokmi SYN-flood pre obrann\u00e9 prostriedky spo\u010d\u00edva v ve\u013ekom objeme. Maxim\u00e1lna hodnota L3&amp;4 bola 1,5-2 Tbit\/s. Tak\u00fdto trafik je ve\u013emi \u0165a\u017ek\u00e9 spracova\u0165 dokonca aj ve\u013ek\u00fdm spolo\u010dnostiam, vr\u00e1tane Oracle a Google. <br \/>\nSYN a SYN-ACK s\u00fa pakety, ktor\u00e9 sa pou\u017e\u00edvaj\u00fa pri nadv\u00e4zovan\u00ed pripojenia. Preto je \u0165a\u017ek\u00e9 rozl\u00ed\u0161i\u0165 SYN-flood od legit\u00edmneho za\u0165a\u017eenia: nie je jasn\u00e9, \u010di ide o SYN, ktor\u00fd pri\u0161iel na nadviazanie pripojenia, alebo \u010das\u0165 floodu.<\/p>\n<h3>UDP-flood<\/h3>\n<p>\nZvy\u010dajne nemaj\u00fa \u00fato\u010dn\u00edci tak\u00fa v\u00fdpo\u010dtov\u00fa kapacitu ako m\u00e1me my, preto sa na organiz\u00e1ciu \u00fatokov m\u00f4\u017ee pou\u017e\u00edva\u0165 amplifik\u00e1cia. To znamen\u00e1, \u017ee \u00fato\u010dn\u00edk skenuje internet a nach\u00e1dza zranite\u013en\u00e9 alebo nespr\u00e1vne nastaven\u00e9 servery, ktor\u00e9 napr\u00edklad odpovedaj\u00fa troma SYN-ACK na jeden SYN-paket. Podfingovan\u00edm adresy zdroja z adresy cie\u013eov\u00e9ho servera je mo\u017en\u00e9 pomocou jedn\u00e9ho paketu zv\u00fd\u0161i\u0165 v\u00fdkon, povedzme, trikr\u00e1t a presmerova\u0165 trafik na obete.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/33c5f42dc437a0bd2a4676a63d753fa6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nProbl\u00e9mom amplifik\u00e1ci\u00ed je ich \u0165a\u017ek\u00e9 odha\u013eovanie. Medzi posledn\u00e9 pr\u00edpady patr\u00ed zn\u00e1my incident so zranite\u013en\u00fdm memcached. Navy\u0161e, v s\u00fa\u010dasnosti existuje mno\u017estvo zariaden\u00ed IoT, IP kamier, ktor\u00e9 s\u00fa tie\u017e preva\u017ene nastaven\u00e9 predvolene, a s\u00fa v\u00e4\u010d\u0161inou nespr\u00e1vne nastaven\u00e9, preto \u00fato\u010dn\u00edci \u010dasto realizuj\u00fa \u00fatoky prostredn\u00edctvom t\u00fdchto zariaden\u00ed. <\/p>\n<p><img decoding=\"async\" alt=\"DDoS na pomoc: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy\" src=\"\/wp-content\/uploads\/2019\/04\/c7e5d01f94db9c5426d50bf21ed85822.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>N\u00e1ro\u010dn\u00fd SYN-flood<\/h3>\n<p>\nSYN-flood je mo\u017eno najsledovanej\u0161\u00ed sp\u00f4sob \u00fatoku z poh\u013eadu v\u00fdvoj\u00e1ra. Probl\u00e9m je v tom, \u017ee syst\u00e9mov\u00ed administr\u00e1tori \u010dasto pou\u017e\u00edvaj\u00fa blokovanie pod\u013ea IP na ochranu. T\u00fdmto blokovan\u00edm pod\u013ea IP trpia nielen administr\u00e1tori, ktor\u00ed postupuj\u00fa pod\u013ea skriptov, ale, bohu\u017eia\u013e, aj niektor\u00e9 ochrann\u00e9 syst\u00e9my, ktor\u00e9 sa kupuj\u00fa za ve\u013ek\u00e9 peniaze. <br \/>\nTak\u00e1to met\u00f3da m\u00f4\u017ee vies\u0165 k katastrofe, preto\u017ee ak \u00fato\u010dn\u00edci zmenia <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/lir\/ipv4\/\"   title=\"IP adresy\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"623\">IP adresy<\/a>, potom spolo\u010dnos\u0165 zablokuje svoju vlastn\u00fa podsie\u0165. Ke\u010f Firewall zablokuje vlastn\u00fd klaster, vonkaj\u0161ie interakcie sa rozpadn\u00fa a zdroj prestane fungova\u0165. <br \/>\nVlastne dosiahnu\u0165 blokovanie vlastnej siete nie je \u0165a\u017ek\u00e9. Ak m\u00e1 klientova kancel\u00e1ria Wi-Fi sie\u0165, alebo ak sa funk\u010dnos\u0165 zdrojov meria pomocou r\u00f4znych monitorovac\u00edch syst\u00e9mov, vezmeme IP adresu tohto monitorovacieho syst\u00e9mu alebo kancel\u00e1rskej Wi-Fi siete a pou\u017eijeme ju ako zdroj. Na v\u00fdstupe je zdroj akoby dostupn\u00fd, ale cie\u013eov\u00e9 IP adresy s\u00fa zablokovan\u00e9. Takto m\u00f4\u017ee by\u0165 zablokovan\u00e1 Wi-Fi sie\u0165 konferencie HighLoad, kde sa prezentuje nov\u00fd produkt spolo\u010dnosti, \u010do m\u00e1 ur\u010dit\u00e9 obchodn\u00e9 a ekonomick\u00e9 n\u00e1klady. <br \/>\nPo\u010das testovania nem\u00f4\u017eeme pou\u017ei\u0165 amplifik\u00e1ciu cez memcached s extern\u00fdmi zdrojmi, preto\u017ee s\u00fa dohodnut\u00e9 podmienky na prenos prev\u00e1dzky len do povolen\u00fdch IP adries. Preto pou\u017e\u00edvame amplifik\u00e1ciu cez SYN a SYN-ACK, ke\u010f na odoslanie jedn\u00e9ho SYN syst\u00e9m odpoved\u00e1 dvoma a\u017e troma SYN-ACK, a n\u00e1sob\u00ed sa to dvakr\u00e1t a\u017e trikr\u00e1t. <\/p>\n<h3>N\u00e1stroje<\/h3>\n<p>\nJedn\u00fdm z hlavn\u00fdch n\u00e1strojov, ktor\u00e9 pou\u017e\u00edvame na z\u00e1\u0165a\u017e na \u00farovni L7, je Yandex-tank. Konkr\u00e9tne sa ako zbra\u0148 pou\u017e\u00edva fant\u00f3m, plus existuje nieko\u013eko skriptov na generovanie n\u00e1bojov a na anal\u00fdzu v\u00fdsledkov. <br \/>\nNa anal\u00fdzu sie\u0165ovej prev\u00e1dzky pou\u017e\u00edvame Tcpdump, na anal\u00fdzu servera \u2014 Nmap. Na vytvorenie z\u00e1\u0165a\u017ee na \u00farovni L3&amp;4 pou\u017e\u00edvame OpenSSL a trochu vlastnej magie s kni\u017enicou DPDK. DPDK je kni\u017enica od Intelu, ktor\u00e1 umo\u017e\u0148uje pr\u00e1cu so sie\u0165ov\u00fdm rozhran\u00edm mimo Linuxov\u00e9ho z\u00e1sobn\u00edka, \u010d\u00edm zvy\u0161uje efektivitu. Samozrejme, DPDK pou\u017e\u00edvame nielen na \u00farovni L3&amp;4, ale aj na \u00farovni L7, preto\u017ee umo\u017e\u0148uje vytv\u00e1ra\u0165 ve\u013emi vysok\u00fd tok z\u00e1\u0165a\u017ee, v r\u00e1mci nieko\u013ek\u00fdch mili\u00f3nov po\u017eiadaviek za sekundu z jedn\u00e9ho stroja. <br \/>\nTaktie\u017e pou\u017e\u00edvame ur\u010dit\u00e9 gener\u00e1tory prev\u00e1dzky a \u0161peci\u00e1lne n\u00e1stroje, ktor\u00e9 p\u00ed\u0161eme pre \u0161pecifick\u00e9 testy. Ak si spomenieme na zranite\u013enos\u0165 pod SSH, pomocou uvedenej sady sa ned\u00e1 zneu\u017ei\u0165. Ak za\u00fato\u010d\u00edme na po\u0161tov\u00fd protokol, pou\u017eijeme po\u0161tov\u00e9 utilitky alebo jednoducho na ne nap\u00ed\u0161eme skripty.<\/p>\n<blockquote>\n<h3>Zhrnutie<\/h3>\n<p>\nNa z\u00e1ver by som chcel poveda\u0165:<\/p>\n<ul>\n<li>Okrem klasick\u00e9ho z\u00e1\u0165a\u017eov\u00e9ho testovania je nevyhnutn\u00e9 vykon\u00e1va\u0165 aj stresov\u00e9 testovanie. M\u00e1me re\u00e1lny pr\u00edpad, ke\u010f subdod\u00e1vate\u013e partnera vykonal iba z\u00e1\u0165a\u017eov\u00e9 testovanie. Uk\u00e1zalo sa, \u017ee zdroj zvl\u00e1da \u0161tandardn\u00fa z\u00e1\u0165a\u017e. Ale potom sa objavila nezvy\u010dajn\u00e1 z\u00e1\u0165a\u017e, n\u00e1v\u0161tevn\u00edci str\u00e1nok za\u010dali zdroj vyu\u017e\u00edva\u0165 trochu inak \u2014 a nakoniec subdod\u00e1vate\u013e zlyhal. Tak\u017ee h\u013eadanie zranite\u013enost\u00ed je d\u00f4le\u017eit\u00e9, aj ke\u010f u\u017e m\u00e1te ochranu proti DDoS \u00fatokom.<\/li>\n<li>Je potrebn\u00e9 izolova\u0165 jedny \u010dasti syst\u00e9mu od druh\u00fdch. Ak m\u00e1te vyh\u013ead\u00e1vanie, malo by by\u0165 presunut\u00e9 na samostatn\u00e9 stroje, teda ani nie do dockera. Preto\u017ee ak vyh\u013ead\u00e1vanie alebo autoriz\u00e1cia zlyh\u00e1, aspo\u0148 nie\u010do bude pokra\u010dova\u0165 v pr\u00e1ci. V pr\u00edpade internetov\u00e9ho obchodu bud\u00fa pou\u017e\u00edvatelia na\u010falej nach\u00e1dza\u0165 produkty pod\u013ea katal\u00f3gu, prech\u00e1dza\u0165 z agreg\u00e1torov, nakupova\u0165, ak s\u00fa u\u017e prihl\u00e1sen\u00ed, alebo sa prihl\u00e1si\u0165 cez OAuth2.<\/li>\n<li>Nemo\u017eno zanedba\u0165 r\u00f4zne cloudov\u00e9 slu\u017eby. <\/li>\n<li>Pou\u017e\u00edvajte CDN nielen na optimaliz\u00e1ciu sie\u0165ov\u00fdch latenci\u00ed, ale aj ako prostriedok na ochranu pred \u00fatokmi zameran\u00fdmi na vy\u010derpanie kan\u00e1la a jednoducho proti floodingom do statiky.<\/li>\n<li>Je potrebn\u00e9 vyu\u017e\u00edva\u0165 \u0161pecializovan\u00e9 slu\u017eby ochrany. Pred \u00fatokmi L3&amp;4 na \u00farovni kan\u00e1la sa sami neochr\u00e1ni\u0165, preto\u017ee pravdepodobne nem\u00e1te dostato\u010dn\u00fd kan\u00e1l. Pred \u00fatokmi L7 sa tie\u017e \u0165a\u017eko br\u00e1ni\u0165, preto\u017ee m\u00f4\u017eu by\u0165 ve\u013emi rozsiahle. Navy\u0161e h\u013eadanie mal\u00fdch \u00fatokov je aj tak privil\u00e9gium \u0161pecializovan\u00fdch slu\u017eieb, \u0161pecializovan\u00fdch algoritmov. <\/li>\n<li>Pravidelne sa aktualizujte. To sa t\u00fdka nielen jadra, ale aj SSH daemonu, najm\u00e4 ak s\u00fa otvoren\u00e9 na verejnosti. V podstate je potrebn\u00e9 aktualizova\u0165 v\u0161etko, preto\u017ee sledova\u0165 jednotliv\u00e9 zranite\u013enosti si pravdepodobne nebudete m\u00f4c\u0165 sami.<\/li>\n<\/ul>\n<\/blockquote>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/variti\/blog\/448626\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Variti \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u0431\u043e\u0442\u043e\u0432 \u0438 DDoS-\u0430\u0442\u0430\u043a, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u0435\u0441\u0441- \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 HighLoad++ 2018 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438, \u043a\u0430\u043a \u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0430\u0442\u0430\u043a. \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e: \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0439\u0442\u0435 \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 CDN \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0439\u0442\u0435\u0441\u044c. \u041d\u043e \u0431\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u0432\u044b \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u0441\u044c \ud83d\ude42 \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23782,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Variti \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47DDoS \u0432 \u043f\u043e\u043c\u043e\u0449\u044c: \u043a\u0430\u043a \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u0441\u0442\u0440\u0435\u0441\u0441- \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Variti \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:44:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:44:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47DDoS v pomoci: ako vykon\u00e1vame stresov\u00e9 a z\u00e1\u0165a\u017eov\u00e9 testy | ProHoster","description":"Spolo\u010dnos\u0165 Variti vyv\u00edja.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47DDoS \u0432 \u043f\u043e\u043c\u043e\u0449\u044c: \u043a\u0430\u043a \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u0441\u0442\u0440\u0435\u0441\u0441- \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Variti \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:44:01+00:00","article:modified_time":"2019-10-31T18:44:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31924","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-08 20:27:18","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:46:57","updated":"2026-02-08 20:27:18","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=31924"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31924\/revisions"}],"predecessor-version":[{"id":157814,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/31924\/revisions\/157814"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/23782"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=31924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=31924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=31924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}