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