IPTables Protezione DDoS che funziona con il contatore di indirizzi IP per client E UDP

4

Sto cercando di proteggere il server LAMP con un software, che rileverà il numero medio di richieste da numeri IP singoli (in questo caso le query DNS) e aggiungere questi host alla catena di negati IPTables.

Quindi nel caso in cui il mio server DNS Bind / Centos gestisca il denial of service in forma di flusso di pacchetti UDP da più host contemporaneamente, c'è un'interfaccia da 10GBps su questa macchina per gestire grandi quantità di pacchetti in entrata e le tabelle ip possono gestire molti host.

C'è qualche strumento / metodo per farlo davvero? So che c'è LOG, dovrei usare questo, o c'è qualche modulo che sarebbe più adatto per questo?

Semplicemente ogni numero IP con un eccesso di query UDP al di sopra di un no. di richieste al secondo viene aggiunto al file nella blacklist e in base a quel file viene generata la catena IPTables.

Quindi la mia domanda è: come registrare tassi eccessivi da particolari host e registrarli, e renderli ad alte prestazioni, assumendo che tutti i numeri IPv4 si inseriscano nella RAM?

La cosa principale sarebbe non contare il numero di pacchetti / sessioni / connessioni aperte durante l'ora da un singolo host e la loro lista nera.

Sto cercando codice sorgente / regole IPTABLES per la porta 53 che consentirebbe 1000 richieste all'ora dal singolo indirizzo IP al server DNS con Bind.

Anche per mantenere la whitelist degli host consentiti allo stesso tempo, quindi durante l'attacco posso inserire nella blacklist chiunque mentre i server DNS più utilizzati sono OK, questo funzionerebbe nel caso in cui l'attacco fosse falsificato e ogni richiesta provenga da un diverso indirizzo IP che dovrebbe anche essere rilevato.

Al momento non posso effettuare il servizio anycast, tuttavia ho bisogno di una protezione sul DNS per evitare DDoS, cosa che succede di tanto in tanto.

AGGIORNAMENTO: il prodotto Cisco Guard funziona esattamente allo stesso modo, ma lo voglio su ogni macchina Linux. È perché Linux può gestirlo, quindi questo è solo un problema di buon software per farlo.

    
posta Andrew Smith 25.07.2012 - 12:10
fonte

2 risposte

3

Puoi mettere un limite sul numero di richieste da un IP usando mod_security, come spiegato qui:

link

Detto questo, questa soluzione è lungi dall'essere perfetta poiché, in caso di attacco DDoS a livello di applicazione, può portare a:

A.) Blocco delle richieste legali che provengono dallo stesso intervallo IP (cioè botnet troiano)

B.) Successo di un grande attacco multi-nodo in cui ogni IP fornisce solo una piccola quantità di richiesta (sotto la soglia impostata) e quindi non verrà bloccato.

Inoltre, questo non farà nulla contro la rete DDoS (cioè SYN Flood) che usa IP falsificati in quanto, in questo caso, non è nemmeno necessario stabilire una connessione a 2 vie per far funzionare DDoS.

Ulteriori informazioni su IP spoofing e IP DDoS Protection

Per fermarlo è necessario disporre di una sorta di proxy inverso per il gate frontale, per impedire l'accesso fino a quando non viene stabilita una connessione 2 completa (ACK ricevuto).

    
risposta data 25.07.2012 - 14:56
fonte
2

Snort lo controlla molto bene, ma c'è un problema. Ad ogni attacco devi aggiungere la firma, quindi prima devi prenderlo e poi puoi bloccarlo.

Semplicemente la regola funziona come sopra la soglia, l'host viene segnalato tramite avviso e in base a questo, la regola viene creata o il firewall aggiornato.

Semplicemente ho un così piccolo flusso di lavoro per gestirlo veramente:

Ad esempio, questo può essere configurato da un server Xeon o da un set di macchine EC2, quindi posso ricevere DDoS gratuitamente, ma gli IPTable devono elaborarlo, quindi è semplicemente la protezione DDoS nel cloud per il DNS in esecuzione su uno spazio privato per sicurezza.

Sto sviluppando lo scenario DR per il grande attacco DDoS di lunga data sui server DNS, e ho bisogno di questo server cloud con protezione DDoS per DNS, quindi ho configurato Bind-SDB, e posso eliminarli da spoofing non risolve alcun problema, anche dopo l'aumento di IPTables, eccetera, il bind a un certo punto si blocca, e questo può richiedere giorni, quindi devo filtrare il traffico che va al di sopra del livello specifico, che include un couter davvero semplice per ogni numero IP nella RAM, quindi questa non è una scienza missilistica se ho già il tracciamento delle connessioni.

    
risposta data 25.07.2012 - 22:03
fonte

Leggi altre domande sui tag