C'è un modo per fermare gli attacchi DDOS? [duplicare]

10

Come molti altri webmaster, sto riscontrando problemi con gli attacchi DDOS. Ho provato a negare di offendere gli indirizzi IP dai file htaccess e utilizzare un hosting più grande e migliore, ma non sono in grado di fermare gli attacchi quando vengono utilizzati nuovi indirizzi IP.

    
posta Saad Mirza 25.02.2016 - 08:51
fonte

3 risposte

23

Se stai facendo funzionare un sito Web che è sotto attacco, dovresti prendere in considerazione un servizio come Cloudflare.

Cloudflare e altri CDN sono progettati pensando agli attacchi DDoS: il traffico passa attraverso la rete di Cloudflare prima che raggiunga il tuo. Dato che Cloudflare filtrerà il traffico DDoS, solo il traffico pulito ti raggiungerà.

D'altra parte, se l'attacco è abbastanza piccolo da non saturare la tua porta, e ti senti abbastanza a tuo agio nel gestirlo da solo, controlla l'esecuzione di Nginx come proxy inverso davanti all'istanza di Apache. Nginx è progettato per gestire le inondazioni molto meglio di Apache, grazie all'architettura epoll.

Il modo in cui i servizi come Cloudflare funzionano sono 1) Dispositivi di mitigazione e 2) Avere molta capacità.

Un'appliance di mitigazione esamina le anomalie del traffico e confronta il traffico con le firme di attacco conosciute in passato per distinguere il traffico legittimo dal traffico DDoS. Il traffico "sporco" viene eliminato, mentre viene trasmesso il traffico pulito.

La migliore mitigazione del mondo non aiuta se la porta viene saturata (immagina di inviare 11 gbps a un obiettivo che può gestire solo 10 gbps). Non importa quanto sia buono il tuo filtraggio, andrai offline perché la tua porta non è in grado di gestire più di 10 gbps. Servizi come CloudFlare (qualsiasi fornitore di mitigazione CDN o DDoS) acquistano tonnellate di capacità dai fornitori di servizi di trasporto per far fronte a enormi inondazioni volumetriche - cose che non possono essere gestite a livello di server a causa dell'enorme quantità di traffico (pensate a 50gbps + )

    
risposta data 25.02.2016 - 09:03
fonte
13

Esistono diversi tipi di attacchi Distributed Denial of Service, le tecniche di mitigazione possono essere specifiche per ogni caso:

Attacchi volumetrici

Alcuni computer inviano una grande quantità di traffico, intasando la rete della vittima e impedendo a connessioni legittime di raggiungerla. In questa categoria possiamo vedere:

  • Attacchi UDP: l'uso del protocollo UDP su porte casuali obbliga il server a controllare se c'è un'applicazione in ascolto su quella porta. Puoi attenuarlo con rigide regole del firewall.
  • Floods ICMP: l'idea è di avviare una richiesta di eco e non completare mai l'handshake, facendo ciò abbastanza spesso da diversi host, la vittima non sarà in grado di rispondere alle richieste legittime. Le tecniche di mitigazione includono il blocco delle richieste di ping frammentate.

Livello applicazione

Gli attacchi più comuni di questo tipo sono rivolti ai servizi HTTP e DNS, in pratica si richiede una risorsa così tante volte che il server che elabora la richiesta utilizza tutte le risorse disponibili. A proposito di HTTP in particolare, questo è solitamente molto difficile da differenziare dalle normali richieste http, la mitigazione di solito consiste in un mix di reputazione IP, monitoraggio di attività anomale e talvolta richiesta l'esecuzione di javascript.

Esaurimento di stato

Ogni dispositivo ha una tabella che memorizza lo stato di ogni connessione (se esegui netstat puoi vedere questa "tabella"), questo tipo di attacchi mira a usare ogni voce in quella tabella fino al punto in cui non ci sono nuove connessioni può essere aggiunto. (Vedi "slowloris" per un esempio di questo attacco). La mitigazione spesso include il timeout delle richieste non completate per liberare rapidamente le risorse.

Naturalmente ci sono servizi che aiutano a prevenire e mitigare questi tipi di attacchi, CloudFlare ha anche questo servizio gratuitamente ma sono sicuro che ce ne siano altri. In generale, il concetto di difesa in profondità si applica qui, avendo diversi livelli di sicurezza che aiutano a ridurre il rischio associato agli attacchi DDoS, tuttavia tenete presente che stiamo parlando in termini di mitigazione , anche Github era DDoS-ed e con la loro enorme infrastruttura e grande esperienza hanno visto il loro servizio influenzato

Se attualmente sei sotto attacco vorrei contattare CloudFlare e chiedere loro quali opzioni possono offrirti, quindi iniziare a pianificare una strategia di prevenzione il prima possibile. In questo momento sembra che sei stato preso alla sprovvista, quindi buona fortuna

Ecco una grande risorsa da arbornetworks

    
risposta data 25.02.2016 - 10:35
fonte
1

Se il tuo server web esegue Windows, ci sono alcuni valori di registro che puoi impostare per prevenire DoS (apparentemente anche DDoS):

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ synattackprotect = 1 REG_DWORD (Il valore 1 abilita la protezione dagli attacchi di flooding SYN)

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ tcpmaxconnectresponseretransmissions = 2 REG_DWORD (Questa chiave ha 2 scopi: in primo luogo, quando il valore è impostato su 2, abilita l'attacco di allagamento SYN in combinazione con la chiave di registro sopra .. In secondo luogo, controlla il numero di ritrasmissioni da TCP a SYN-ACK senza risposta. non ritrasmettere più di due volte.)

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ tcpmaxdataretransmissions = 3 REG_DWORD (Questa chiave controlla il numero di volte in cui TCP ritrasmette segmenti di dati non riconosciuti in una connessione esistente.)

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ enablepmtudiscovery = 0 REG_DWORD (Come per Microsoft, il valore 0 significa "TCP utilizza una MTU di 576 byte per tutte le connessioni a computer esterni alla sottorete locale". Ciò garantisce che le dimensioni dei pacchetti non possano essere ridotte sotto 576b da un utente malintenzionato per ridurre le prestazioni.)

Ulteriori informazioni per Windows sono fornite qui .

Per Linux, questa è una buona risorsa .

    
risposta data 25.02.2016 - 13:09
fonte

Leggi altre domande sui tag