DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Ang Variti nagpalambo og panalipod batok sa mga bot ug pag-atake sa DDoS, ug nagpahigayon usab og stress ug load testing. Sa HighLoad ++ 2018 nga komperensya among gihisgutan kung unsaon pag-secure ang mga kapanguhaan gikan sa nagkalain-laing matang sa pag-atake. Sa laktud: ilain ang mga bahin sa sistema, gamita ang mga serbisyo sa panganod ug CDN, ug kanunay nga mag-update. Apan dili gihapon nimo madumala ang proteksyon kung wala ang mga espesyalista nga kompanya :)

Sa dili pa basahon ang teksto, mahimo nimong basahon ang mugbong abstracts sa website sa komperensya.
Ug kung dili ka ganahan mobasa o gusto lang motan-aw sa video, ang pagrekord sa among report anaa sa ubos ubos sa spoiler.

Pagrekord sa video sa report

Daghang mga kompanya ang nahibal-an kung giunsa ang paghimo sa pagsulay sa pagkarga, apan dili tanan naghimo sa pagsulay sa stress. Ang pipila sa among mga kostumer naghunahuna nga ang ilang site dili maapektuhan tungod kay sila adunay usa ka highload system, ug kini maayo nga nanalipod gikan sa mga pag-atake. Among gipakita nga kini dili hingpit nga tinuod.
Siyempre, sa wala pa magpahigayon og mga pagsulay, makakuha kami og pagtugot gikan sa kustomer, gipirmahan ug giselyohan, ug uban sa among tabang ang pag-atake sa DDoS dili mahimo sa bisan kinsa. Ang pagsulay gihimo sa usa ka oras nga gipili sa kustomer, kung ang trapiko sa iyang kapanguhaan gamay ra, ug ang mga problema sa pag-access dili makaapekto sa mga kliyente. Dugang pa, tungod kay ang usa ka butang mahimong kanunay nga sayup sa panahon sa proseso sa pagsulay, kami adunay kanunay nga kontak sa kustomer. Kini nagtugot kanimo dili lamang sa pagreport sa mga resulta nga nakab-ot, apan usab sa pag-usab sa usa ka butang sa panahon sa pagsulay. Pagkahuman sa pagsulay, kanunay kaming maghimo usa ka taho diin among gipunting ang nakit-an nga mga kakulangan ug naghatag mga rekomendasyon alang sa pagwagtang sa mga kahuyang sa site.

Giunsa kami nagtrabaho

Kung nagsulay, gisundog namo ang usa ka botnet. Tungod kay nagtrabaho kami sa mga kliyente nga wala mahimutang sa among mga network, aron masiguro nga ang pagsulay dili matapos sa una nga minuto tungod sa mga limitasyon o proteksyon nga gi-trigger, among gihatag ang load dili gikan sa usa ka IP, apan gikan sa among kaugalingon nga subnet. Dugang pa, aron makahimo usa ka hinungdanon nga karga, kami adunay kaugalingon nga kusgan nga server sa pagsulay.

Mga postulates

Ang sobra wala magpasabot nga maayo
Ang gamay nga load nga atong madala sa usa ka kapanguhaan sa kapakyasan, mas maayo. Kung mahimo nimong mapahunong ang site sa usa ka hangyo matag segundo, o bisan usa ka hangyo matag minuto, maayo kana. Tungod kay sumala sa balaod sa kapintasan, ang mga tiggamit o mga tig-atake aksidenteng mahulog niining partikular nga kahuyang.

Ang partial failure mas maayo kay sa hingpit nga kapakyasan
Kanunay namong gitambagan ang paghimo sa mga sistema nga heterogeneous. Dugang pa, angay nga ibulag sila sa pisikal nga lebel, ug dili lamang sa containerization. Sa kaso sa pisikal nga panagbulag, bisan kung adunay usa ka butang nga mapakyas sa site, adunay usa ka taas nga posibilidad nga dili kini mohunong sa pagtrabaho sa hingpit, ug ang mga tiggamit magpadayon nga adunay access sa labing menos bahin sa pagpaandar.

