SYN flooding attack causa elevata CPU sul firewall hardware

3

Ho un firewall ZyWall USG 200. Qualche giorno fa c'è stato un attacco di flooding su SYN che ha causato il 100% di carico della CPU. Dopo aver investigato, si tratta di un attacco da un singolo indirizzo IP e mentre l'attacco stava andando sulla porta WAN si stava scaricando a 30 Mbit / sec. L'uplink sul firewall è 1 Gbit e l'attacco non ha influenzato nient'altro sulla rete.

Il blocco dell'indirizzo IP dell'attaccante sul firewall non ha fatto nulla.

Ho eseguito personalmente un test di allagamento SYN e questo dimostra che il firewall è molto sensibile all'inondazione di SYN. Ho disabilitato tutti i servizi di scansione dei contenuti perché causano un carico elevato della CPU, quindi utilizzo solo il servizio firewall.

Ho contattato ZyXel e hanno risposto che non c'era nulla che potessi fare se non aspettare che l'attaccante si arrendesse. Questo è inaccettabile perché sembra che chiunque abbia una buona connessione di rete sia in grado di farlo cadere.

Questo problema è normale e comune nei firewall di fascia bassa? C'è qualcosa che posso fare per impedirlo?

    
posta sarge 14.09.2013 - 01:14
fonte

5 risposte

4

Se hai un router davanti al tuo firewall, configura il router in modo da eliminare i pacchetti originati per l'indirizzo IP. Il tuo router dovrebbe essere meglio equipaggiato (spero ....) per gestire quel livello di attività della rete rispetto al firewall.

    
risposta data 14.09.2013 - 05:11
fonte
4

Se il tuo firewall sta monitorando una nuova connessione per ogni pacchetto SYN in arrivo, allora questo è quello che ti aspetteresti. In realtà, è esattamente il punto di un attacco di inondazione SYN.

Se il tuo firewall è stateless (nessun tracciamento della connessione), non ti aspetteresti alcun effetto pronunciato da floods SYN, dal momento che i pacchetti SYN non sono trattati da nessun altro.

    
risposta data 14.09.2013 - 05:21
fonte
4

L'interfaccia fisica può essere 1 Gbps, ma ciò non significa necessariamente che l'hardware stesso possa elaborarlo così tanto. Osservando le specifiche del tuo dispositivo, vedo alcuni elementi che potrebbero essere di particolare interesse per te.

  • Velocità effettiva del firewall SPI: 250 Mbps
  • UTM Throughput (AV + IDP): 40 Mbps
  • Sessioni massime: 40.000

Ciò che ci sta dicendo è che non importa quale sia il throughput del tuo uplink il maggior numero di traffico che il tuo dispositivo emetterà mai è di 250 Mbps. Questo probabilmente non è un limite difficile, in quanto potresti essere in grado di introdurti un po 'più in alto, ma è tutto ciò che il produttore garantirà. La limitazione è probabilmente hardware, probabilmente il backplane IO ma probabilmente CPU.

Se attivi le funzionalità aggiuntive, questo throughput diminuirà, possiamo vedere che se attivi Anti-Virus e Intrusion Detection e Prevention, hai solo una valutazione di 40 Mbps. Questo è sicuramente correlato al processore ed è piuttosto vicino a quello che dici di vedere al massimo.

Un altro limite rigido è il numero massimo di sessioni. Questo è il numero totale di connessioni aperte che il tuo dispositivo può gestire. Generalmente, una volta raggiunto questo limite, qualsiasi nuova connessione verrà semplicemente negata. Solitamente si tratta di una limitazione della memoria, poiché la tabella di tracciamento delle connessioni è memorizzata in memoria.

In ogni caso, è necessario comprendere appieno l'impatto dell'esecuzione dei servizi e di cosa è capace il tuo dispositivo. Questo è davvero l'unico modo per sapere cosa succede in situazioni come questa.

    
risposta data 14.09.2013 - 05:22
fonte
1

Ho lavorato su firewall hardware e avevamo qualcosa chiamato Syn-cookie. Il firewall non crea una connessione completa dopo aver ricevuto solo il pacchetto Syn. Invia il syn-ack e attende l'ack prima di creare una connessione.

Pagina wiki dei cookie Syn

Controlla se questo firewall ha questa caratteristica. Ho fatto una ricerca veloce ma non ho trovato nessun articolo.

Ci sono altri modi per gestirlo. Un metodo è simile a quello che Terry ha menzionato in un post sopra, per bloccare i pacchetti da quella macchina con un dispositivo di filtraggio IP o impostare il routing di origine (se tale funzionalità è presente sul tuo dispositivo) per inviare tutti i pacchetti dal fastidioso IP a un'interfaccia null.

La maggior parte dei firewall ha caratteristiche di limitazione della velocità.Questo è se il numero di connessioni al secondo da una singola sorgente-ip supera un limite particolare, quindi inizia a rilasciare le connessioni da quella sorgente-ip per un periodo di tempo

Un altro punto (citato da Scott) riguarda il motore di elaborazione della sessione. Comprendo che questo dispositivo è un firewall di stato. A volte capisco che la funzionalità di controllo dello stato è disattivata su alcuni dispositivi (è una minaccia alla sicurezza e può anche portare a sessioni di overshooting sul dispositivo e potrebbe portare a un maggiore utilizzo della CPU)

Ancora un altro modo per fermare i problemi è una voce della tabella di sessione con un'azione di rifiuto. Ogni pacchetto inviato dall'IP dannoso sta attivando una ricerca della policy e viene negato. Le ricerche politiche possono avere un uso intensivo della CPU. Alcuni firewall hanno questa caratteristica che, se un pacchetto viene negato da una politica, viene creata una voce della tabella di sessione per quel pacchetto che memorizza nella cache l'azione deny in modo tale che il successivo pacchetto dallo stesso IP non arrivi affatto alla fase di policy / routing e venga eliminato durante la sessione fase di ricerca stessa.

Tutte le cose menzionate sono i modi generali che i firewall potrebbero utilizzare per prevenire questi attacchi. Dovrai esaminare la documentazione del tuo firewall per vedere se qualcuna di queste tecniche è possibile.

    
risposta data 14.09.2013 - 09:02
fonte
-3

È possibile limitare ogni syn che non ha una risposta. ad esempio, il seguente articolo può iniziare a configurare il firewall per evitare syn flood:

Linux Iptables Limita il numero di attacchi tcp in entrata / syn-flood

    
risposta data 14.09.2013 - 01:55
fonte

Leggi altre domande sui tag