Gli attacchi denial-of-service distribuiti, o DDoS in breve, sono diventati un evento comune e un serio mal di testa per i proprietari di risorse Internet in tutto il mondo. Ecco perché la protezione contro gli attacchi DDoS sul sito non è oggi opzione aggiuntiva, ma un must per chi vuole evitare tempi di inattività, enormi perdite e una reputazione danneggiata.
Ti diciamo più in dettaglio cos'è questa malattia e come proteggerti da essa.
Distributed Denial of Service o "Distributed Denial of Service" - un attacco a sistema informativo in modo che non fosse in grado di elaborare le richieste degli utenti. In termini semplici, DDoS consiste nel sopprimere una risorsa Web o un server con traffico proveniente da un numero enorme di fonti, rendendolo inaccessibile. Spesso un tale attacco viene effettuato per provocare interruzioni nel funzionamento delle risorse di rete in una grande azienda o organizzazione governativa.
Un attacco DDoS è simile a un'altra comune minaccia web, Denial of Service (DoS). L'unica differenza è che un normale attacco distribuito proviene da un punto, mentre un attacco DDos è più diffuso e proviene da fonti diverse.
L'obiettivo principale di un attacco DDoS è rendere un sito Web inaccessibile ai visitatori bloccandone il funzionamento. Ma ci sono momenti in cui tali attacchi vengono effettuati per distogliere l'attenzione da altre influenze dannose. Un attacco DDoS può, ad esempio, essere eseguito quando un sistema di sicurezza viene compromesso per impossessarsi del database di un'organizzazione.
Gli attacchi DDoS sono venuti all'attenzione del pubblico nel 1999, quando si sono verificati una serie di attacchi ai siti Web di grandi aziende (Yahoo, eBay, Amazon, CNN). Da allora, questo tipo di crimine informatico si è evoluto in una minaccia globale. Secondo gli esperti, negli ultimi anni la loro frequenza è aumentata di 2,5 volte e la potenza massima ha iniziato a superare 1 Tbps. Una società russa su sei è stata vittima di un attacco DDoS almeno una volta. Entro il 2020, il loro numero totale raggiungerà i 17 milioni.
Una piattaforma di hosting con protezione 24 ore su 24 contro i più sofisticati attacchi DDoS.
DDoS può distruggere siti di qualsiasi dimensione, dai normali blog a più grandi corporazioni, banche e altri istituti finanziari.
Secondo una ricerca condotta da Kaspersky Lab, un attacco potrebbe costare a un'azienda fino a 1,6 milioni di dollari. Questo è un grave danno, perché la risorsa Web attaccata non può essere riparata per un po' di tempo, il che causa tempi di inattività.
Molto spesso, siti e server subiscono attacchi DDoS:
Non molto tempo fa, le apparecchiature connesse a Internet, chiamate collettivamente Internet of Things (IoT), sono state aggiunte alla triste lista delle frequenti vittime di attacchi DDoS. maggior parte grande slancio la crescita in questo settore è dimostrata dagli attacchi informatici volti a interrompere il lavoro dei registratori di cassa online grandi magazzini o centri commerciali.
Tutti i server Web hanno i propri limiti sul numero di richieste che possono elaborare contemporaneamente. Inoltre, c'è un limite alla larghezza di banda del canale che collega la rete e il server. Per aggirare queste restrizioni, gli aggressori creano rete di computer con software dannoso, chiamato "botnet" o "rete di zombi".
Per creare una botnet, i criminali informatici distribuiscono un trojan tramite e-mail, social network o siti web. I computer che fanno parte di una botnet non hanno una connessione fisica tra loro. Sono uniti solo dal "servire" gli obiettivi del proprietario-hacker.
Durante un attacco DDoS, un hacker invia comandi ai computer zombi "infetti" e questi iniziano ad attaccare. Le botnet generano un'enorme quantità di traffico che può sovraccaricare qualsiasi sistema. I principali "oggetti" per DDoS sono solitamente la larghezza di banda del server, il server DNS e la stessa connessione Internet.
Quando le azioni degli intrusi raggiungono il loro obiettivo, questo può essere immediatamente determinato da errori nel funzionamento del server o della risorsa ospitata lì. Ma ci sono una serie di segnali indiretti attraverso i quali è possibile scoprire un attacco DDoS anche all'inizio.
Un attacco DDoS è diretto al livello di rete di un server o di una risorsa Web, motivo per cui viene spesso definito attacco a livello di rete o di trasporto. Il suo scopo è causare un sovraccarico del tablespace su un firewall con un registro di sicurezza integrato (firewall), su una rete centrale o su un sistema di bilanciamento del carico.
Il metodo DDoS più comune a livello di trasporto è alluvione della rete, la creazione di un enorme flusso di richieste vuote a diversi livelli, che il nodo ricevente non può gestire fisicamente.
Generalmente servizio di rete applica la regola FIFO, secondo la quale il computer non procede al servizio della seconda richiesta finché non ha elaborato la prima. Ma durante un attacco, il numero di richieste aumenta così tanto che il dispositivo non dispone di risorse sufficienti per completare la prima richiesta. Di conseguenza, l'alluvione satura il più possibile la larghezza di banda e ostruisce strettamente tutti i canali di comunicazione.
Questa variazione viene utilizzata quando è necessario sequestrare o disabilitare le risorse hardware. L'obiettivo dei "predoni" può essere sia fisico che RAM o tempo del processore.
Non è necessario sovraccaricare la larghezza di banda. È sufficiente sovraccaricare il processore della vittima o, in altre parole, occupare l'intero tempo di elaborazione.
Un attacco DDoS a livello di applicazione sfrutta un difetto di programmazione che crea una vulnerabilità del software ad un attacco esterno. A questa specie può essere attribuito a un attacco così comune come "Ping of death" (Ping of death) - invio di massa al computer della vittima di pacchetti ICMP di maggiore lunghezza, causando un overflow del buffer.
Ma gli hacker professionisti raramente ricorrono a un metodo così semplice come il sovraccarico della larghezza di banda. Per attaccare i sistemi complessi delle grandi aziende, cercano di comprendere appieno la struttura di sistema del server e scrivono un exploit: un programma, una catena di comandi o parte del codice del programma che tenga conto della vulnerabilità del software della vittima e sia utilizzato per attaccare il computer.
Secondo Corero Network Security, più di ⅔ di tutte le aziende del mondo sono colpite ogni mese da attacchi di "negazione dell'accesso". E il loro numero raggiunge i 50.
I proprietari di siti che non forniscono protezione del server dagli attacchi DDoS possono non solo subire enormi perdite, ma anche ridurre la fiducia dei clienti e la competitività sul mercato.
Il modo più efficace per proteggersi dagli attacchi DDoS è attraverso i filtri installati dal provider sui canali Internet ad alta larghezza di banda. Eseguono un'analisi sequenziale di tutto il traffico e identificano attività o errori di rete sospetti. I filtri possono essere installati sia a livello di router che con l'ausilio di dispositivi hardware speciali.
In questo articolo, abbiamo esaminato cosa significa un attacco DDoS e come proteggere il tuo sito dagli attacchi. È importante ricordare che tali azioni dannose possono disabilitare anche le risorse Web più sicure e più grandi. Ciò comporterà gravi conseguenze sotto forma di enormi perdite e perdita di clienti. Ecco perché proteggere la tua risorsa dagli attacchi DDoS è un compito urgente per tutte le strutture commerciali e le agenzie governative.
Se desideri un livello professionale di protezione contro gli attacchi DDoS, scegli! Monitoraggio costante e supporto tecnico 24 ore su 24.
L'attacco DoS e DDoS è un impatto esterno aggressivo sulle risorse informatiche di un server o postazione di lavoro effettuato con lo scopo di portare quest'ultimo al fallimento. Per guasto, non intendiamo il guasto fisico della macchina, ma l'indisponibilità delle sue risorse per gli utenti coscienziosi: il fallimento del sistema nel servirle ( D eniale o F S servizio, da cui si forma la sigla DoS).
Se un tale attacco viene eseguito da un singolo computer, viene classificato come DoS (DoS), se da più - DDoS (DDoS o DDoS), il che significa "D rilasciato D eniale o F S service" - denial of service distribuito. Successivamente, parleremo del motivo per cui gli aggressori eseguono tali azioni, cosa sono, quali danni causano agli attaccati e come questi ultimi proteggono le loro risorse.
I server aziendali di aziende e siti Web sono esposti ad attacchi, molto meno spesso: personal computer individui. Lo scopo di tali azioni, di regola, è lo stesso: infliggere danni economici alla persona attaccata e allo stesso tempo rimanere nell'ombra. IN singoli casi Gli attacchi DoS e DDoS sono una delle fasi dell'hacking del server e mirano a rubare o distruggere informazioni. In effetti, un'azienda o un sito Web appartenente a chiunque può diventare vittima di aggressori.
Un diagramma che illustra l'essenza di un attacco DDoS:
Gli attacchi DoS e DDoS vengono spesso eseguiti su suggerimento di concorrenti disonesti. Quindi, "riempiendo" il sito web di un negozio online che offre un prodotto simile, puoi diventare temporaneamente un "monopolista" e prendere per te i suoi clienti. "Mettendo giù" un server aziendale, puoi interrompere il lavoro di un'azienda concorrente e quindi ridurre la sua posizione sul mercato.
Gli attacchi su larga scala che possono causare danni significativi vengono solitamente eseguiti da criminali informatici professionisti per molto denaro. Ma non sempre. Gli hacker dilettanti nostrani possono attaccare le tue risorse - per interesse e vendicatori tra i dipendenti licenziati e semplicemente quelli che non condividono le tue opinioni sulla vita.
A volte l'impatto viene effettuato a scopo di estorsione, mentre l'attaccante chiede apertamente denaro al proprietario della risorsa per fermare l'attacco.
I server di società statali e organizzazioni note vengono spesso attaccati da gruppi anonimi di hacker altamente qualificati per influenzare i funzionari o provocare proteste pubbliche.
Il principio di funzionamento degli attacchi DoS e DDoS è inviare un grande flusso di informazioni al server, che, al massimo (per quanto consentito dalle capacità dell'hacker), carica le risorse di calcolo del processore, memoria ad accesso casuale, intasa i canali di comunicazione o riempie lo spazio su disco. La macchina attaccata non è in grado di far fronte all'elaborazione dei dati in entrata e smette di rispondere alle richieste degli utenti.
Ecco come si presenta il normale funzionamento del server, visualizzato nel programma Logstalgia:
L'efficacia dei singoli attacchi DOS non è molto elevata. Inoltre, un attacco da un personal computer espone l'aggressore al rischio di essere identificato e catturato. Gli attacchi distribuiti (DDoS) effettuati dalle cosiddette reti zombie o botnet forniscono molti più profitti.
Ecco come il sito Norse-corp.com mostra l'attività della botnet:
Una rete zombie (botnet) è un gruppo di computer che non hanno alcun collegamento fisico tra loro. Sono uniti dal fatto che sono tutti sotto il controllo di un aggressore. Il controllo è esercitato attraverso Troiano, che per il momento potrebbe non manifestarsi in alcun modo. Quando esegue un attacco, un hacker ordina ai computer infetti di inviare richieste al sito Web o al server della vittima. E lui, incapace di resistere all'assalto, smette di rispondere.
Ecco come Logstalgia mostra un attacco DDoS:
Qualsiasi computer può unirsi alla botnet. E anche uno smartphone. È sufficiente catturare un Trojan e non rilevarlo in tempo. A proposito, la più grande botnet contava quasi 2 milioni di macchine in tutto il mondo e i loro proprietari non avevano idea di cosa dovessero fare.
Prima di lanciare un attacco, l'hacker capisce come eseguirlo con il massimo effetto. Se il nodo attaccato presenta diverse vulnerabilità, l'impatto può essere effettuato in direzioni diverse, il che complicherà notevolmente le contromisure. Pertanto, è importante che ogni amministratore di server studi tutti i suoi "colli di bottiglia" e, se possibile, li rafforzi.
Flud, dicendo linguaggio semplice, si tratta di informazioni che non portano un carico semantico. Nel contesto degli attacchi DoS / DDoS, un'inondazione è una valanga di richieste vuote e prive di significato di un livello o di un altro che il nodo ricevente è costretto a elaborare.
Lo scopo principale dell'utilizzo del flooding è quello di ostruire completamente i canali di comunicazione, per saturare al massimo la larghezza di banda.
Tipi di fluidi:
Esistono tipi di flood che influiscono non sul canale di comunicazione, ma sulle risorse hardware del computer attaccato, caricandole al massimo e provocando un blocco o un arresto anomalo. Per esempio:
Ci sono incommensurabilmente più opzioni per eseguire tali attacchi che con l'uso delle inondazioni. La loro implementazione dipende dall'abilità e dall'esperienza dell'attaccante, dalla sua capacità di trovare errori nel codice del programma e di utilizzarli a proprio vantaggio ea scapito del proprietario della risorsa.
Dopo che un hacker scopre una vulnerabilità (un errore in Software, che può essere utilizzato per interrompere il sistema), dovrà solo creare ed eseguire un exploit, un programma che sfrutti questa vulnerabilità.
Lo sfruttamento delle vulnerabilità non è sempre inteso a causare solo un denial of service. Se l'hacker è fortunato, potrà ottenere il controllo della risorsa e disporre a sua discrezione di questo "dono del destino". Ad esempio, utilizzare per distribuire malware, rubare e distruggere informazioni, ecc.
Se l'attaccante è riuscito a raggiungere l'obiettivo, è impossibile non notare l'attacco, ma in alcuni casi l'amministratore non può determinare esattamente quando è iniziato. Cioè, dall'inizio di un attacco a sintomi evidenti, a volte passano diverse ore. Tuttavia, durante l'impatto latente (fino a quando il servitore non si "sdraia"), sono presenti anche alcuni segni. Per esempio:
Tutto quanto sopra non è un segno al 100% di un attacco, ma è sempre un motivo per prestare attenzione al problema e adottare adeguate misure protettive.
Si parla molto di attacchi al sito, di hacking, ma non si è parlato dell'argomento DDOS. Oggi correggiamo questa situazione e vi offriamo recensione completa tecnologie per l'organizzazione di attacchi DDoS e strumenti ben noti per eseguire attacchi di hacker.
Puoi visualizzare l'elenco degli strumenti disponibili per gli attacchi DDOS in KALI eseguendo il comando:
kali > /usr/share/exploitdb/platforms/windows/dos |
Per visualizzare gli strumenti di attacco DDoS Linux disponibili, immetti il comando:
/usr/share/exploitdb/platforms/Linux/dos. |
Il cannone a ioni ad orbita bassa (LOIC) Forse il programma DDOS più popolare. Può inviare richieste di massa tramite ICMP, protocolli UDP, bloccando così il canale verso il server della vittima. L'attacco LOIC più noto è stato effettuato da Anonymous nel 2009 contro PayPal, Visa, MasterCard come rappresaglia per l'esclusione di WikiLeaks dal sistema di raccolta fondi.
Gli attacchi organizzati utilizzando LOIC possono essere sfruttati bloccando i pacchetti UDP e ICMP apparecchiature di rete fornitori di Internet. È possibile scaricare gratuitamente il programma LOIC stesso sul sito web. Questo strumento per Basamento Windows e lavorare con esso è molto semplice, specifica i siti della vittima e premi un solo pulsante.
HOIC è stato sviluppato come parte dell'operazione Payback da Praetox dallo stesso team che ha creato LOIC. La differenza fondamentale è che HOIC utilizza il protocollo HTTP e invia un flusso di GET HTTP casuali e Richieste POST. È in grado di attaccare contemporaneamente 256 domini. Puoi scaricarlo da .
XOIC è un altro strumento DDOS molto semplice. L'utente deve solo impostare l'indirizzo IP della vittima, selezionare il protocollo (HTTP, UDP, ICMP o TCP) e premere il grilletto! Puoi scaricarlo da
UDP Flooder è all'altezza del suo nome: uno strumento progettato per inviare più pacchetti UDP a un obiettivo. UDP Flooder viene spesso utilizzato negli attacchi DDOS a server di gioco, per disconnettere i giocatori dal server. Il programma è disponibile per il download all'indirizzo .
Il martello di ToR è stato progettato per funzionare rete, al fine di ottenere un maggiore anonimato dell'aggressore. Il problema con questo strumento è che la rete TOR è piuttosto lenta e quindi riduce l'efficacia di un attacco DDoS. Scarica questo Programma DDOS puoi dai siti Packet Storm o .
Pyloris è un altro strumento DDoS che utilizza nuovo approccio. Consente a un utente malintenzionato di creare la propria richiesta HTTP univoca. Il programma proverà quindi a tenere Connessione TCP aprire con tali richieste, riducendo così il numero di connessioni disponibili sul server. Quando viene raggiunto il limite di connessione del server, il server non può più servire le connessioni e il sito diventa non disponibile. Questo strumento è disponibile per il download gratuito dal sito web.
Open Web Application Security Project (OWASP) e ProactiveRISK hanno sviluppato uno strumento Strumento DoS Switchblade per il test Applicazioni WEB resistenza agli attacchi DDoS e ha tre modalità di funzionamento: 1. SSL Half-Open, 2. HTTP Post e 3. Slowloris. Puoi scaricarlo per la revisione dal sito web di OWASP.
Questo strumento DDOS (incluso con Kali) differisce dalla maggior parte degli strumenti DDOS in quanto non utilizza la larghezza di banda Internet e può essere utilizzato da un singolo computer. Vulnerabilità degli exploit THC-SSL-DOS Protocollo SSL ed è in grado di "mettere" il server di destinazione. A meno che, ovviamente, non esista questa vulnerabilità. Puoi scaricare il programma dal sito Web di THC o utilizzarlo kali-linux dove questo strumento è già installato.
Qui finisce la nostra recensione, ma in futuro torneremo sull'argomento degli attacchi DDoS sulle pagine del nostro blog.
Combattere gli attacchi DDoS non è solo un lavoro difficile, ma anche entusiasmante. Non sorprende che ogni amministratore di sistema cerchi prima di tutto di organizzare la difesa da solo, soprattutto perché ciò è ancora possibile.
Abbiamo deciso di aiutarti in questo difficile compito e pubblicare alcuni consigli brevi, banali e non universali per proteggere il tuo sito dagli attacchi. Queste ricette non ti aiuteranno ad affrontare alcun attacco, ma ti salveranno dalla maggior parte dei pericoli.
La dura verità è che molti siti possono essere abbattuti da chiunque utilizzi l'attacco Slowloris, che uccide Apache, o organizzando un cosiddetto SYN flood utilizzando una farm Server virtuali raccolti al minuto nel cloud di Amazon EC2. Tutti i nostri ulteriori consigli per proteggersi autonomamente dagli attacchi DDoS si basano sulle seguenti importanti condizioni.
La pratica suggerisce che un sito che gira su Windows (2003 o 2008 - non importa) è condannato in caso di DDoS. Il motivo dell'errore risiede nello stack di rete di Windows: quando ci sono molte connessioni, il server inizierà sicuramente a rispondere male. Non sappiamo perché Server Windows in tali situazioni, funziona in modo così disgustoso, ma ci siamo imbattuti in questo più di una o due volte. Per questo motivo, questo articolo si concentrerà sui mezzi di protezione contro gli attacchi DDoS nel caso in cui il server sia in esecuzione su Linux. Se sei un felice possessore di un kernel relativamente moderno (a partire dalla 2.6), gli strumenti principali saranno le utilità iptables e ipset (per aggiungere rapidamente indirizzi IP), con le quali puoi vietare rapidamente i bot. Un'altra chiave del successo è uno stack di rete ben preparato, di cui parleremo anche in seguito.
La seconda condizione importante è il rifiuto di Apache. Se hai Apache, almeno mettigli davanti un proxy di memorizzazione nella cache: nginx o lighttpd. Apache "è estremamente difficile da regalare file e, peggio ancora, è fondamentalmente (cioè incorreggibilmente) vulnerabile al più pericoloso attacco Slowloris, che ti consente di riempire il server quasi da cellulare. Per combattere vari tipi di Slowloris, gli utenti di Apache hanno prima creato la patch Anti-slowloris.diff, poi mod_noloris, poi mod_antiloris, mod_limitipconn, mod_reqtimeout... Ma se vuoi dormire la notte, è più facile prendere un server HTTP che è invulnerabile a Slowloris al codice a livello di architettura. Pertanto, tutte le nostre ulteriori ricette si basano sul presupposto che nginx sia utilizzato sul frontend.
Cosa fare se arriva DDoS? La tradizionale tecnica di autodifesa consiste nel leggere il file di log del server HTTP, scrivere un pattern grep (che cattura le richieste dei bot) e bandire chiunque vi rientri. Questa tecnica funzionerà... se sei fortunato. Esistono due tipi di botnet, entrambi pericolosi, ma in modi diversi. Uno arriva completamente al sito all'istante, l'altro - gradualmente. Il primo uccide tutto in una volta, ma l'intera cosa appare nei log, e se li grepaet e bandisci tutti gli indirizzi IP, allora sei il vincitore. La seconda botnet definisce il sito con delicatezza e attenzione, ma probabilmente dovrai vietarlo per un giorno. È importante che qualsiasi amministratore capisca: se prevedi di combattere con grep, devi essere pronto a dedicare un paio di giorni alla lotta contro l'attacco. Di seguito sono riportati suggerimenti su dove puoi mettere le cannucce in anticipo in modo che non sia così doloroso cadere.
Forse la ricetta più importante, efficace e operativa di questo articolo. Se il tuo sito riceve DDoS, allora il massimo in modo efficiente il modulo testcookie-nginx, sviluppato dall'utente habra @kyprizel, può diventare un rifiuto. L'idea è semplice. Molto spesso, i bot che implementano il flooding HTTP sono piuttosto stupidi e non dispongono di cookie HTTP e meccanismi di reindirizzamento. A volte si incontrano quelli più avanzati: possono utilizzare cookie ed elaborare reindirizzamenti, ma quasi mai un bot DoS trasporta un motore JavaScript completo (sebbene questo stia diventando sempre più comune). Testcookie-nginx funge da filtro rapido tra i bot e il back-end durante un attacco DDoS L7, consentendo di filtrare le richieste spazzatura. Cosa è incluso in questi controlli? Il client sa come eseguire il reindirizzamento HTTP, supporta JavaScript, è il browser che afferma di essere (perché JavaScript è diverso ovunque e se il client dice che è, diciamo, Firefox, allora possiamo verificarlo). La verifica viene attuata utilizzando i cookie con diverse modalità:
Per evitare l'analisi automatica, il cookie di convalida può essere crittografato con AES-128 e successivamente decrittografato sul lato client JavaScript. IN nuova versione modulo, è diventato possibile impostare un cookie tramite Flash, che consente anche di eliminare efficacemente i bot (che Flash, di norma, non supporta), ma, tuttavia, blocca anche l'accesso a molti utenti legittimi (infatti, tutti dispositivi mobili). È interessante notare che è estremamente facile iniziare a utilizzare testcookie-nginx. Lo sviluppatore, in particolare, fornisce diversi chiari esempi di utilizzo (per diversi casi di attacco) con campioni di configurazione per nginx.
Oltre ai vantaggi, i testcookie presentano anche degli svantaggi:
In una parola, testcookie_module non è universale. Ma da una serie di cose, come, ad esempio, i toolkit primitivi in \u200b\u200bJava e C #, aiuta. Quindi, hai tagliato parte della minaccia.
Gli attacchi DDoS spesso prendono di mira la parte di un sito Web che richiede più risorse. Un esempio tipico è una ricerca che esegue complesse query di database. Naturalmente, gli aggressori possono trarne vantaggio caricando contemporaneamente diverse decine di migliaia di richieste sul motore di ricerca. Ciò che possiamo fare? Disattiva temporaneamente la ricerca. Mentre i clienti non saranno in grado di cercare le informazioni di cui hanno bisogno con gli strumenti integrati, l'intero sito principale rimarrà attivo e funzionante fino a quando non troverai la radice di tutti i problemi. Nginx supporta il codice 444 non standard, che ti consente di chiudere semplicemente la connessione e non restituire nulla in risposta:
Località/ricerca ( return 444; )
Pertanto, è possibile, ad esempio, implementare rapidamente il filtraggio per URL. Se sei sicuro che le richieste di localizzazione /ricerca provengano solo da bot (ad esempio, la tua sicurezza si basa sul fatto che il tuo sito non ha affatto una sezione /ricerca), puoi installare il pacchetto ipset sul server e banna i bot con un semplice script di shell:
Ipset -N ban iphash tail -f access.log | mentre leggi LINEA; do echo "$LINEA" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A ban "$(L%% *)"; fatto
Se il formato dei file di registro non è standard (non combinato) o è necessario vietare per motivi diversi dallo stato della risposta, potrebbe essere necessario sostituire cut con un'espressione regolare.
Il codice di risposta non standard 444 può anche essere utile per vietare rapidamente i client in base alla georeferenziazione. Puoi limitare severamente i singoli paesi da cui ti senti a disagio. Ad esempio, è improbabile che un negozio di fotocamere online di Rostov sul Don abbia molti utenti in Egitto. Non è molto buon modo(francamente, disgustoso), perché i dati GeoIP sono imprecisi e i Rostoviti a volte volano in Egitto in vacanza. Ma se non hai nulla da perdere, segui le istruzioni:
Se, ad esempio, i robot provenissero principalmente dalla Cina, questo potrebbe aiutare.
Infine, puoi ripetere l'esperienza dell'utente @SaveTheRbtz, che ha preso la rete neurale PyBrain, vi ha inserito il log e analizzato le richieste (habrahabr.ru/post/136237). Il metodo funziona, anche se non universale :). Ma se conosci davvero l'interno del tuo sito - e tu, come amministratore di sistema, dovresti - allora è probabile che nelle situazioni più tragiche, un tale strumento basato su reti neurali, formazione e informazioni raccolte in anticipo ti aiuterà. In questo caso è molto utile avere un access.log prima dell'inizio del DDoS, in quanto descrive quasi il 100% dei client legittimi, e quindi un ottimo dataset per il training rete neurale. Soprattutto perché gli occhi nei log bot non sono sempre visibili.
Il sito non funziona - perché? È DDoSed o è un bug del motore non notato dal programmatore? Non importa. Non cercare una risposta a questa domanda. Se pensi che il tuo sito possa essere attaccato, contatta le aziende che forniscono protezione contro gli attacchi - numerosi servizi anti-DDoS offrono gratuitamente il primo giorno dopo la connessione - e non perdere altro tempo a cercare i sintomi. Concentrati sul problema. Se il sito funziona lentamente o non si apre affatto, allora c'è qualcosa che non va nelle sue prestazioni e, indipendentemente dal fatto che ci sia o meno un attacco DDoS, tu, come professionista, sei obbligato a capire cosa lo sta causando. Abbiamo più volte assistito a come un'azienda che ha avuto difficoltà con il funzionamento del proprio sito a causa di un attacco DDoS, invece di cercare punti deboli nel motore del sito, ha cercato di inviare richieste al Ministero degli affari interni per trovare e punire gli aggressori. Non commettere errori del genere. La ricerca dei criminali informatici è un processo lungo e difficile, complicato dalla struttura e dai principi stessi di Internet, e il problema con il funzionamento del sito deve essere risolto tempestivamente. Forza specialisti tecnici scopri qual è il motivo del calo delle prestazioni del sito e gli avvocati potranno scrivere una dichiarazione.
Per la piattaforma di creazione di siti Web più comune - PHP + MySQL - il collo di bottiglia può essere individuato utilizzando i seguenti strumenti:
Se il sito è sdraiato sulla schiena e non perdi nulla, disconnettiti dalla rete, guarda i log, prova a riprodurli. In caso contrario, sfoglia le pagine, guarda la base.
L'esempio è per PHP, ma l'idea è valida per qualsiasi piattaforma. Scrittura dello sviluppatore prodotti software in qualunque linguaggio di programmazione, deve essere in grado di utilizzare velocemente sia il debugger che il profiler. Esercitati in anticipo!
Analizza la quantità di traffico, il tempo di risposta del server, il numero di errori. Vedi i log per questo. In nginx, il tempo di risposta del server viene registrato nel log da due variabili: request_time e upstream_response_time. Il primo è il tempo totale di esecuzione della richiesta, inclusi i ritardi di rete tra l'utente e il server; il secondo indica da quanto tempo il backend (Apache, php_fpm, uwsgi...) esegue la richiesta. Il valore upstream_response_time è estremamente importante per i siti con molti contenuti dinamici e comunicazione attiva tra il frontend e il database e non dovrebbe essere trascurato. È possibile utilizzare la seguente configurazione come formato del registro:
Log_format xakep_log "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent " ""$http_referer" "$http_user_agent" $request_time \ $upstream_response_time";
Questo è un formato combinato con campi temporali aggiunti.
Guarda anche il numero di richieste al secondo. Nel caso di nginx, puoi stimare approssimativamente questo valore con il seguente comando shell (la variabile ACCESS_LOG contiene il percorso del registro delle richieste nginx in formato combinato):
Echo $(($(fgrep -c "$(env LC_ALL=C date --date=@$(($(date \ +%s)-60)) +%d/%b/%Y:%H: %M)" "$ACCESS_LOG")/60))
Rispetto al livello normale per quest'ora del giorno, il numero di richieste al secondo può sia diminuire che aumentare. Crescono se arriva una botnet di grandi dimensioni e diminuiscono se la botnet in arrivo blocca il sito, rendendolo completamente inaccessibile agli utenti legittimi e, allo stesso tempo, la botnet non richiede statica, ma gli utenti legittimi sì. Il calo del numero di richieste si osserva proprio a causa della statica. Ma, in un modo o nell'altro, stiamo parlando di seri cambiamenti negli indicatori. Quando ciò accade all'improvviso, mentre stai cercando di risolvere il problema da solo e se non lo vedi subito nel registro, è meglio controllare rapidamente il motore e contattare gli specialisti in parallelo.
Molte persone dimenticano che tcpdump è un fantastico strumento diagnostico. Farò un paio di esempi. Nel dicembre 2011 è stato scoperto un bug in Kernel Linux quando ha aperto una connessione TCP con i flag di segmento TCP SYN e RST impostati. La prima segnalazione di bug è stata inviata da un amministratore di sistema dalla Russia, la cui risorsa è stata attaccata con questo metodo: gli aggressori hanno scoperto la vulnerabilità prima del mondo intero. Ovviamente, una tale diagnosi lo ha aiutato. Un altro esempio: nginx ha una proprietà non molto carina: scrive nel registro solo dopo che la richiesta è stata completamente elaborata. Ci sono situazioni in cui il sito non funziona, niente funziona e non c'è niente nei log. Questo perché tutte le richieste che sono in questo momento caricare il server non è ancora stato eseguito. Tcpdump aiuterà anche qui.
È così buono che ho consigliato alle persone di non usare i protocolli binari fino a quando non sono sicuri che tutto sia in ordine, perché i protocolli di testo sono facili da eseguire il debug con tcpdump, ma i protocolli binari no.Tuttavia, lo sniffer è buono come strumento diagnostico - come mezzo per mantenere la produzione" ed è spaventoso. Può facilmente perdere più pacchetti contemporaneamente e rovinare la cronologia degli utenti. È conveniente osservarne l'output e sarà utile per la diagnostica manuale e un divieto, ma cerca di non basare nulla di critico su di esso. Un altro strumento preferito per le "richieste di riscaldamento" - ngrep - generalmente per impostazione predefinita tenta di richiedere circa due gigabyte di memoria non scambiabile e solo allora inizia a ridurre i propri requisiti.
Come distinguere un attacco DDoS, ad esempio, dall'effetto di una campagna pubblicitaria? Questa domanda può sembrare ridicola, ma questo argomento non è meno complesso. Ci sono alcuni casi piuttosto divertenti. Per alcuni bravi ragazzi, quando si sono irrigiditi e hanno rovinato completamente la memorizzazione nella cache, il sito si è ammalato per un paio di giorni. Si è scoperto che per diversi mesi questo sito era stato impercettibilmente dataminato da alcuni tedeschi, e prima di ottimizzare la memorizzazione nella cache della pagina del sito per questi tedeschi, con tutte le immagini, ci è voluto molto tempo per caricarsi. Quando la pagina ha iniziato a essere emessa istantaneamente dalla cache, anche il bot, che non aveva timeout, ha iniziato a raccoglierli all'istante. Era difficile. Il caso è particolarmente difficile perché se tu stesso hai cambiato l'impostazione (attivato la memorizzazione nella cache) e il sito ha smesso di funzionare, allora di chi è la colpa, secondo te e secondo il capo? Esattamente. Se vedi un forte aumento del numero di richieste, guarda, ad esempio, in Google Analytics, chi è arrivato a quali pagine.
Quali sono gli altri punti chiave? Certo, puoi impostare nginx "predefinito" e sperare che tutto vada bene per te. Tuttavia, le cose belle non accadono sempre. Pertanto, l'amministratore di qualsiasi server deve dedicare molto tempo alla messa a punto e all'ottimizzazione di nginx.
Cosa bisogna ricordare prima di tutto? Ogni risorsa ha un limite. Prima di tutto, riguarda la RAM. Pertanto, le dimensioni delle intestazioni e di tutti i buffer utilizzati dovrebbero essere limitate a valori adeguati per client e per server nel suo insieme. Devono essere registrati nella configurazione di nginx.
Anche il tempo è una risorsa. Pertanto, il prossimo passo importante dovrebbe essere quello di impostare tutti i timeout, che, ancora una volta, è molto importante registrare attentamente nelle impostazioni di nginx.
Immediatamente la domanda è: quali parametri di buffer e timeout sono corretti? Non esiste una ricetta universale qui, ogni situazione ha la sua. Ma c'è un approccio collaudato. È necessario impostare i valori minimi ai quali il sito rimane operativo (in tempo di pace), ovvero le pagine vengono restituite e le richieste vengono elaborate. Questo è determinato solo dai test, sia da desktop che da dispositivi mobili. L'algoritmo per trovare i valori di ciascun parametro (dimensione del buffer o timeout):
In alcuni casi, la revisione di questi parametri dovrebbe portare al refactoring/redesign del sito. Ad esempio, se il sito non funziona senza richieste di polling lunghe AJAX di tre minuti, non è necessario aumentare il timeout, ma sostituire il polling lungo con qualcos'altro: una botnet di 20mila macchine, in attesa di richieste per tre minuti, ucciderà facilmente un server medio economico.
Nginx ha anche la capacità di limitare connessioni, richieste e così via. Se non sei sicuro di come si comporterà una certa parte del tuo sito, idealmente dovresti testarlo, capire quante richieste può gestire e scriverlo nella configurazione di nginx. Una cosa è quando il sito non funziona e puoi venire a ritirarlo. Ed è una questione completamente diversa: quando si è stabilizzato a tal punto che il server è andato in swap. In questo caso, spesso è più facile riavviare piuttosto che attendere il suo trionfante ritorno.
Supponiamo che il sito abbia delle sezioni con i nomi indicativi /download e /search. In tal modo, noi:
Per questi scopi, la seguente configurazione si adatterà:
Http ( limit_conn_zone $binary_remote_addr zone=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; server ( location /download/ ( limit_conn download_c 1; # Other configuration location ) location /search/ ( limit_req zone= search_r burst=5; # Altro percorso di configurazione ) ) )
Di solito ha senso impostare limiti limit_conn e limit_req per posizioni in cui si trovano script costosi da eseguire (la ricerca è indicata nell'esempio, e questo non è un caso). I vincoli devono essere scelti in base ai risultati dei test di carico e di regressione, nonché al buon senso.
Notare il parametro 10m nell'esempio. Significa che per il calcolo di questo limite verrà allocato un dizionario con un buffer di 10 megabyte e non un megabyte in più. In questa configurazione, ciò consentirà di monitorare 320.000 sessioni TCP. Per ottimizzare l'utilizzo della memoria, la variabile $binary_remote_addr viene utilizzata come chiave nel dizionario, che contiene l'indirizzo IP dell'utente in forma binaria e occupa meno memoria della normale variabile di stringa $remote_addr. Va notato che il secondo parametro della direttiva limit_req_zone può essere non solo IP, ma anche qualsiasi altra variabile nginx disponibile in questo contesto, ad esempio nel caso in cui non si desideri fornire una modalità più tollerante per il proxy, puoi usare $binary_remote_addr$http_user_agent o $binary_remote_addr$http_cookie_myc00kiez - ma tali costruzioni dovrebbero essere usate con cautela, perché, a differenza del $binary_remote_addr a 32 bit, queste variabili possono essere molto più lunghe e i "10m" che hai dichiarato potrebbero finire improvvisamente.
A parte ritocchi nginx, devi occuparti delle impostazioni stack di rete sistemi. Come minimo, includi immediatamente net.ipv4.tcp_syncookies in sysctl per proteggerti subito da un piccolo attacco SYN flood.
Prestare attenzione alle impostazioni più avanzate della parte di rete (kernel), sempre in termini di timeout e memoria. Ce ne sono di più importanti e di meno importanti. Prima di tutto, devi prestare attenzione a:
Con un collegamento di 100 Mbps, i valori predefiniti sono ancora in qualche modo adatti; ma se hai a disposizione almeno gigabit al secondo, allora è meglio usare qualcosa del tipo:
sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w net.ipv4.tcp_wmem="4096 65536 838860 8 " sysctl - w net.ipv4.tcp_fin_timeout=10
È ideale per studiare tutti i parametri /proc/sys/net/**. Dobbiamo vedere come differiscono da quelli predefiniti e capire quanto adeguatamente sono esposti. Uno sviluppatore Linux (o amministratore di sistema) che comprende il funzionamento del servizio Internet sotto il suo controllo e vuole ottimizzarlo dovrebbe leggere con interesse la documentazione di tutti i parametri dello stack di rete del kernel. Forse troverà lì variabili specifiche per il suo sito che aiuteranno non solo a proteggere il sito dagli intrusi, ma anche ad accelerarne il lavoro.
Gli attacchi DDoS riusciti giorno dopo giorno estinguono l'e-commerce, scuotono i media, mettono fuori combattimento i più grandi sistemi di pagamento con un colpo solo. Milioni di utenti Internet stanno perdendo l'accesso a informazioni critiche. La minaccia è urgente, quindi devi affrontarla completamente armato. Fai i compiti, non aver paura e mantieni la calma. Non sei il primo né l'ultimo ad affrontare un attacco DDoS al tuo sito, e sta a te, guidato dalla tua conoscenza e buon senso, ridurre al minimo le conseguenze dell'attacco.
Attacco DDOS. Spiegazione ed esempio.
Ciao a tutti. Questo è il blog di Computer76, e ora un altro articolo sulle basi dell'hacker art. Oggi parleremo di cos'è un attacco DDOS. in parole povere ed esempi. Prima di entrare in termini tecnici, ci sarà un'introduzione che tutti possono capire.
L'hacking WiFi viene utilizzato per raccogliere la password rete senza fili. Gli attacchi sotto forma di " " ti permetteranno di ascoltare il traffico Internet. L'analisi della vulnerabilità con il successivo caricamento di uno specifico consente di catturare il computer di destinazione. Cosa fa un attacco DDOS? In definitiva, il suo obiettivo è assumere la proprietà della risorsa dal suo legittimo proprietario. Non intendo dire che il sito o il blog non ti appartengono. Questo nel senso che in caso di attacco riuscito al tuo sito, tu perderne il controllo. Almeno per un po.
Tuttavia, nella moderna interpretazione di DDOS, un attacco viene spesso utilizzato per interrompere il normale funzionamento di qualsiasi servizio. I gruppi di hacker, i cui nomi vengono costantemente ascoltati, attaccano i principali siti governativi o governativi per attirare l'attenzione su determinati problemi. Ma quasi sempre dietro tali attacchi c'è un interesse puramente mercantile: il lavoro di concorrenti o semplici scherzi con siti completamente indecentemente non protetti. Il concetto principale di DDOS è che un numero enorme di utenti, o meglio richieste da computer bot, accede al sito contemporaneamente, il che rende insopportabile il carico sul server. Sentiamo spesso l'espressione “il sito non è disponibile”, ma pochi pensano a cosa si nasconda effettivamente dietro questa dicitura. Bene, ora lo sai.
giocatori affollati all'ingresso
Immagina di giocare a un gioco multiplayer online. Migliaia di giocatori stanno giocando con te. E conosci la maggior parte di loro. Negozia i dettagli e fa quanto segue all'ora X. Andate tutti sul sito contemporaneamente e create un personaggio con lo stesso insieme di caratteristiche. Raggruppa in un unico posto, bloccando l'accesso agli oggetti nel gioco in base al numero di personaggi creati contemporaneamente per altri utenti coscienziosi che non sospettano nulla della tua collusione.
Immagina che qualcuno decida di interrompere il servizio di autobus in città lungo un determinato percorso per impedire ai passeggeri coscienziosi di utilizzare i servizi di trasporto pubblico. Migliaia di tuoi amici contemporaneamente vanno alle fermate all'inizio del percorso specificato e viaggiano senza meta su tutte le auto da un capo all'altro finché i soldi non finiscono. Il viaggio è pagato, ma nessuno scende a nessuna fermata se non nelle destinazioni finali. E altri passeggeri, in piedi alle fermate intermedie, guardano con tristezza i minibus che si allontanano, incapaci di farsi strada tra gli autobus affollati. Tutto è in esaurimento: sia i proprietari di taxi che i potenziali passeggeri.
In realtà, queste opzioni non possono essere implementate fisicamente. Tuttavia, nel mondo virtuale, i tuoi amici possono essere sostituiti da computer di utenti senza scrupoli che non si preoccupano di proteggere in qualche modo il proprio computer o laptop. E la stragrande maggioranza lo è. Esistono molti programmi per eseguire un attacco DDOS. Inutile dire che tali azioni sono illegali. E un attacco DDOS preparato in modo ridicolo, non importa quanto successo abbia, viene rilevato e punito.
Facendo clic su un collegamento a un sito Web, il browser invia una richiesta al server per visualizzare la pagina che stai cercando. Questa richiesta è espressa come un pacchetto di dati. E nemmeno uno, ma un intero pacchetto di pacchetti! In ogni caso, la quantità di dati trasmessi per canale è sempre limitata a una certa larghezza. E la quantità di dati restituiti dal server è sproporzionatamente maggiore di quanto contenuto nella tua richiesta. Richiede lo sforzo e le risorse del server. Più potente è il server, più costoso è per il proprietario e più costosi sono i servizi che fornisce. I server moderni possono facilmente far fronte a un afflusso di visitatori notevolmente aumentato. Ma per qualsiasi server, c'è ancora un valore critico per gli utenti che vogliono conoscere il contenuto del sito. Più chiara è la situazione con il server che fornisce servizi di hosting di siti web. Basta poco e il sito vittima viene disconnesso dal servizio, per non sovraccaricare i processori che servono migliaia di altri siti situati sullo stesso hosting. Il lavoro del sito si interrompe fino al momento in cui l'attacco DDOS stesso si interrompe. Bene, immagina di iniziare a ricaricare una qualsiasi delle pagine del sito mille volte al secondo (DOS). E migliaia di tuoi amici stanno facendo la stessa cosa sui loro computer (DOS o DDOS distribuiti)... I server di grandi dimensioni hanno imparato a riconoscere che è iniziato un attacco DDOS e a contrastarlo. Tuttavia, anche gli hacker stanno migliorando i loro approcci. Quindi, nell'ambito di questo articolo, non posso spiegare in modo più dettagliato cos'è un attacco DDOS.
ATTENZIONE. Se decidi di provare, tutti i dati non salvati andranno persi, avrai bisogno di un pulsante per riportare il computer a uno stato funzionante. RIPRISTINA. Ma sarai in grado di scoprire esattamente cosa "sente" il server che è stato attaccato. Un esempio dettagliato è un paragrafo seguente, e ora - semplici comandi per riavviare il sistema.
Il sistema si rifiuterà di funzionare.
Denominare il tipo DDOS.bat
Per spiegare il significato di entrambi i comandi, penso, non ne vale la pena. Tutto è visibile ad occhio nudo. Entrambi i comandi forzano il sistema ad eseguire lo script ea ripeterlo immediatamente, mandandolo all'inizio dello script. Data la velocità di esecuzione, il sistema cade in uno stato di torpore dopo un paio di secondi. Gioco, come dicono, Sopra.
Per un esempio più visivo, usa il programma Low Orbit Ion Cannon (Ion cannon from low orbit). O LOIC. La distribuzione più scaricata si trova su (lavoriamo su Windows):
https://sourceforge.net/projects/loic/
ATTENZIONE! Il tuo antivirus dovrebbe reagire al file come dannoso. Va bene: sai già cosa stai scaricando. Nel database delle firme, è contrassegnato come un generatore di inondazioni: tradotto in russo, questo è l'obiettivo finale di chiamate infinite a un indirizzo di rete specifico. PERSONALMENTE non ho notato virus o trojan. Ma hai il diritto di esitare e posticipare il download.
Poiché gli utenti incuranti bombardano la risorsa con messaggi su file dannoso, Source Forge ti porterà alla pagina seguente con un collegamento diretto al file:
Di conseguenza, sono riuscito a scaricare l'utilità solo tramite .
La finestra del programma si presenta così:
Punto 1 Selezionare il bersaglio consentirà a un utente malintenzionato di concentrarsi su un obiettivo specifico (viene inserito un indirizzo IP o l'URL del sito), punto 3 Opzioni di attacco ti permetterà di selezionare la porta attaccata, il protocollo ( metodo) dei tre TCP, UDP e HTTP. Nel campo del messaggio TCP/UDP, puoi inserire un messaggio per la vittima. Al termine, l'attacco inizia con la semplice pressione di un pulsante IMMA CHARGIN MAH LAZER(questa è una frase sull'orlo di un fallo di un tempo popolare comico–meme; A proposito, ci sono molte parolacce americane nel programma). Tutto.
Questa opzione è per il test solo per localhost. Ecco perché:
Leggi: 9 326