{"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\/it\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy","title":{"rendered":"DDoS a supporto: come realizziamo test di stress e di carico","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/9e01506f9103d69af131c7a419b10e42.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>L'azienda Variti sviluppa soluzioni di protezione da bot e attacchi DDoS, e conduce test di stress e di carico. Alla conferenza HighLoad++ 2018 abbiamo parlato di come proteggere le risorse da vari tipi di attacchi. In sintesi: isolate le parti del sistema, utilizzate servizi cloud e CDN e aggiornatevi regolarmente. Tuttavia, senza aziende specializzate nella protezione, non ce la farete comunque \ud83d\ude42<\/i><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPrima di leggere il testo, puoi consultare un breve riassunto <noindex><a rel=\"nofollow\" href=\"http:\/\/www.highload.ru\/moscow\/2018\/abstracts\/4201\">sul sito della conferenza<\/a><\/noindex>.<br \/>\nE se non ti piace leggere o vuoi semplicemente guardare un video, la registrazione della nostra presentazione \u00e8 qui sotto nel spoiler.<\/p>\n<p><b class=\"spoiler_title\">Registrazione video della presentazione<\/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=\"Riproduci 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>Molte aziende gi\u00e0 effettuano test di carico, ma non tutte realizzano test di stress. Alcuni nostri clienti pensano che il loro sito sia invulnerabile perch\u00e9 possiedono un sistema highload, che offre una buona protezione dagli attacchi. Mostriamo invece che non \u00e8 del tutto vero. <br \/>\nNaturalmente, prima di effettuare i test, otteniamo l'autorizzazione dal cliente, con firma e timbro; inoltre, non \u00e8 possibile effettuare un attacco DDoS senza il nostro consenso. I test vengono eseguiti in un momento scelto dal cliente, quando il traffico del suo sito \u00e8 minimo, in modo che i problemi di accesso non influiscano sui clienti. Inoltre, poich\u00e9 durante i test pu\u00f2 sempre verificarsi qualche imprevisto, siamo in costante contatto con il cliente. Questo permette non solo di comunicare i risultati ottenuti, ma anche di apportare modifiche durante il testing. Al termine dei test, redigiamo sempre un rapporto che evidenzia le eventuali problematiche riscontrate e forniamo raccomandazioni per eliminare le vulnerabilit\u00e0 del sito. <\/p>\n<h3>Come lavoriamo<\/h3>\n<p>\nDurante i test, emuliamo un botnet. Poich\u00e9 collaboriamo con clienti che non sono all'interno delle nostre reti, per evitare che il test finisca nella prima istante a causa dell'attivazione di limiti o misure di protezione, inviamo il carico non da un solo IP, ma dalla nostra rete. Inoltre, per generare un carico significativo, abbiamo a disposizione un server di test piuttosto potente.<\/p>\n<h3>Postulati<\/h3>\n<p><\/p>\n<blockquote><p><b>Molto non significa necessariamente bene<\/b><br \/>\nMinore \u00e8 il carico al quale possiamo far crollare la risorsa, meglio \u00e8. Se riusciamo a far s\u00ec che il sito smetta di funzionare con una richiesta al secondo, o addirittura con una richiesta al minuto, \u00e8 perfetto. Perch\u00e9, secondo la legge di Murphy, gli utenti o i malintenzionati inavvertitamente colpiranno proprio questa vulnerabilit\u00e0. <\/p><\/blockquote>\n<blockquote><p><b>Il guasto parziale \u00e8 migliore del guasto totale<\/b><br \/>\nConsigliamo sempre di rendere i sistemi eterogenei. Inoltre, dovrebbero essere separati a livello fisico, non solo mediante containerizzazione. In caso di separazione fisica, anche se qualcosa nel sito smette di funzionare, c'\u00e8 una buona probabilit\u00e0 che non smetta di funzionare completamente, e gli utenti manterranno l'accesso almeno a parte delle funzionalit\u00e0.<\/p><\/blockquote>\n<blockquote><p><b>Una buona architettura \u00e8 la base della resilienza<\/b><br \/>\nLa resilienza della risorsa e la sua capacit\u00e0 di resistere a attacchi e carichi devono essere integrate nella fase di progettazione, praticamente nel momento in cui si schizzano i primi diagrammi a blocchi nel taccuino. Perch\u00e9 se si introducono errori fatali, \u00e8 possibile correggerli in seguito, ma \u00e8 molto difficile.<\/p><\/blockquote>\n<blockquote><p><b>Non solo il codice deve essere buono, ma anche la configurazione<\/b><br \/>\nMolti pensano che un buon team di sviluppo sia una garanzia di resilienza del servizio. Un buon team di sviluppo \u00e8 certamente necessario, ma \u00e8 altrettanto importante una buona gestione operativa, un buon DevOps. Ci\u00f2 significa che sono necessari specialisti in grado di configurare correttamente Linux e la rete, scrivere adeguatamente le configurazioni in nginx, impostare limiti e altre impostazioni. Altrimenti, la risorsa funzioner\u00e0 bene solo in fase di test, mentre in produzione, a un certo punto, tutto potrebbe rompersi.<\/p><\/blockquote>\n<blockquote><p><b>Differenze tra test di carico e test di stress<\/b><br \/>\nIl test di carico permette di identificare i limiti di funzionamento del sistema. Il test di stress \u00e8 volto a trovare i punti deboli del sistema e viene utilizzato per 'rompere' il sistema e osservare come si comporta durante il fallimento di determinate parti. Inoltre, il tipo di carico rimane solitamente sconosciuto al cliente fino all'inizio dei test di stress.<\/p><\/blockquote>\n<p><\/p>\n<h3>Caratteristiche distintive degli attacchi L7<\/h3>\n<p>\nLe tipologie di carico sono solitamente suddivise in carichi a livello L7 e L3&amp;4. L7 si riferisce al carico a livello applicativo, che nella maggior parte dei casi \u00e8 inteso solo per HTTP, mentre noi consideriamo qualsiasi carico a livello di protocollo TCP.<br \/>\nGli attacchi L7 presentano alcune caratteristiche distintive. In primo luogo, arrivano direttamente all'applicazione, quindi \u00e8 difficile contrastarli con strumenti di rete. Questi attacchi utilizzano la logica e, grazie a ci\u00f2, consumano in modo molto efficace CPU, memoria, disco, database e altre risorse anche con poco traffico.<\/p>\n<h3>HTTP Flood<\/h3>\n<p>\nIn caso di qualsiasi attacco, \u00e8 pi\u00f9 facile generare il carico rispetto a gestirlo, e questo \u00e8 vero anche per L7. Il traffico di attacco non sempre \u00e8 facile da distinguere da quello legittimo, e spesso questo riesce a farlo in base alla frequenza, ma se tutto \u00e8 pianificato con cura, nei log \u00e8 impossibile capire dove ci sia un attacco e dove ci siano richieste legittime. <br \/>\nCome primo esempio, consideriamo un attacco HTTP Flood. Dal grafico si pu\u00f2 notare che generalmente questi attacchi sono molto potenti; nell'esempio qui sotto, il numero massimo di richieste ha superato le 600.000 al minuto.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/a2bcd4b2babbb3362a717f93a3f3d1b3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHTTP Flood \u00e8 il metodo pi\u00f9 semplice per generare carico. Di solito si utilizza uno strumento di stress test, come ApacheBench, e si impostano la richiesta e l'obiettivo. Con questo approccio semplice, c'\u00e8 una grande probabilit\u00e0 di incappare nel caching del server, ma \u00e8 facile aggirarlo. Ad esempio, aggiungendo stringhe casuali alla richiesta, si costringe il server a restituire continuamente una pagina fresca. <br \/>\nNon bisogna dimenticare il user-agent durante la creazione del carico. Molti user-agent dei popolari strumenti di test vengono filtrati dagli amministratori di sistema, e in tal caso il carico potrebbe semplicemente non arrivare al backend. \u00c8 possibile migliorare significativamente il risultato inserendo nell'intestazione della richiesta un'intestazione di browser pi\u00f9 o meno valida. <br \/>\nNonostante la semplicit\u00e0 dell'attacco, gli attacchi HTTP Flood hanno anche i loro svantaggi. In primo luogo, per generare carico sono necessarie grandi risorse. In secondo luogo, tali attacchi vengono rilevati molto facilmente, soprattutto se provengono da un solo indirizzo. Di conseguenza, le richieste iniziano immediatamente a essere filtrate dagli amministratori di sistema o addirittura a livello del fornitore. <\/p>\n<h3>Cosa cercare<\/h3>\n<p>\nPer ridurre il numero di richieste al secondo senza compromettere l'efficienza, \u00e8 necessario mostrare un po' di creativit\u00e0 e esplorare il sito. \u00c8 possibile caricare non solo il canale o il server, ma anche parti specifiche dell'applicazione, come database o sistemi di file. Inoltre, \u00e8 utile cercare aree del sito che effettuano calcoli pesanti: calcolatrici, pagine di selezione dei prodotti e altro ancora. Infine, spesso ci sono script PHP sul sito che generano pagine da centinaia di migliaia di righe. Questi script possono caricare significativamente il server e diventare un obiettivo per un attacco.<\/p>\n<h3>Dove cercare<\/h3>\n<p>\nQuando scansioniamo una risorsa prima di effettuare un test, guardiamo innanzitutto al sito stesso. Cerchiamo vari campi di input, file pesanti \u2014 insomma, tutto ci\u00f2 che pu\u00f2 creare problemi alla risorsa e rallentare il suo funzionamento. Qui aiutano i comuni strumenti di sviluppo in Google Chrome e Firefox, che mostrano i tempi di risposta della pagina. <br \/>\nScansioniamo anche i sottodomini. Ad esempio, supponiamo che ci sia un negozio online, abc.com, e abbia un sottodominio admin.abc.com. Probabilmente si tratta di un'area di amministrazione con autenticazione, ma se viene sovraccaricata, potrebbe causare problemi al sito principale. <br \/>\nIl sito potrebbe avere un sottodominio api.abc.com. Probabilmente \u00e8 una risorsa per applicazioni mobili. L'applicazione pu\u00f2 essere trovata su App Store o Google Play, installando un punto di accesso speciale, analizzando l'API e registrando account di prova. Il problema \u00e8 che spesso le persone pensano che tutto ci\u00f2 che \u00e8 protetto da autenticazione sia immune agli attacchi di negazione di servizio. Si crede erroneamente che l'autenticazione sia la migliore CAPTCHA, ma non \u00e8 cos\u00ec. Creare 10-20 account di prova \u00e8 semplice, e una volta creati, abbiamo accesso a funzionalit\u00e0 complesse e non schermate. <br \/>\nNaturalmente, analizziamo la storia, il robots.txt e WebArchive, ViewDNS, cercando vecchie versioni della risorsa. A volte capita che gli sviluppatori rilascino, ad esempio, mail2.yandex.net, mentre una vecchia versione, mail.yandex.net, rimane attiva. Questo mail.yandex.net non viene pi\u00f9 supportato, non riceve risorse di sviluppo, ma continua a consumare il database. Di conseguenza, utilizzando la vecchia versione, possiamo sfruttare in modo efficace le risorse del backend e tutto ci\u00f2 che supporta il rendering. Certamente, non accade sempre, ma ci imbattiamo comunque abbastanza spesso in situazioni simili. <br \/>\nNaturalmente, esaminiamo tutti i parametri della richiesta, la struttura dei cookie. Possiamo, ad esempio, inserire un valore all'interno di un array JSON nei cookie, creare una grande nidificazione e costringere la risorsa a funzionare in modo irragionevolmente lento.<\/p>\n<h3>Carico della ricerca<\/h3>\n<p>\nLa prima cosa che viene in mente quando si esplora un sito \u00e8 caricare il database, poich\u00e9 la ricerca \u00e8 presente nella maggior parte dei casi, e spesso \u00e8 purtroppo poco protetta. Per qualche motivo, gli sviluppatori non attribuiscono sufficiente attenzione alla ricerca. Tuttavia, c'\u00e8 un consiglio: evitare di effettuare richieste monotone, poich\u00e9 si pu\u00f2 incorrere nel problema della cache, come nel caso di un attacco HTTP flood. <br \/>\nEffettuare richieste casuali al database non \u00e8 sempre efficace. \u00c8 molto meglio creare un elenco di parole chiave pertinenti alla ricerca. Ritornando all'esempio di un negozio online: supponiamo che il sito venda pneumatici per auto e consenta di specificare il raggio delle gomme, il tipo di auto e altri parametri. Pertanto, combinazioni di parole rilevanti costringeranno il database a lavorare in condizioni molto pi\u00f9 complesse. <br \/>\nInoltre, \u00e8 utile utilizzare la paginazione: per la ricerca \u00e8 molto pi\u00f9 difficile restituire la penultima pagina dei risultati rispetto alla prima. Quindi, attraverso la paginazione, \u00e8 possibile diversificare un po' il carico. <br \/>\nNell'esempio sottostante, dimostriamo il carico sulla ricerca. Si osserva che fin dal primo secondo del test, con una velocit\u00e0 di dieci richieste al secondo, il sito ha smesso di rispondere.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/dd888d9f3cc0e5058ac9508cee8cc3d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Se non ci sono risultati nella ricerca?<\/h3>\n<p>\nSe non ci sono risultati, non significa che il sito non contenga altri campi vulnerabili. Un campo del genere potrebbe essere l'autenticazione. Oggi gli sviluppatori amano utilizzare hash complessi per proteggere il database delle credenziali dagli attacchi tramite tabelle arcobaleno. \u00c8 un buon approccio, ma tali hash richiedono grandi risorse CPU. Un elevato volume di tentativi di accesso non validi porta al sovraccarico della CPU e, di conseguenza, il sito smette di funzionare. <br \/>\nLa presenza di vari moduli per commenti e feedback sul sito \u00e8 un motivo per inviare testi molto lunghi o semplicemente creare un flooding massiccio. A volte i siti accettano file allegati, anche in formato gzip. In tal caso, prendiamo un file di dimensione 1TB, lo comprimiamo con gzip fino a pochi byte o kilobyte e lo inviamo al sito. Successivamente, viene decompresso e si ottiene un effetto molto interessante. <\/p>\n<h3>Rest API<\/h3>\n<p>\nVorrei dedicare un po' di attenzione a servizi molto popolari al giorno d'oggi come Rest API. Proteggere un Rest API \u00e8 molto pi\u00f9 difficile rispetto a un sito web normale. Per i Rest API non funzionano nemmeno i banali metodi di protezione contro l'attacco a forza bruta e altre attivit\u00e0 illecite. <br \/>\nLe REST API \u00e8 molto facile da compromettere, poich\u00e9 si connette direttamente al database. Un malfunzionamento di questo servizio pu\u00f2 avere conseguenze piuttosto gravi per l'attivit\u00e0. Infatti, il REST API \u00e8 spesso legato non solo al sito principale, ma anche all'app mobile e ad alcune risorse aziendali interne. Se tutto questo smette di funzionare, l'impatto \u00e8 molto pi\u00f9 forte rispetto a un semplice sito web che si guasta. <\/p>\n<h3>Carico su contenuti pesanti<\/h3>\n<p>\nQuando ci viene proposto di testare un'applicazione semplice, una landing page o un sito vetrina senza funzionalit\u00e0 complesse, cerchiamo contenuti pesanti. Ad esempio, immagini di grandi dimensioni fornite dal server, file binari, documentazione PDF: proviamo a scaricare tutto questo. Test del genere mettono a dura prova il sistema di file e saturano i canali, risultando quindi efficaci. Anche se non si va a sovraccaricare il server scaricando un grande file a bassa velocit\u00e0, si saturer\u00e0 comunque il canale del server target, causando un rifiuto nel servizio. <br \/>\nDa questo test si pu\u00f2 notare che a una velocit\u00e0 di 30 RPS il sito ha smesso di rispondere o restituiva errori 500 del server.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/615e212d3a95b36a4f8c492d18508d7c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNon dimentichiamo la configurazione dei server. Spesso ci si imbatte in persone che acquistano una virtual machine, installano Apache, configurano tutto con le impostazioni predefinite e posizionano un'applicazione php, e di seguito si pu\u00f2 vedere il risultato. <\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/532a478528f8cd80285209f654411b79.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQui il carico era concentrato all'origine e si attestava a soli 10 RPS. Abbiamo atteso 5 minuti, e il server si \u00e8 bloccato. Non si sa esattamente perch\u00e9 sia successo, ma si ipotizza che abbia semplicemente esaurito la memoria, smettendo quindi di rispondere.<\/p>\n<h3>Wave based<\/h3>\n<p>\nNegli ultimi uno o due anni, gli attacchi a onde sono diventati abbastanza popolari. Questo \u00e8 dovuto al fatto che molte organizzazioni acquistano vari hardware per proteggersi dagli attacchi DDoS, che richiedono un certo tempo per accumulare statistiche prima di iniziare a filtrare l'attacco. Ci\u00f2 significa che non filtrano l'attacco nei primi 30-40 secondi, mentre raccolgono dati e si affinano. Di conseguenza, in quei 30-40 secondi, si pu\u00f2 inondare il sito con richieste tali da farlo collassare per un lungo periodo, fino a quando tutte le richieste non vengono gestite. <br \/>\nNel caso dell'attacco sottostante, c'\u00e8 stato un intervallo di 10 minuti, dopo il quale \u00e8 arrivata una nuova e modificata ondata di attacco.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/1bcc609697e255c6051cd215175801f3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCio\u00e8, la protezione si \u00e8 addestrata, ha avviato la filtrazione, ma \u00e8 arrivato un nuovo attacco completamente diverso, e la protezione ha ricominciato l'addestramento. Di fatto, la filtrazione smette di funzionare, la protezione diventa inefficace e il sito non \u00e8 accessibile. <br \/>\nGli attacchi a onda presentano valori molto elevati al picco, possono raggiungere centomila o addirittura un milione di richieste al secondo, nel caso dell'L7. Per quanto riguarda l'L3&amp;4, ci possono essere centinaia di gigabit di traffico, o, rispettivamente, centinaia di mpps, se consideriamo i pacchetti. <br \/>\nIl problema di tali attacchi \u00e8 la sincronizzazione. Gli attacchi provengono da una botnet, e per creare un picco singolo molto elevato, \u00e8 necessaria un'alta sincronizzazione. E questa coordinazione non sempre riesce: a volte il risultato \u00e8 un picco parabolico, che appare piuttosto misero.<\/p>\n<h3>Non di solo HTTP si vive<\/h3>\n<p>\nOltre all'HTTP a livello L7, ci piace sfruttare anche altri protocolli. In genere, un normale sito web, specialmente un comune hosting, espone protocolli di posta e MySQL. I protocolli di posta sono meno soggetti a sovraccarichi rispetto ai database, ma possono comunque essere caricati in modo sufficientemente efficace, causando un sovraccarico della CPU sul server. <br \/>\nAbbiamo effettivamente avuto successo sfruttando la vulnerabilit\u00e0 SSH del 2016. Ora questa vulnerabilit\u00e0 \u00e8 stata corretta dalla maggior parte, ma ci\u00f2 non significa che non si possa generare carico su SSH. Si pu\u00f2 fare. Viene semplicemente generato un enorme carico di autorizzazioni, e SSH consuma quasi tutta la CPU del server, portando il sito web a collassare con solo uno o due richieste al secondo. Di conseguenza, queste uno o due richieste non possono essere distinte nei log da un carico legittimo. <br \/>\nRimangono rilevanti anche molti collegamenti che apriamo nei server. In passato, questo era un problema con Apache, ora affligge praticamente anche nginx, poich\u00e9 spesso viene configurato di default. Il numero di connessioni che nginx pu\u00f2 mantenere aperte \u00e8 limitato; di conseguenza, una volta raggiunto questo numero, nginx non accetta pi\u00f9 nuove connessioni, e il sito web smette di funzionare. <br \/>\nIl nostro cluster di test ha una potenza di CPU sufficiente per attaccare il SSL handshake. In linea di principio, come dimostra la pratica, anche i botnet a volte amano farlo. Da un lato, \u00e8 chiaro che non si pu\u00f2 fare a meno di SSL, poich\u00e9 influisce sulla classifica di Google e sulla sicurezza. D'altra parte, sfortunatamente, SSL ha un problema di CPU. <\/p>\n<h3>L3&amp;4<\/h3>\n<p>\nQuando parliamo di attacchi ai livelli L3&amp;4, ci riferiamo generalmente ad attacchi a livello di canale. Questo tipo di carico \u00e8 quasi sempre distinguibile da quello legittimo, a meno che non si tratti di un attacco SYN-flood. Il problema degli attacchi SYN-flood per i mezzi di protezione risiede nel loro elevato volume. La massima dimensione per L3&amp;4 ha raggiunto i 1,5-2 Tbps. Tale traffico \u00e8 molto difficile da gestire anche per grandi aziende, compresi Oracle e Google. <br \/>\nSYN e SYN-ACK sono pacchetti utilizzati per l'instaurazione di una connessione. Pertanto, \u00e8 difficile distinguere un attacco SYN-flood da un carico legittimo: non \u00e8 chiaro se sia un SYN ricevuto per stabilire una connessione o parte di un flood.<\/p>\n<h3>UDP-flood<\/h3>\n<p>\nDi solito, gli attaccanti non dispongono della potenza di fuoco che abbiamo noi, quindi per eseguire attacchi possono sfruttare l'amplificazione. In altre parole, un attaccante scansiona Internet e trova server vulnerabili o configurati in modo errato, che, ad esempio, rispondono con tre SYN-ACK a un solo pacchetto SYN. Fingendo l'indirizzo sorgente dell'indirizzo del server obiettivo, \u00e8 possibile aumentare la potenza di un pacchetto, ad esempio, di tre volte e reindirizzare il traffico sulla vittima.<\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/33c5f42dc437a0bd2a4676a63d753fa6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nIl problema delle amplificazioni risiede nella loro difficile individuazione. Tra gli ultimi esempi, si ricorda il caso noto relativo a memcached vulnerabile. Inoltre, ora ci sono molti dispositivi IoT e telecamere IP che, per lo pi\u00f9, sono configurati di default in modo errato, quindi gli attaccanti li utilizzano frequentemente per effettuare attacchi. <\/p>\n<p><img decoding=\"async\" alt=\"DDoS a supporto: come realizziamo test di stress e di carico\" src=\"\/wp-content\/uploads\/2019\/04\/c7e5d01f94db9c5426d50bf21ed85822.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>SYN-flood complesso<\/h3>\n<p>\nL'attacco SYN-flood \u00e8 probabilmente il pi\u00f9 interessante di tutti per un sviluppatore. Il problema \u00e8 che spesso gli amministratori di sistema utilizzano il blocco degli indirizzi IP per proteggersi. Purtroppo, non solo gli amministratori che seguono script ne risentono, ma anche alcuni sistemi di sicurezza costosi. <br \/>\nQuesto metodo pu\u00f2 rivelarsi catastrofico, poich\u00e9 se i malintenzionati sostituiscono <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/lir\/ipv4\/\"   title=\"Indirizzi IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"623\">Indirizzi IP<\/a>, l'azienda bloccher\u00e0 la propria subnet. Quando il Firewall blocca il proprio cluster, le interazioni esterne si interrompono e il servizio va in down. <br \/>\nIn effetti, ottenere il blocco della propria rete non \u00e8 difficile. Se nel ufficio del cliente \u00e8 presente una rete Wi-Fi, oppure se l\u2019efficacia dei servizi viene monitorata tramite diversi strumenti, prendiamo l'indirizzo IP di questo sistema di monitoraggio o quello della rete Wi-Fi dell'ufficio e lo utilizziamo come sorgente. In apparenza, il servizio \u00e8 accessibile, ma gli indirizzi IP target sono bloccati. Potrebbe anche essere bloccata la rete Wi-Fi della conferenza HighLoad, dove viene presentato un nuovo prodotto dell'azienda, il che comporta determinati costi aziendali ed economici. <br \/>\nDurante il test, non possiamo utilizzare l'amplificazione tramite memcached con risorse esterne a causa di accordi che limitano il traffico solo agli indirizzi IP autorizzati. Pertanto, utilizziamo l'amplificazione tramite SYN e SYN-ACK, quando l'invio di un SYN provoca la risposta di due o tre SYN-ACK, aumentando cos\u00ec l'attacco di due o tre volte. <\/p>\n<h3>Strumenti<\/h3>\n<p>\nUno dei principali strumenti che utilizziamo per il carico a livello L7 \u00e8 Yandex-tank. In particolare, come artiglieria utilizziamo Phantom, e ci sono anche diversi script per generare munizioni e analizzare i risultati. <br \/>\nPer analizzare il traffico di rete, utilizziamo Tcpdump; per analizzare il server, utilizziamo Nmap. Per generare carico a livello L3&amp;4, utilizziamo OpenSSL e un po' della nostra magia con la libreria DPDK. DPDK \u00e8 una libreria di Intel che consente di lavorare con l'interfaccia di rete, bypassando lo stack Linux, migliorando cos\u00ec l'efficienza. Naturalmente, utilizziamo DPDK non solo a livello L3&amp;4, ma anche a livello L7, perch\u00e9 consente di generare un flusso di carico molto elevato, nell'ordine di diversi milioni di richieste al secondo da una sola macchina. <br \/>\nUtilizziamo anche generatori di traffico specifici e strumenti creati per test specifici. Se consideriamo la vulnerabilit\u00e0 sotto SSH, il set di strumenti sopra menzionato non pu\u00f2 essere sfruttato. Se attacchiamo il protocollo di posta, utilizziamo utility di posta o semplicemente scriviamo script per esse.<\/p>\n<blockquote>\n<h3>Conclusioni<\/h3>\n<p>\nIn conclusione, vorrei dire:<\/p>\n<ul>\n<li>Oltre al classico testing del carico, \u00e8 fondamentale effettuare anche test di stress. Abbiamo un esempio reale in cui un subappaltatore del partner ha eseguito solo il test di carico. Questo ha dimostrato che la risorsa supporta il carico normale. Ma poi \u00e8 comparso un carico anomalo, i visitatori del sito hanno iniziato a utilizzare la risorsa in modo diverso, e alla fine il subappaltatore \u00e8 andato in down. Pertanto, \u00e8 importante cercare vulnerabilit\u00e0 anche se siete gi\u00e0 protetti dagli attacchi DDoS.<\/li>\n<li>\u00c8 necessario isolare alcune parti del sistema da altre. Se hai un motore di ricerca, deve essere ospitato su macchine separate, non all'interno di Docker. Questo perch\u00e9, se il motore di ricerca o l'autenticazione dovessero fallire, almeno qualcos'altro continuerebbe a funzionare. Nel caso di un negozio online, gli utenti continueranno a trovare prodotti nel catalogo, navigare dai comparatori, acquistare se gi\u00e0 autenticati o autenticarsi tramite OAuth2.<\/li>\n<li>Non trascurare i vari servizi cloud disponibili. <\/li>\n<li>Utilizza il CDN non solo per ottimizzare i ritardi di rete, ma anche come mezzo di protezione contro gli attacchi di esaurimento del canale e semplicemente per il flood sui contenuti statici.<\/li>\n<li>\u00c8 necessario utilizzare servizi di protezione specializzati. Non puoi proteggerti da attacchi L3&amp;4 a livello di canale, perch\u00e9 probabilmente non hai una banda sufficiente. Inoltre, gli attacchi L7 sono difficili da respingere, poich\u00e9 possono essere molto grandi. Inoltre, identificare attacchi minori \u00e8 compito di servizi specializzati e algoritmi dedicati. <\/li>\n<li>Aggiornati regolarmente. Questo vale non solo per il kernel, ma anche per il daemon SSH, soprattutto se sono esposti all'esterno. Fondamentalmente, \u00e8 necessario aggiornare tutto, perch\u00e9 \u00e8 difficile monitorare autonomamente determinate vulnerabilit\u00e0.<\/li>\n<\/ul>\n<\/blockquote>\n<p>Fonte: <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.0.1 - 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 \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 :) \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c\" \/>\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\/it\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 \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 :) \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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 a supporto: come eseguiamo test di stress e di carico | ProHoster","description":"L'azienda Variti sviluppa soluzioni per la protezione da bot e attacchi DDoS, oltre a effettuare test di stress e di carico. Durante la conferenza HighLoad++ 2018, abbiamo parlato di come proteggere le risorse da vari tipi di attacchi. In sintesi: isola le parti del sistema, utilizza servizi cloud e CDN e aggiorna regolarmente. Ma senza compagnie specializzate nella protezione, non ce la farai comunque :) Prima di continuare a leggere","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ddos-v-pomoshh-kak-my-provodim-stress-i-nagruzochnye-testy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 \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 :) \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c","og:url":"https:\/\/prohoster.info\/it\/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\/it\/wp-json\/wp\/v2\/posts\/31924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=31924"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/31924\/revisions"}],"predecessor-version":[{"id":157814,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/31924\/revisions\/157814"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/23782"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=31924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=31924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=31924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}