Ang maayong arkitektura mao ang sukaranan sa pagpadayon
Ang pagtugot sa sayup sa usa ka kapanguhaan ug ang abilidad niini nga makasukol sa mga pag-atake ug mga karga kinahanglan nga ibutang sa yugto sa disenyo, sa tinuud, sa yugto sa pagdrowing sa una nga mga flowchart sa usa ka notebook. Tungod kay kon ang makamatay nga mga sayop mokamang, posible nga matul-id kini sa umaabot, apan kini lisud kaayo.

Dili lamang ang code kinahanglan nga maayo, apan usab ang config
Daghang mga tawo ang naghunahuna nga ang usa ka maayo nga grupo sa pagpauswag usa ka garantiya sa serbisyo nga dili matugot sa sayup. Ang usa ka maayo nga team sa pag-uswag gikinahanglan gayud, apan kinahanglan usab nga adunay maayo nga mga operasyon, maayong DevOps. Kana mao, kinahanglan namon ang mga espesyalista nga husto nga mag-configure sa Linux ug sa network, isulat ang mga config sa husto sa nginx, magtakda mga limitasyon, ug uban pa. Kung dili, ang kapanguhaan molihok nga maayo lamang sa pagsulay, ug sa usa ka punto ang tanan maguba sa produksiyon.

Mga kalainan tali sa load ug stress testing
Ang pagsulay sa pagkarga nagtugot kanimo sa pag-ila sa mga limitasyon sa pagpaandar sa sistema. Ang pagsulay sa stress gitumong sa pagpangita sa mga kahuyang sa usa ka sistema ug gigamit aron mabungkag kini nga sistema ug makita kung giunsa kini molihok sa proseso sa pagkapakyas sa pipila nga mga bahin. Sa kini nga kaso, ang kinaiya sa karga kasagaran nagpabilin nga wala mahibal-an sa kustomer sa wala pa magsugod ang pagsulay sa stress.

Lahi nga bahin sa mga pag-atake sa L7

Among kasagarang bahinon ang mga matang sa load ngadto sa mga load sa L7 ug L3&4 nga lebel. Ang L7 usa ka load sa lebel sa aplikasyon, kasagaran kini nagpasabut lamang sa HTTP, apan gipasabot namo ang bisan unsang load sa lebel sa TCP protocol.
Ang mga pag-atake sa L7 adunay piho nga lahi nga bahin. Una, direkta sila nga moabut sa aplikasyon, nga mao, dili tingali nga kini makita pinaagi sa mga paagi sa network. Ang ingon nga mga pag-atake naggamit og lohika, ug tungod niini, gigamit nila ang CPU, memorya, disk, database ug uban pang mga kapanguhaan nga episyente kaayo ug adunay gamay nga trapiko.

HTTP Baha

