
Oltre IPFW, di cui abbiamo già detto qualcosa prima, esiste anche il
demone natd, questa applicazione consente di effettuare le più avantate
tecniche di NAT (Network Address Translation) e di PAT (Port Address
Translation)…
..intanto ricompiliamo il kernel abilitando i seguenti moduli:
(compilare un kernel freebsd se siete già abituati con linux è veramente
semplice)
piazzate un file di configurazione su /usr/src/sys/i386/conf magari
riprendendo quello del kernel custom e aggiungendo
#
options IPFIREWALL # firewall
options IPFIREWALL_VERBOSE # abilita il logging
#options IPFIREWALL_DEFAULT_TO_ACCEPT # autorizza tutto per default
options IPDIVERT # divert sockets
#
chiamiamo MYKERNEL il nuovo file di conf del kernel ecompiliamo con:
# /usr/sbin/config MYKERNEL
andiamo poi nel dir di compilazione di Freebsd
# cd compile/MYKERNEL
e via:
# make depend
# make
# make install
adesso possiamo attivare anche il demone natd editando il solito
/etc/rc.conf così:
# impostazioni di rete
defaultrouter=”200.201.202.254″
gateway_enable=”YES”
hostname=”sticazzi.dominio.com”
ifconfig_xl0=”inet 200.201.202.140 netmask 255.255.255.248″
ifconfig_xl1=”inet 192.168.0.254 netmask 255.255.255.0″
#
# impostazione del firewall ed del nat
firewall_enable=”YES” # abilita firewalling
firewall_type=”OPEN” # script standard /etc/rc.firewall
natd_enable=”YES” # abilita il demone natd
natd_interface=”xl0″ # interfaccia che esegue il forwarding
natd_flags=”-f /etc/natd.conf” # configurazioni addizionali per il natd
La prima parte è quella espressamente dedicata al networking: viene
definito il gateway, si abilitata la regola che consente il
packetforwarding e vengono impostate le interfaccie di rete del nostro
sistema.
la seconda parte riguarda l’abilitazione del firewall, l’abilitazione del
demone natd, la definizione dell’interfaccia di rete che eseguirà la
traduzione degli indirizzi con la definizione del file che conterrà le
impostazioni principali per il demone natd.
Nel nostro esempio stiamo trattando un sistema con 2 interfacce di rete
(dual-homed host), dove l’interfaccia xl0 fa parte della rete internet
pubblica mentre l’interfaccia xl1 fa parte di una rete privata.
L’interfaccia pubblica è quella che traduce gli indirizzi e le porte
eseguendo il NAT (Network Address Translation) o il PAT (Port Address
Translation). Per definire le regole che verranno utilizzate dal demone
natd e per dare corso alla traduzione degli indirizzi e delle porte,
dovremo creare il file di configurazione del natd /etc/natd.conf:
interface xl0
use_sockets yes
same_ports yes
Nel file viene definita l’interfaccia di rete che eseguirà il NAT, le
istruzioni use_socket yes e same_ports yes sono fondamentali per il
corretto funzionamento di alcuni protocolli applicativi (layer7) come
l’FTP (File Transfer Protocol) e l’IRC (Internet relay chat).
adesso potete anche riavviare la vostra macchina
In queste condizioni operative la base di protezione è nulla. Lo script
/etc/rc.firewall consente accesso a tutti i servizi che sono attivi sulla
macchina eseguendo il solo demone natd.
Eccovi un
esempio di
firewall dual-homed con regole stringenti e sicure. Verrà eseguito il NAT,
il PAT e verranno bloccati tutti gli accessi da reti e da host non
autorizzati inclusa la tecnica di mascheramento degli indirizzi ip
denominata ipspoofing.