Le connessioni tramite i firewall sono state spiegate

4

Sto cercando una buona spiegazione di come le connessioni funzionano attraverso i firewall. Ho l'idea di impacchettare (incapsulare) un protocollo all'interno di un altro come suo carico utile durante il tunneling. Ma quello che non riesco a ottenere è in realtà il motivo per cui il firewall passa msgs dal server remoto al client dietro il firewall. La mia comprensione è tale: supponiamo che stiamo usando http come trasporto

client - > invia msg al server remoto - > il firewall lo accetta e passa - > il server riceve il messaggio

server risponde al client - > il firewall ricorda che questo messaggio è una risposta a msg dal client e lo passa indietro - > il client riceve il messaggio

ora, il server vuole passare un altro msg - > invia il client - > il firewall lo blocca, in quanto non è una risposta a nessuna delle richieste dei client

Probabilmente mi manchi qualcosa. O dovremmo usare un altro approccio per tale scopo? Quando, diciamo che un server in realtà non chiude la connessione alla richiesta del client e mantiene la connessione, e all'interno di questa connessione abbiamo un'interazione trasparente tra server e client?

qualsiasi buona risorsa sarebbe molto apprezzata

grazie

    
posta Theo Walcott 24.01.2013 - 22:36
fonte

4 risposte

2

I firewall sono generalmente classificati in tre categorie principali:

  1. Filtri pacchetti stateless / StateFul
  2. Applicazione / Firewall proxy
  3. Firewall applicazione Web / Firewall proxy inverso

Ogni tipo di Firewall funziona su diversi livelli in uno stack TCP / IP e ha i suoi pro e contro. Si sta effettivamente utilizzando un'applicazione / firewall proxy che impone un sovraccarico significativo se le connessioni non vengono gestite. Creerà un collo di bottiglia se manteniamo la connessione aperta mentre il firewall mantiene lo stato per ogni connessione. Per risposte più dettagliate, esamina questa figura e leggi Proxy dell'applicazione Firewall .

    
risposta data 25.01.2013 - 15:23
fonte
2

Beh, non posso dire di aver capito completamente la domanda, anche allora posso condividere alcune cose che so. Sto parlando di firewall di rete che guardano principalmente a layer3 (livello Internet) e layer 4 (livello di trasporto) del Stack OSI.

Tutti i firewall con stato mantengono una tabella denominata tabella di sessione.

I firewall di stato sono definiti firewall di stato a causa della presenza di una tabella di sessione. Una tabella di sessione di base avrà 4 voci Origine-ip del pacchetto, IP di destinazione del pacchetto, Porta di origine e porta di destinazione. Il tipo di firewall su cui ho lavorato c'erano altre 2 voci, l'interfaccia in entrata e in uscita del pacchetto.

Ok, ora vedremo come si forma una connessione.

Prendiamo il caso di una connessione TCP sulla porta 80 (http) .Per essere più specifici, un client seduto dietro un firewall sta cercando di connettersi a google.com. Il primo pacchetto che esce dal client sarà un tcp SYN.Questo raggiunge il firewall.Il firewall, essendo un firewall di rete, guarderebbe l'IP di destinazione e quindi eseguirà una ricerca di percorso per l'IP di google. Stiamo osservando la parte del firewall in modo da supporre che ci sia una voce di tabella di routing. Dalla tabella di routing, il firewall ottiene l'interfaccia in uscita.

Ora un tipico firewall di rete avrà diverse interfacce di rete e ogni interfaccia verrebbe mappata su una "zona". Firewalling implica la governance del traffico tra le interfacce utilizzando un insieme di regole.

Quindi, dopo aver ottenuto l'interfaccia in uscita dalla tabella di routing, il firewall controlla la zona dell'interfaccia in uscita. Quindi il firewall cerca una politica (regola) dalla zona dell'interfaccia in entrata alla zona dell'interfaccia in uscita. Se c'è un criterio che consente il traffico tra le 2 zone, il firewall invia il pacchetto fuori dall'interfaccia in uscita e quindi crea una voce nella tabella della sessione. Si noti che questo è il primo pacchetto di una connessione. Ora quando il pacchetto di risposta proviene dal server torna al client, non deve passare attraverso il processo di ricerca delle regole perché una voce è già presente nella tabella della sessione. Ora, la porta di origine del pacchetto di risposta sarebbe 80 e la porta di destinazione sarebbe la porta di origine che era usato dal client per il sync tcp. Confrontando le porte e gli IP, il firewall decide se il pacchetto in ingresso è una risposta o meno e quindi lo invia fuori dall'interfaccia corretta.

Supponiamo che il server invii un pacchetto che non è una risposta al client, la ricerca di sessione fallirebbe e il firewall cercherebbe una regola che permetta il traffico dal lato del server al lato del cliente. Se questa regola non è presente, il il pacchetto verrà eliminato.

Si noti che questa verifica delle regole non viene eseguita per un pacchetto di risposta proveniente dal server perché una sessione era già stata creata dal pacchetto di richiesta iniziale dal lato dei client ... Questo potrebbe rispondere alla tua domanda .. Per favore sentitevi liberi di chiedere se questa risposta non è chiara

    
risposta data 25.01.2013 - 18:03
fonte
1

La maggior parte dei firewall ricorderà che una richiesta è stata aperta su un determinato server e consente a quel server di comunicare nuovamente a quella connessione. Se viene utilizzato NAT, la porta su cui viene effettuata la connessione rimarrà in uso per quella connessione. Questo in realtà non è univoco per i tunnel, ma si applica anche a qualsiasi tipo di flusso di dati. Ad esempio, quando trasmetti in streaming un video da Netflix o Youtube, il firewall sa autorizzare i dati dal loro server nonostante non invii un pacchetto per ogni pacchetto in arrivo.

    
risposta data 24.01.2013 - 22:42
fonte
1

Quando usi un tunnel, incapsuli effettivamente un protocollo in un altro. Il modo più comune di tunneling è la creazione di un tunnel SOCKS5. SOCKS avviene al 5o strato, il livello di sessione. Quando apri un tunnel SOCKS, il tunnel rimane stabilito, anche quando non stai inviando nulla su di esso.

    
risposta data 24.01.2013 - 22:49
fonte

Leggi altre domande sui tag