Sa kaso sa bisan unsa nga pag-atake, ang load mas sayon ​​sa paghimo kay sa pagdumala, ug sa kaso sa L7 kini usab tinuod. Dili kanunay sayon ​​​​ang pag-ila sa trapiko sa pag-atake gikan sa lehitimong trapiko, ug kasagaran kini mahimo pinaagi sa frequency, apan kung ang tanan giplano sa husto, nan imposible nga masabtan gikan sa mga troso kung diin ang pag-atake ug kung diin ang mga lehitimong hangyo.
Ingon usa ka una nga pananglitan, hunahunaa ang usa ka pag-atake sa HTTP Flood. Gipakita sa graph nga ang ingon nga mga pag-atake kasagaran kusog kaayo; sa panig-ingnan sa ubos, ang kinatas-ang gidaghanon sa mga hangyo milapas sa 600 ka libo kada minuto.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Ang HTTP Flood mao ang pinakasayon ​​nga paagi sa paghimo og load. Kasagaran, nagkinahanglan kini og usa ka matang sa load testing tool, sama sa ApacheBench, ug nagtakda og hangyo ug target. Uban sa ingon nga usa ka yano nga pamaagi, adunay usa ka taas nga posibilidad sa pagdagan ngadto sa server caching, apan kini mao ang sayon ​​sa paglaktaw niini. Pananglitan, ang pagdugang sa mga random nga mga kuwerdas sa hangyo, nga magpugos sa server sa kanunay nga pag-alagad sa usa ka bag-ong panid.
Usab, ayaw kalimti ang bahin sa user-agent sa proseso sa paghimo og load. Daghang user-agent sa sikat nga mga himan sa pagsulay ang gisala sa mga administrador sa sistema, ug sa kini nga kaso ang load mahimong dili makaabot sa backend. Mahimo nimong mapauswag ang resulta pinaagi sa pagsal-ot sa usa ka labaw o dili kaayo balido nga header gikan sa browser ngadto sa hangyo.
Sama ka yano sa mga pag-atake sa HTTP Flood, aduna usab silay mga kakulian. Una, dako nga kantidad sa gahum ang gikinahanglan sa paghimo sa load. Ikaduha, ang ingon nga mga pag-atake dali ra mahibal-an, labi na kung gikan kini sa usa ka adres. Ingon usa ka sangputanan, ang mga hangyo nagsugod dayon nga masala sa mga tagdumala sa sistema o bisan sa lebel sa taghatag.

Unsa ang pangitaon

Aron makunhuran ang gidaghanon sa mga hangyo matag segundo nga dili mawala ang kahusayan, kinahanglan nimo nga ipakita ang gamay nga imahinasyon ug pagsuhid sa site. Sa ingon, mahimo nimong i-load dili lamang ang channel o server, apan usab ang mga indibidwal nga bahin sa aplikasyon, pananglitan, mga database o mga sistema sa file. Mahimo usab nimo pangitaon ang mga lugar sa site nga adunay daghang mga kalkulasyon: mga calculator, mga panid sa pagpili sa produkto, ug uban pa. Sa katapusan, kini kasagaran mahitabo nga ang site adunay usa ka matang sa PHP script nga nagmugna sa usa ka panid sa pipila ka gatus ka libo ka mga linya. Ang ingon nga script labi usab nga nagkarga sa server ug mahimo’g usa ka target sa usa ka pag-atake.

Asa mangita

Kung nag-scan kami sa usa ka kapanguhaan sa wala pa pagsulay, una namon tan-awon, siyempre, ang site mismo. Gipangita namo ang tanan nga mga matang sa input field, bug-at nga mga file - sa kinatibuk-an, ang tanan nga makamugna og mga problema alang sa kapanguhaan ug makapahinay sa operasyon niini. Ang mga himan sa pagpalambo sa banal sa Google Chrome ug Firefox makatabang dinhi, nga nagpakita sa mga oras sa pagtubag sa panid.
Gi-scan usab namo ang mga subdomain. Pananglitan, adunay usa ka online nga tindahan, abc.com, ug kini adunay subdomain admin.abc.com. Lagmit, kini usa ka admin panel nga adunay pagtugot, apan kung ibutang nimo ang usa ka load niini, mahimo’g maghimo mga problema alang sa panguna nga kapanguhaan.
Ang site mahimong adunay subdomain api.abc.com. Lagmit, kini usa ka kapanguhaan alang sa mga aplikasyon sa mobile. Makit-an ang aplikasyon sa App Store o Google Play, pag-install ug espesyal nga access point, pag-dissect sa API ug pagrehistro sa mga account sa pagsulay. Ang problema mao nga ang mga tawo kanunay nga naghunahuna nga ang bisan unsang butang nga gipanalipdan sa pagtugot dili makalikay sa mga pag-atake sa pagdumili sa serbisyo. Gituohan nga, ang pagtugot mao ang labing kaayo nga CAPTCHA, apan dili. Sayon ang paghimo og 10-20 nga mga account sa pagsulay, apan pinaagi sa paghimo niini, makakuha kami og access sa komplikado ug wala’y pagtago nga pagpaandar.
Natural, atong tan-awon ang kasaysayan, sa robots.txt ug WebArchive, ViewDNS, ug mangita sa mga daan nga bersyon sa kapanguhaan. Usahay mahitabo nga ang mga developers naglunsad, ingnon ta, mail2.yandex.net, apan ang daan nga bersyon, mail.yandex.net, nagpabilin. Kini nga mail.yandex.net wala na gisuportahan, ang mga kapanguhaan sa pag-uswag wala gigahin niini, apan nagpadayon kini nga gigamit ang database. Tungod niini, gamit ang daan nga bersyon, mahimo nimong epektibo nga magamit ang mga kahinguhaan sa backend ug ang tanan nga naa sa luyo sa layout. Siyempre, dili kini kanunay nga mahitabo, apan kanunay naton kini masugatan.
Natural, among analisahon ang tanan nga mga parameter sa hangyo ug ang istruktura sa cookie. Mahimo nimo, ingnon ta, ihulog ang pila ka kantidad sa usa ka laray sa JSON sa sulod sa usa ka cookie, maghimo daghang mga salag ug himuon ang kapanguhaan nga molihok sa dili makatarunganon nga taas nga panahon.

