Un attacco DDOS caricando alcune centinaia di file di grandi dimensioni - cosa fermando qualcuno?

1

Sono nuovo nel campo della sicurezza IT e sono essenzialmente uno sviluppatore rispetto a una persona che lavora in rete quindi la domanda potrebbe essere stupida

Sto scrivendo un servizio REST esposto a Internet che accetta i file da caricare sul server, e le dimensioni potrebbero essere fino a 5 MB. Abbiamo restrizioni sul lato server per non accettare contenuti superiori a 5 MB, ma ciò accade dopo il fatto - cioè dopo che il contenuto è stato caricato e lo stiamo già leggendo. Che solleva alcune domande relative alla sicurezza su DDOSing del nostro servizio:

  1. Cosa accade se una rete di bot avvia il caricamento di 100 MB di file da 100 macchine contemporaneamente. Ciò significherebbe che i nostri tubi di rete sono intasati e gestiscono 10 GB di dati mentre rallentano i nostri veri clienti? Come possiamo anche rilevare un simile attacco in cui il numero di server è così basso. Possiamo configurare la nostra infrastruttura IT per bloccare le richieste in base alle dimensioni del payload in base al servizio a cui si sta accedendo (abbiamo più servizi ospitati nelle nostre infrastrutture IT)?
  2. Puoi ritirare le richieste dalla tua infrastruttura IT la cui lunghezza del contenuto supera un certo limite?
  3. In generale, per un server che accetta richieste POST / PUT, come proteggi da un attacco che carica i file solo sulla richiesta POST, anche se il server non intende accettare i file caricati?
posta coderSam 28.07.2013 - 17:57
fonte

3 risposte

5

but this happens after the fact

Davvero? Che server web stai usando (hai dimenticato di dircelo). Apache, nginx, lighttpd hanno tutte le opzioni per limitare la dimensione di una richiesta (la richiesta viene interrotta se il client fornisce una dimensione maggiore del limite nell'intestazione o il limite di dati è ricevuto dal server).

Se si desidera convalidare la dimensione prima di caricarla, è necessario implementare un'applet java non sandbox.

This would mean that our network pipes are clogged handling 10GB of data

No - non se si implementa la gestione del traffico basata su QOS. Questo può essere complicato da fare sul sistema operativo (di nuovo ti sei dimenticato di dirci di cosa si tratta) - se stai usando Apache, dai un'occhiata a mod_qos o mod_bw

How do we even detect such an attack

Monitoraggio attivo + risposte automatiche - Se stai usando un po 'di sapore di Unix, assicurati che il tuo server web sia configurato per limitare le dimensioni del post e LOG MESSAGGI sulla violazione, quindi configurare fail2ban per elaborare quei messaggi.

Can you turn back requests

Sì - vedi sopra. L'unico avvertimento è che qualcuno che cerca di uccidere i tuoi server può dire fibs nell'intestazione della lunghezza del contenuto (che è comunque opzionale).

    
risposta data 29.07.2013 - 09:53
fonte
2

Che cosa accadrebbe se l'attaccante invia i dati allo stesso bandwitch, ma mantenendo il limite di dimensioni? Qual è la differenza tra l'invio di 100 file da 100 MB e l'invio di 10000 file da 1 MB?

Se vuoi essere immune per DDOS attacco, allora puoi dimenticarlo - non puoi . Evento i giganti più grandi sono affetti da tali attacchi di volta in volta. Anche le più grandi server farm hanno limitazioni di traffico.

Che cosa succede se sei sotto attacco? Il meglio che puoi fare è identificare le fonti dell'attacco e rilasciarle sui router. Potrebbe trattarsi dei singoli IP, ma potrebbe essere necessario eliminare l'intero intervallo IP o persino l'intero traffico proveniente da determinati Paesi. Può (e probabilmente lo farà) influenzare molti dei vostri clienti, ma, si spera, consentirà agli altri di operare.

Alcuni di questi blocchi possono essere creati da script, ma per lo più potrebbe essere necessario eseguire manualmente. Come distinguere tra un utente che carica la sua intera collezione di foto estive da richieste false? Quale tasso di richiesta dovrebbe innescare una risposta? È una domanda molto difficile, se qualcuno innocente viene bloccato, è spesso un cliente smarrito.

Quindi devi colpire di nuovo . Un attacco DDOS è legale quanto spingere vecchie bottiglie di plastica nella tua buca delle lettere: devi identificare e disabilitare i criminali. I fornitori di IP dovrebbero chiudere i loro clienti che stanno facendo intenzionalmente male. I produttori di software dovrebbero riparare i loro prodotti, se la causa del caos è un virus o un worm. Infine, ci sono istituzioni legali che dovrebbero trovare gli autori di tale attacco.

Onestamente, il DDOS è un così grande reato (prendendo il controllo su una grande quantità di server o computer di casa) che dovresti fare di alcuni grandi nemici l'obiettivo di un simile attacco. Quindi se non sei né ricco né famoso, né influente né estremista, le possibilità di un simile attacco sono molto basse.

    
risposta data 29.07.2014 - 12:04
fonte
0

Leggi i post come flusso byte per byte, quando raggiungi il limite di 5MB restituisci semplicemente un'eccezione e chiudi la connessione.

In questo modo non è difficile gestire le richieste e i framework web più aggiornati possono farlo.

Come ulteriore protezione, registra gli indirizzi IP e cerca le inondazioni / sottoreti degli IP nei registri di rifiuto e poi disponi di una politica di rilascio istantanea che consentirà al server di chiudere immediatamente il flusso di file da un IP noto.

Un utente tipico lo farà una o due volte, quindi smetterà di provare e contattare un amministratore o qualcosa del genere, un hacker / botnet continuerà a provare qualunque cosa generalmente, quindi non è difficile individuare il problema degli IP.

    
risposta data 09.05.2016 - 17:29
fonte

Leggi altre domande sui tag