Una configurazione di base di un PIX comprende la definizione delle interfacce, delle regole minime e delle impostazioni di default.
Per definire gli indirizzi delle interfacce si usa un comando tipo:
ip address interfaccia indirizzoIP maschera
.
I nomi delle interfacce sono di default outside, inf1, inf2 ... inside e hanno associato un livello di sicurezza da 0 (interfaccia esterna) a 100 (l'interfaccia inside). I nomi e i livelli di sicurezza delle interfacce si definiscono con nameif, i parametri di rete con ip address.
Si impostano route statiche con route:
route interfaccia destinazione maschera gateway
Il default gateway si può impostare con:
route outside 0 0 IP_Gateway 1
(Si può usare 0 per abbreviare 0.0.0.0)
La logica del Pix è a strati e applica la logica del natting per ogni passaggio fra interfacce con livello di sicurezza diverso. Le intefaccie interne, con maggiore livello di sicurezza, "emergono" e possono subire NAT e PAT con i comandi nat e global. Per accedere ad IP di interfacce interne, dall'esterno si usano i comandi static (fa natting e port forwarding) e il relativo uso di access list (ip access-list).
Vediamo una configurazione di esempio minima, con la definizione di due interfacce e un PAT (masquerading) di tutti gli ip dell'interfaccia interna su un unico ip esterno. Alcuni parametri sono impostati di default.
Imposta i nomi e i livelli di sicurezza delle interfacce
nameif ethernet0 outside security0
nameif ethernet1 inside security100
Imposta l'autonegoziazione della velocità dell'interfaccia
interface ethernet0 auto
interface ethernet1 auto
Gli indirizzi IP e le relative maschere di sottorete
ip address outside 222.222.222.1 255.255.255.0
ip address inside 10.0.0.1 255.255.255.0
Il nome dell'host
hostname pixfirewall
L'arp timeout, in secondi
arp timeout 14400
Abilita il supporto di nomi (alias per identificare host e indirizzi
names
Associa nome a degli indirizzi, per rendere più semplice l'interpretazione delle regole
name 10.0.0.75 web_interno
name 222.222.222.10 web_esterno
Ogni 24 righe di output blocca lo scorrimento e chiede se continuare
pager lines 24
Abilita il logging, direzionabile su un syslog server, dei messaggi di debug
logging buffered debugging
Natta l'intera rete interna sull'indirizzo esterno .2 indicato da global. Notare il NatID 3 in comune nei due statement.
nat (inside) 3 10.0.0.0 255.255.255.0
global (outside) 3 222.222.222.2
Imposta la default route, su un IP raggiungibile dall'interfaccia esterna
route outside 0.0.0.0 0.0.0.0 222.222.222.254 1
Esegue un NAT statico per permettere l'accesso pubblico sull'IP 222.222.222.10 (web_esterno) ad una macchina con IP privato 10.0.0.75 (web_interno)
static (inside, outside) web_esterno web_interno netmask 255.255.255.255 0 0
Se non si usano i name preimpostati, la sintassi diventa:
static (inside, outside) 222.222.222.10 10.0.0.75 netmask 255.255.255.255 0 0
Quanto sopra descritto non basta per rendere accessibile la macchina interna (da un'interfaccia con livello di sicurezza inferiore). Va definita una acl per permettere l'accesso sulla porta 80 al server Web interno (usando il suo IP pubblico nattato) da qualsiasi indirizzo IP
access-list accessoweb permit tcp any host web_esterno eq www
E' analogo a:
access-list accessoweb permit tcp any host 222.222.222.10 eq 80
Imposta l'acl accessoweb all'interfaccia esterna
access-group accessoweb in interface outside
I tempi di timeout sulle connessioni e tabelle di natting. Valori di default, generalmente validi, che possono essere ridotti quando il sistema è sotto carico o attacco DOS e non ha risorse disponibili per gestire nuove connessioni.
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute
Imposta gli MTU sulle interfacce (1500 di default su ethernet)
mtu outside 1500
mtu inside 1500
Tecniche, configurazioni, logica e funzionamento dei firewall Cisco PIX