Pangitaa load

Ang una nga butang nga naa sa hunahuna kung mag-research sa usa ka site mao ang pag-load sa database, tungod kay hapit tanan adunay pagpangita, ug alang sa halos tanan, sa kasubo, kini dili maayo nga gipanalipdan. Alang sa pipila ka rason, ang mga developers wala magtagad sa pagpangita. Apan adunay usa ka rekomendasyon dinhi - dili ka kinahanglan maghimo mga hangyo sa parehas nga tipo, tungod kay mahimo nimong masugatan ang pag-cache, sama sa kaso sa pagbaha sa HTTP.
Ang paghimo ug random nga mga pangutana sa database dili usab kanunay epektibo. Mas maayo nga maghimo usa ka lista sa mga keyword nga adunay kalabotan sa pagpangita. Kung mobalik kita sa panig-ingnan sa usa ka online nga tindahan: ingnon ta nga ang site nagbaligya sa mga ligid sa awto ug gitugotan ka nga itakda ang radius sa mga ligid, ang tipo sa awto ug uban pang mga parameter. Tungod niini, ang mga kombinasyon sa may kalabutan nga mga pulong magpugos sa database sa pagtrabaho sa labi ka komplikado nga mga kahimtang.
Dugang pa, angayan nga gamiton ang pagination: mas lisud alang sa pagpangita nga ibalik ang penultimate nga panid sa mga resulta sa pagpangita kaysa sa una. Sa ato pa, sa tabang sa pagination mahimo nimo gamay nga pag-diversify ang load.
Ang pananglitan sa ubos nagpakita sa load sa pagpangita. Makita nga gikan sa unang segundo sa pagsulay sa gikusgon nga napulo ka hangyo matag segundo, ang site nahulog ug wala motubag.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Kung walay search?

Kung walay pagpangita, wala kini magpasabot nga ang site wala'y sulod nga uban pang mga huyang nga input field. Kini nga natad mahimong awtorisasyon. Karong panahona, gusto sa mga developer nga maghimo mga komplikado nga hash aron mapanalipdan ang database sa pag-login gikan sa pag-atake sa lamesa sa balangaw. Maayo kini, apan ang ingon nga mga hash naggamit sa daghang mga kapanguhaan sa CPU. Ang usa ka dako nga pagdagayday sa bakak nga mga pagtugot nagdala ngadto sa usa ka kapakyasan sa processor, ug ingon nga resulta, ang site mihunong sa pagtrabaho.
Ang presensya sa site sa tanan nga mga matang sa mga porma alang sa mga komentaryo ug feedback usa ka hinungdan sa pagpadala sa daghang mga teksto didto o paghimo lang usa ka dako nga baha. Usahay ang mga site modawat sa gilakip nga mga file, lakip sa gzip format. Sa kini nga kaso, nagkuha kami usa ka 1TB nga file, gi-compress kini sa daghang mga byte o kilobytes gamit ang gzip ug ipadala kini sa site. Unya kini gi-unzipped ug usa ka makapaikag kaayo nga epekto makuha.

