In che modo gli utenti esperti testano il firewall con stato?

6

In che modo gli utenti esperti testano il firewall di stato con TCP / IPv6?

Il mio test case include:

  1. echo reply senza richiesta
  2. tcp ack senza syn

Ci sono altri casi di test, specialmente con IPv6?

    
posta deepsky 14.10.2011 - 06:31
fonte

2 risposte

3

NAT Traversal

Un metodo per due client, ciascuno isolato da firewall separati che funzionano in NAT, può stabilire una comunicazione tra loro, anche se la connessione è esplicitamente consentita.

I pacchetti UDP non contengono alcun stato. Quando un pacchetto UDP iniziale lascia il firewall con NAT, consentirà il ritorno del traffico UDP attraverso la stessa "sessione".

Quando i client iniziano l'invio di massa di pacchetti udp l'uno all'altro (stessa tupla di origine / destinazione), ad un certo punto, entrambi i firewall crederanno di aver avviato il traffico e di consentire il traffico tra i due client, ciascuno isolato da un Firewall NAT.

link

Monitoraggio delle connessioni

Alcuni firewall non traccia solo le connessioni basate sullo stato della connessione TCP, ma anche la richiesta del protocollo dell'applicazione per inviare un file su irc o ftp. Anche se questa è una funzionalità quando funziona come previsto, può anche essere utilizzata per rendere il firewall aperto per le connessioni indesiderate.

Un esempio di questo è l'attacco XC IRC DCC: link

    
risposta data 16.10.2011 - 16:12
fonte
2

Sembra che vorrai ambientarti con una tazza di caffè, una copia della specifica e le pagine man di libpcap.

Non dovrebbe essere troppo difficile scrivere un programma che realizzerà e trasmetterà questi pacchetti per te. Il flusso ad alto livello sarà

  1. Analizza i casi d'uso (usiamo la risposta eco, ad esempio)
  2. Compila la struttura dati che contiene l'intestazione fisica appropriata con gli indirizzi appropriati
  3. Compila la struttura dei dati dell'intestazione IP con gli indirizzi e i flag appropriati
  4. Compila la struttura dei dati ICMP con i codici del tipo di risposta echo e un carico utile appropriato
  5. Copia tutti questi pezzi in un char *
  6. Apri un socket RAW e invia il tuo char * packet al filo

Dopo averlo creato per ciascuno dei casi di test, puoi semplicemente eseguire l'app e osservare il firewall per un comportamento corretto. Vorrei, naturalmente, catturare il traffico e assicurarmi che qualcosa come Wirehark lo decida correttamente come parte del processo di test / qa.

    
risposta data 16.10.2011 - 15:10
fonte

Leggi altre domande sui tag