martedì 20 novembre 2012

Ordine di applicazione delle regole di NAT e firewall

A molti potrà sembrare scontato ma spesso ci si trova a scoprire di non conoscere così bene i meccanismi con cui le regole di firewall ed il NAT vengono applicati in ingresso e in uscita.
In quest'articolo cercheremo di capire qual'è l'ordine con cui i vari livelli del firewall lavorano.
Comprendere l'ordine con cui le regole di firewall e NAT vengono interpretate è molto importante in fase di configurazione ma lo è ancora più quando si deve effettuare del troubleshooting andando a catturare dei pacchetti in transito sulle interfacce del firewall.

Per prima cosa vediamo quali sono i layer che i pacchetti in transito tra WAN e LAN devono attraversare.
L'immagine riportata diseguito riporta lo schema completo.


Dallo schema è molto chiaro come il dump dei pacchetti venga effettuato a livello più esterno delle interfacce. In qualsiasi direzione i pacchetti viaggino, il primo e l'ultimo blocco attraversati sono quelli del tcpdump. E' altrettanto semplice notare come per ogni interfaccia l'ordine con cui vengono applicati NAT e regole di firewall è sempre la stessa.

Il traffico che possiamo avere tra le due interfacce è di due tipi: traffico in entrata dalla LAN e in uscita dalla WAN o nel senso inverso, traffico in entrata dalla WAN e in uscita dalla LAN. A seconda della direzione dei pacchetti, vengono attraversati solo alcuni blocchi.

Traffico dalla LAN verso la WAN

Nello schema riportato di seguito vediamo quali blocchi sono attivi nel traffico generato da PC della LAN in direzione di server raggiungibili dalla WAN.

In questa direzione i pacchetti attraversano prima le regole di firewall dell'interfaccia LAN e poi il NAT OUTBOUND. In caso di troubleshooting abbiamo la possibilità di catturare i pacchetti sia in entrata del firewall e sia in uscita. Le regole di firewall dell'interfaccia WAN ed il NAT INBOUND (O PORT FORWARDING) non vengono attraversati dai pacchetti in uscita.


Traffico dalla WAN verso la LAN

Nello schema riportato di seguito vediamo quali blocchi sono attivi nel traffico generato da un PC connesso ad internet e che attraverso la WAN vuole accedere ad un server della LAN.


In questa direzione i pacchetti attraversano prima il NAT INBOUND (o PORT FORWARDING) e successivamente le regole di firewall dell'interfaccia WAN. Anche in questo caso abbiamo la possibilità di catturare i pacchetti in entrata dalla WAN e quelli in uscita dalla LAN. Le regole di firewall dell'interfaccia LAN ed il NAT OUTBOUND non vengono attraversati dai pacchetti in uscita.

Le interfacce aggiuntive

Negli schemi precedenti abbiamo visto come i pacchetti attraversano le due interfacce di base LAN e WAN ma, spesso capita di utilizzare anche altre interfacce, quelle che pfSense chiama OPT. Il meccanismo è sempre lo stesso, bisogna solo tenere a mente quali interfacce si comportano come la WAN e quali come la LAN.
 
Posta un commento