Pahuway sa API

Gusto nakong hatagan ug gamay nga pagtagad ang mga sikat nga serbisyo sama sa Rest API. Ang pagsiguro sa usa ka Rest API labi ka lisud kaysa usa ka regular nga website. Bisan ang gamay nga mga pamaagi sa pagpanalipod batok sa brute force sa password ug uban pang dili lehitimo nga kalihokan dili molihok alang sa Rest API.
Ang Rest API sayon ​​kaayo nga mabungkag tungod kay kini direktang nag-access sa database. Sa parehas nga oras, ang kapakyasan sa ingon nga serbisyo adunay daghang seryoso nga sangputanan alang sa negosyo. Ang kamatuoran mao nga ang Rest API kasagarang gigamit dili lamang alang sa nag-unang website, kondili alang usab sa mobile application ug pipila ka internal nga mga kapanguhaan sa negosyo. Ug kung kining tanan mahulog, nan ang epekto labi ka kusog kaysa sa kaso sa usa ka yano nga pagkapakyas sa website.

Nag-load sa bug-at nga sulud

Kung gitanyagan kami nga sulayan ang pipila ka ordinaryo nga us aka panid nga aplikasyon, landing page, o website sa business card nga wala’y komplikado nga pagpaandar, nangita kami ug bug-at nga sulud. Pananglitan, ang dagkong mga imahe nga gipadala sa server, binary nga mga file, dokumentasyon sa pdf - gisulayan namon nga i-download kining tanan. Ang ingon nga mga pagsulay nag-load sa file system nga maayo ug nagbara sa mga channel, ug busa epektibo. Kana mao, bisan kung dili nimo ibutang ang server, ang pag-download sa usa ka dako nga file sa mubu nga tulin, imong mabara ang channel sa target nga server ug unya ang usa ka pagdumili sa serbisyo mahitabo.
Ang usa ka pananglitan sa ingon nga pagsulay nagpakita nga sa katulin nga 30 RPS ang site mihunong sa pagtubag o naghimo sa ika-500 nga mga sayup sa server.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Ayaw kalimti ang bahin sa pag-set up sa mga server. Kanunay nimong makit-an nga ang usa ka tawo nagpalit usa ka virtual nga makina, nag-install sa Apache didto, gi-configure ang tanan nga default, nag-install usa ka aplikasyon sa PHP, ug sa ubos makita nimo ang resulta.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Dinhi ang load miadto sa gamut ug mikabat lamang sa 10 RPS. Naghulat kami ug 5 ka minuto ug nahagsa ang server. Tinuod nga dili hingpit nga mahibal-an kung ngano nga siya nahulog, apan adunay usa ka pangagpas nga sobra ra ang iyang panumduman ug busa mihunong sa pagtubag.

Gibase sa wave

Sa miaging tuig o duha, ang mga pag-atake sa wave nahimong popular kaayo. Kini tungod sa kamatuoran nga daghang mga organisasyon ang nagpalit ug piho nga mga piraso sa hardware alang sa proteksyon sa DDoS, nga nanginahanglan usa ka piho nga oras sa pagtipon sa mga istatistika aron masugdan ang pagsala sa pag-atake. Sa ato pa, wala nila gisala ang pag-atake sa una nga 30-40 segundos, tungod kay nagtigum sila og datos ug nakakat-on. Tungod niini, niining 30-40 segundos mahimo nimong ilunsad ang daghan kaayo sa site nga ang kapanguhaan mamakak sa dugay nga panahon hangtud nga ang tanan nga mga hangyo malimpyohan.
Sa kaso sa pag-atake sa ubos, adunay gilay-on nga 10 minuto, pagkahuman usa ka bag-o, giusab nga bahin sa pag-atake ang miabot.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Kana mao, ang depensa nakakat-on, nagsugod sa pagsala, apan ang usa ka bag-o, hingpit nga lahi nga bahin sa pag-atake miabut, ug ang depensa nagsugod sa pagkat-on pag-usab. Sa tinuud, ang pagsala mihunong sa pagtrabaho, ang proteksyon mahimong dili epektibo, ug ang site dili magamit.
Ang mga pag-atake sa balud gihulagway sa taas kaayo nga mga kantidad sa kinatumyan, mahimo’g makaabot sa usa ka gatos ka libo o usa ka milyon nga mga hangyo matag segundo, sa kaso sa L7. Kung maghisgot kita bahin sa L3&4, mahimo’g adunay gatusan ka gigabit nga trapiko, o, sa ingon, gatusan nga mpps, kung mag-ihap ka sa mga pakete.
Ang problema sa ingon nga mga pag-atake mao ang pag-synchronize. Ang mga pag-atake naggikan sa usa ka botnet ug nanginahanglan usa ka taas nga lebel sa pag-synchronize aron makahimo usa ka dako kaayo nga usa ka higayon nga spike. Ug kini nga koordinasyon dili kanunay nga molihok: usahay ang output usa ka matang sa parabolic peak, nga morag makaluluoy.

Dili HTTP ra

Dugang sa HTTP sa L7, gusto namong pahimuslan ang ubang mga protocol. Ingon sa usa ka lagda, ang usa ka regular nga website, labi na ang usa ka regular nga pag-host, adunay mga protocol sa mail ug MySQL nga nagpabilin. Ang mga protocol sa mail gipailalom sa gamay nga load kaysa sa mga database, apan mahimo usab kini nga ma-load nga episyente ug matapos sa usa ka overloaded nga CPU sa server.
Kami adunay tinuod nga kalampusan sa 2016 SSH nga kahuyang. Karon kini nga pagkahuyang naayo na sa halos tanan, apan wala kini magpasabut nga ang load dili masumite sa SSH. Mahimo. Adunay yano nga usa ka dako nga karga sa mga pagtugot, ang SSH mokaon sa halos tibuok nga CPU sa server, ug unya ang website nahugno gikan sa usa o duha ka hangyo kada segundo. Tungod niini, kining usa o duha ka hangyo nga gibase sa mga troso dili mailhan gikan sa usa ka lehitimong karga.
Daghang mga koneksyon nga among giablihan sa mga server nagpabilin usab nga may kalabutan. Kaniadto, ang Apache sad-an niini, karon ang nginx sa tinuud nga sad-an niini, tungod kay kini kanunay nga gi-configure pinaagi sa default. Ang gidaghanon sa mga koneksyon nga ang nginx mahimong magpadayon nga bukas limitado, mao nga among giablihan kini nga gidaghanon sa mga koneksyon, ang nginx dili na modawat sa usa ka bag-ong koneksyon, ug ingon nga resulta ang site dili molihok.
Ang among test cluster adunay igo nga CPU sa pag-atake sa SSL handshake. Sa prinsipyo, ingon sa gipakita sa praktis, ang mga botnet usahay ganahan nga buhaton usab kini. Sa usa ka bahin, klaro nga dili nimo mahimo kung wala ang SSL, tungod kay ang mga resulta sa Google, ranggo, seguridad. Sa laing bahin, ang SSL sa walay palad adunay isyu sa CPU.

L3 ug 4

Kung maghisgot kami bahin sa usa ka pag-atake sa lebel sa L3&4, kasagaran nga naghisgot kami bahin sa usa ka pag-atake sa lebel sa link. Ang ingon nga usa ka karga hapit kanunay mailhan gikan sa usa ka lehitimo, gawas kung kini usa ka pag-atake sa SYN-baha. Ang problema sa mga pag-atake sa SYN-baha alang sa mga himan sa seguridad mao ang ilang dako nga gidaghanon. Ang labing kataas nga kantidad sa L3&4 mao ang 1,5-2 Tbit / s. Kini nga matang sa trapiko lisud kaayo nga iproseso bisan sa mga dagkong kompanya, lakip ang Oracle ug Google.
Ang SYN ug SYN-ACK mga packet nga gigamit sa paghimo og koneksyon. Busa, ang SYN-baha lisud mailhan gikan sa usa ka lehitimong karga: dili klaro kung kini usa ka SYN nga mianhi aron magtukod usa ka koneksyon, o bahin sa usa ka baha.

UDP-baha

Kasagaran, ang mga tig-atake walay mga kapabilidad nga naa kanato, mao nga ang pagpadako mahimong magamit sa pag-organisar sa mga pag-atake. Sa ato pa, gi-scan sa tig-atake ang Internet ug nakit-an ang mga mahuyang o dili husto nga pag-configure sa mga server nga, pananglitan, agig tubag sa usa ka pakete sa SYN, motubag sa tulo ka SYN-ACK. Pinaagi sa pag-spoof sa tinubdan nga adres gikan sa adres sa target nga server, posible nga madugangan ang gahum pinaagi sa, ingnon ta, tulo ka beses sa usa ka pakete ug i-redirect ang trapiko sa biktima.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Ang problema sa mga amplification mao nga kini lisud mahibal-an. Ang bag-o nga mga pananglitan naglakip sa makapakurat nga kaso sa mga huyang nga memcached. Dugang pa, karon adunay daghang mga IoT nga mga aparato, mga IP camera, nga kasagaran usab gi-configure pinaagi sa default, ug pinaagi sa default sila na-configure nga dili husto, mao nga ang mga tig-atake kanunay nga nag-atake pinaagi sa ingon nga mga aparato.

DDoS to the rescue: kung giunsa namo pagpahigayon ang stress ug load tests

Lisod SYN-baha

SYN-baha mao tingali ang labing makapaikag nga matang sa pag-atake gikan sa usa ka developer sa punto sa panglantaw. Ang problema mao nga ang mga tagdumala sa sistema kanunay nga naggamit sa pag-block sa IP alang sa proteksyon. Dugang pa, ang pag-block sa IP makaapekto dili lamang sa mga tigdumala sa sistema nga naglihok gamit ang mga script, apan usab, sa kasubo, ang pipila ka mga sistema sa seguridad nga gipalit alang sa daghang salapi.
Kini nga pamaagi mahimong usa ka katalagman, tungod kay kung ang mga tig-atake mopuli sa mga IP address, ang kompanya mag-block sa kaugalingon nga subnet. Kung gibabagan sa Firewall ang kaugalingon nga cluster, ang output mapakyas sa mga eksternal nga interaksyon ug ang kapanguhaan mapakyas.
Dugang pa, dili lisud ang pag-block sa imong kaugalingon nga network. Kung ang opisina sa kliyente adunay Wi-Fi network, o kung ang pasundayag sa mga kahinguhaan gisukod gamit ang lainlaing mga sistema sa pag-monitor, nan gikuha namon ang IP address sa kini nga sistema sa pag-monitor o ang Wi-Fi sa opisina sa kliyente ug gigamit kini ingon usa ka gigikanan. Sa katapusan, ang kapanguhaan ingon nga magamit, apan ang target nga mga adres sa IP gibabagan. Sa ingon, ang Wi-Fi network sa HighLoad nga komperensya, diin ang bag-ong produkto sa kompanya gipresentar, mahimong ma-block, ug kini nag-apil sa piho nga gasto sa negosyo ug ekonomiya.
Atol sa pagsulay, dili kami makagamit sa amplification pinaagi sa memcached sa bisan unsa nga eksternal nga mga kapanguhaan, tungod kay adunay mga kasabutan sa pagpadala sa trapiko lamang sa gitugotan nga mga IP address. Tungod niini, gigamit namo ang amplification pinaagi sa SYN ug SYN-ACK, kung ang sistema motubag sa pagpadala sa usa ka SYN nga adunay duha o tulo ka SYN-ACK, ug sa output ang pag-atake gipadaghan sa duha o tulo ka beses.

Mga himan

Usa sa mga nag-unang himan nga among gigamit alang sa L7 nga workload mao ang Yandex-tank. Sa partikular, ang usa ka phantom gigamit ingon usa ka pusil, ug adunay daghang mga script alang sa paghimo og mga cartridge ug alang sa pag-analisar sa mga resulta.
Ang Tcpdump gigamit sa pag-analisar sa trapiko sa network, ug ang Nmap gigamit sa pag-analisar sa server. Aron mahimo ang load sa L3&4 nga lebel, ang OpenSSL ug gamay sa among kaugalingong magic gamit ang DPDK library gigamit. Ang DPDK usa ka librarya gikan sa Intel nga nagtugot kanimo sa pagtrabaho sa interface sa network nga nag-bypass sa Linux stack, sa ingon nagdugang ang kahusayan. Natural, gigamit namon ang DPDK dili lamang sa lebel sa L3&4, apan sa lebel usab sa L7, tungod kay gitugotan kami nga maghimo usa ka taas nga dagan sa pagkarga, sa sulud sa daghang milyon nga mga hangyo matag segundo gikan sa usa ka makina.
Gigamit usab namo ang pipila ka mga generator sa trapiko ug mga espesyal nga himan nga among gisulat alang sa piho nga mga pagsulay. Kung atong hinumdoman ang kahuyang ubos sa SSH, nan ang set sa ibabaw dili mapahimuslan. Kung giatake namo ang mail protocol, nagkuha kami og mga mail utilities o nagsulat lang og mga script niini.

kaplag

Isip konklusyon gusto nakong isulti:

  • Dugang sa classic load testing, gikinahanglan ang pagpahigayon og stress testing. Naa tay tinuod nga ehemplo diin ang subcontractor sa kauban nagpahigayon lang ug load testing. Gipakita niini nga ang kapanguhaan makasugakod sa normal nga karga. Apan unya usa ka abnormal nga load nagpakita, ang mga bisita sa site nagsugod sa paggamit sa kapanguhaan sa usa ka gamay nga lahi, ug ingon nga resulta ang subcontractor mihigda. Busa, angayan nga pangitaon ang mga kahuyangan bisan kung naprotektahan ka na gikan sa mga pag-atake sa DDoS.
  • Gikinahanglan nga ihimulag ang pipila ka bahin sa sistema gikan sa uban. Kung adunay ka pagpangita, kinahanglan nimo nga ibalhin kini sa lainlaing mga makina, kana, dili bisan sa Docker. Tungod kay kung mapakyas ang pagpangita o pagtugot, labing menos adunay magpadayon nga molihok. Sa kaso sa usa ka online nga tindahan, ang mga tiggamit magpadayon sa pagpangita sa mga produkto sa katalogo, gikan sa aggregator, pagpalit kung sila awtorisado na, o pagtugot pinaagi sa OAuth2.
  • Ayaw pasagdi ang tanan nga mga klase sa serbisyo sa panganod.
  • Gamita ang CDN dili lamang aron ma-optimize ang mga paglangan sa network, apan ingon usab usa ka paagi sa pagpanalipod batok sa mga pag-atake sa kakapoy sa channel ug yano nga pagbaha sa static nga trapiko.
  • Kinahanglan nga gamiton ang espesyal nga serbisyo sa pagpanalipod. Dili nimo mapanalipdan ang imong kaugalingon gikan sa mga pag-atake sa L3&4 sa lebel sa channel, tungod kay lagmit wala ka igo nga channel. Dili usab nimo mahimo nga makig-away sa mga pag-atake sa L7, tungod kay mahimo kini nga dako kaayo. Dugang pa, ang pagpangita alang sa gagmay nga mga pag-atake mao gihapon ang katungod sa mga espesyal nga serbisyo, mga espesyal nga algorithm.
  • Pag-update kanunay. Kini magamit dili lamang sa kernel, apan usab sa SSH daemon, labi na kung gibuksan nimo kini sa gawas. Sa prinsipyo, ang tanan kinahanglan nga ma-update, tungod kay dili nimo mahimo nga masubay ang pipila ka mga kahuyangan sa imong kaugalingon.

Source: www.habr.com

Idugang sa usa ka comment