La configurazione di VPN IpSec sul Pix è simile a quella su Cisco IOS e prevede parametri e una logica simile a qualsiasi altra implementazione IpSec.
In genere, in fase di configurazione di una VPN basata su IpSec, si devono definire i seguenti parametri per i due peer (i dispositivi agli estermi del tunnel):
- Algoritmi di criptazione (3des/des/aes) e hash (md5/sha) utilizzati
- Scelta dell'opzione Perfect Forward Secrecy (PFS) e gruppo Diffie-Hellman (1 o 2)
- Metodo di autenticazione (Pre-shared keys o certificati X509)
- Indirizzi IP pubblici dei due peer (uno può essere arbitrario, per client road warrior, che si collegano da IP diversi) e delle relative reti locali.
- Durata in secondi delle Security Associations IpSec (SA).
Il Pix può stabilire VPN con altri PIX, router Cisco, Firewall Checkpoint e qualsiasi altro dispositivo che supporti IpSec, sia per tunnel lan to lan che per la gestione di roadwarrior. I comandi fondamentali sono isakmp con cui si gestiscono i parametri del protocollo IKE per la negoziazione di SA fra i peer nella prima fase del setup di un tunnel IpSec e crypto con vari sottocomandi per gestire i diversi aspetti della vpn.
Vediamo gli elementi base di una configurazione di un pix con indirizzo pubblico 222.222.222.1/24 sulla interfaccia outside (esterna), e IP 10.0.0.1/24 sulla inside (interna, con un livello di sicurezza maggiore).
Questo Pix viene configurato per assegnare a degli arbitrari client su Internet che si collegano utilizzando una pre-shared key un indirizzo preso dal pool 222.222.222.100-110.
Ecco gli elementi di configurazione necessari:
Si definiscono i nomi e i livelli di sicurezza delle interfacce
nameif ethernet0 outside security0
nameif ethernet1 inside security100
Si definisce una acl che identifica i pacchetti del tunnel da escludere dal natting fra rete interna ed esterno
access-list 101 permit ip 10.0.0.0 255.255.255.0 222.222.222.100 255.255.255.255
access-list 101 permit ip 10.0.0.0 255.255.255.0 222.222.222.101 255.255.255.255
access-list 101 permit ip 10.0.0.0 255.255.255.0 222.222.222.102 255.255.255.255 ...
Indirizzo IP pubblico del Pix e relativa netmask
ip address outside 222.222.222.1 255.255.255.0
Indirizzo IP sulla rete interna
ip address inside 10.0.0.1 255.255.255.0
Definizione degli indirizzi assegnati ai client VPN. Il nome pool-indirizzi è deciso dall'utente.
ip local pool pool-indirizzi 222.222.222.100-222.222.222.110
Si escludono dal natting della rete interna (definito sotto) gli IP che matchano la acl 101 e sono destinati al tunnel.
nat (inside) 0 access-list 101
Anche se non strettamente necessario per una VPN, è logico prevedere che il PIX debba fate PAT (masquerading) della rete interna. Si definiscono gli indirizzi (sull'interfaccia inside) da nattare e, con il comando global, l'indirizzo IP, di solito pubblico, con cui devono apparire. Il numero 111 (NatID) deve corrispondere nei due comandi, usando altri numeri si possono definire diversi IP e relativi pool di indirizzi interni. Di default il NatID è 1. Se si usa lo 0, come nella riga sopra, seguito da una acl, si definisce quali pacchetti escludere dal processo di natting:
nat (inside) 111 0 0
global (outside) 111 222.222.222.50
Definizione del default gateway (si ipotizza un 222.222.222.254). Si deve definire l'interfaccia da cui è raggiungibile.
route outside 0.0.0.0 0.0.0.0 222.222.222.254
Indica al Pix di non considerare access-list e nat per permettere al traffico ipsec di arrivare alle interfacce (comodo, pratico e quasi indispensabile, in assegna di laboriose acl specifiche)
sysopt connection permit-ipsec
Si definisce il set di trasformazione (criptazione + hash) che devono subire i pacchetti nel tunnel. Possono coesistere più set su tunnel diversi, che usano diversi algoritmi. E' indispensabile che client e server della VPN utilizzino esattamente gli stessi algoritmi.
crypto ipsec transform-set il_mio_set esp-des esp-md5-hmac
Le mappe dinamiche, hanno sintassi simili alle normali mappe, ma possono essere utilizzate per matching con client dalle caratteristiche non predefinite. Per tutti i parametri non esplicitamente definiti (indirizzo IP remoto, transform set, range definito da acl ecc) accettano qualsiasi valore (come se ci fosse una wildcard).
La seguente riga associa una mappa dinamica definita dall'utente al trasform set indicato. La definizione di un trasform set è obbligatoria in una dynamic map.
crypto dynamic-map la_mia_mappa_dinamica 10 set transform-set il_mio_set
A titolo d'esempio si segnalano altre entry che possono essere definite (ma non servono nel nostro caso) per questa dynamic map:
crypto dynamic-map la_mia_mappa_dinamica 10 match address 155 # La mappa si applica ai pacchetti definiti nella acl 155
crypto dynamic-map la_mia_mappa_dinamica 10 set pfs # Forza e richiede l'uso di PFS
Un Pix può avere più mappe, per gestire diversi tunnel. Queste hanno un nome (la_mia_mappa) e un sequence number che ne identifica l'ordine di preferenza. Devono restare gli stessi quando si definiscono le caratteristiche della stessa mappa.
La riga che segue associa ad una mappa dell'utente la mappa dinamica sopra definita (l'uso di mappe dinamiche è necessario quando alcuni parametri sono flessibili e non possono essere definiti a priori):
crypto map la_mia_mappa 10 ipsec-isakmp dynamic la_mia_mappa_dinamica
Per assegnare dinamicamente gli indirizzi si deve attivare la IKE Mode Config.
Con questa riga il PIX prova ad assegnare un IP al client che si collega (preso nel range pool-indirizzi precedentemente definito):
crypto map la_mia_mappa client configuration address initiate
Con questa riga il Pix accetta eventuali indirizzi proposti dal client (non dovrebbe essere indispensabile, nel nostro caso)
crypto map la_mia_mappa client configuration address respond
Si applica la crypto map alla interfaccia esterna. Questo comando è fondamentale e di fatto è quello da inserire a fine configurazione per rendere attiva la crypto map. Va specificata l'interfaccia su cui passano i pacchetti da sottoporre alla mappa di criptazione. Notare che può essere specificato solo un set di mappe per singola interfaccia.
Un set di mappe deve avere mappe con lo stesso nome, ed eventuale sequence number diverso. Se ci sono mappe con nomi diversi, queste non appartengono allo stesso set e non possono essere contemporaneamente applicate alla stessa interfaccia. Quindi, se per esempio sull'interfaccia esterna di un Pix terminano, oltre ai client road warrior, del nostro caso, anche altri tunnel lan-to-lan, questi devono essere definiti nella mappa la_mia_mappa con sequence number diversi.
crypto map la_mia_mappa interface outside
Qui si definiscono i parametri con cui gestire IKE, un protocollo che facilita la creazione automatica di SA nella fase 1 della negoziazione IpSec.
Si abilita la possibilità di negoziare IKE sull'interfaccia esterna:
isakmp enable outside
Se si utilizza IKE con un metodo di autenticazione basato su una chiave precedentemente scambiata, questa si definisce nel modo seguente (qui il peer remoto è un qualsiasi indirizzo, ma può essere un IP specifico per tunnel lan to lan):
isakmp key chiave_pre_shared address 0.0.0.0 netmask 0.0.0.0
Oltre che con questo comando (è possibile inserirlo più volte per diversi peer), è possibile definire la chiave con i vpngroup sotto definiti.
Definisce secondo quale criterio (indirizzo IP o nome) i due peer creano la SA IKE. La stessa scelta va fatta su entrambi i lati, se non si usano chiavi RSA per le quali è meglio usare hostname, il valore di default è:
isakmp identity address
Si definisce quale è il pool di indirizzi da assegnare ai client:
isakmp client configuration address-pool local pool-indirizzi outside
Si impostano le policy con cui gestire la negoziazione IKE specificando un numero di priorità (da 1 a 65534, qui è 20). In particolare, nell'ordine: tipo di autenticazione, tipo di criptazione, algoritmo di hash, gruppo Diffie-Hellman, durata in secondi della SA:
isakmp policy 20 authentication pre-share
isakmp policy 20 encryption des
isakmp policy 20 hash md5
isakmp policy 20 group 2
isakmp policy 20 lifetime 86400
Cisco permette una configurazione del tunnel estremamente semplice nei suoi VPN Client (versione 3.x) e nei prodotti che supportano la modalità Easy VPN Remote. Questo è possibile passando vari parametri di rete al client tramite il comando vpngroup (da usare solo con client Cisco). Qui viene definitivo il nome del gruppo (paragonabile ad una login) e la relativa password, oltre agli indirizzi IP di server dns, wins e dominio di default:
vpngroup nome_gruppo dns-server 10.0.0.25
vpngroup nome_gruppo wins-server 10.0.0.25
vpngroup nome_gruppo default-domain intranet
vpngroup nome_gruppo idle-time 1800
vpngroup nome_gruppo password la_password_di_gruppo
Altri parametri sono configurabili, come un pool di indirizzi da assegnare allo specifico gruppo, utile per assegnare diversi pool di indirizzi a diversi gruppi, e in alternativa al pool definito con isakmp client configuration address-pool:
vpngroup nome_gruppo address-pool pool_indirizzi
Oppure una access-list (in questo caso la 89) con cui si definiscono quali pacchetti criptare nel tunnel e quali lasciare al di fuori del canale criptato:
vpngroup nome_gruppo split-tunnel 89
Tecniche, configurazioni, logica e funzionamento dei firewall Cisco PIX
permettere ad un vpngroup di raggiungere un solo IP
Salve a tuuti,
ho bisogno di una mano per un pix515
devo limitare l'accesso di un gruppo ad un solo ind Ip della mia lan, come posso fare?
grazie
VPN IPSec contemporanee su PIX501
Dopo aver configurato una VPN dinamica (VPN-server), non riesco a configurare una (o più) VPN statica (Site-to-Site): mi sapete aiutare ???? Grazie.
Rispondidefaul username
mi rispondo da solo.. basta lasciare il campo username vuoto ;))
Rispondidefault username
ho configurato un pix501 nuovo. ho inserito la password. ora però non conosco il nome utente e quindi non riesco + ad accedere. idee??
Rispondivpn su pix 501
Salve a tutti, ho configurato una vpn (pptp) sul mio Pix501, ma non c'è verso di arrivarci dall'esterno...il pix è successivo ad un router 827 ed entrambi hanno ind publici...tra l'altro dalla lan non pingo l'interfaccia ext ma da fuori si...
Rispondivpn che non passa
Salve ho installato e configurato un pix501. Sembra funzionare bene sia come firewall che cone terminatore vpn. Il problema si presenta però, quando cerco di collegarmi ad un terminatore vpn dalla LAN. In pratica arriva alla fase "verifica nome utente e pwd" e si pianta. Qualcuno mi ha detto che dovrei abilitare il passaggio del protocollo GRE :-(
ma come si fa???
Grazie a tutti
Cisco Vpn Client da lan
Quando attivo una connessione vpn con software cisco non riesco piu a pingare la mia rete interna . Il mio PC cambia indirizzo, e anche se la vpn è salita non vedo ne verso la vpn ne sono più nella lan. Suggerimenti?
Rispondire: vpn
Ho lo stesso problema... come faccio a verificare quali reti passano per la VPN e quali no?
Rispondire: vpn
Verifica quali reti vuoi che passimo per la vpn e quali reti vuoi raggiungere direttamente.
Rispondivpn e rete interna
Quando attivo una connessione vpn con software cisco non riesco piu a pingare la mia rete interna .Dove puo essere il problema?
RispondiVPN e accessi a porte specifiche
Come posso limitare l'accesso ad una sola porta (tcp1521) di un server che si trova dietro un Firewal Pix a chi accede tramite VPN (Vpn Clinet Cisco) ?
RispondiPtoblema col PIX in SSH
Provo da esterno a collegarmi al PIX tramite SSh. Attivo da esterno l'ssh sull'ip che desidero, poi quando lancio PUTTY da remoto e mi collego all'interfaccia esterna del pix mi chiede ute e psw ma poi non mi autentica. Le acl per essere sicuro che vada tutto da esterno (assurdo ma giusto per vedere)
Rispondioutside != publico (necessariamente)
Non necessariamente, la logica è che l'interfaccia outside è da considerarsi "esterna" con un livello di sicurezza inferiore, l'inside è quella "interna" con maggiore sicurezza.
Questo il default, che può essere modificato con le conf tipo:
nameif ethernet0 outside security0
nameif ethernet1 inside security100.
cmq gli ip sono quelli che vuoi, anche di reti interne
ip pubblici/privati
ma i pix devono avere per forza ip pubblici?
Rispondiclient con ip statico
non ho ancora capito se il pix puo' assegnare ai client indirizzi ip statici. Forse creando tanti "ip local pool pool-indirizzi 222.222.222.100-222.222.222.101 " quanti sono i client, ma nonc redo sia una configurazione pulita
access list
Premesso che dare indicazioni senza avere idee precise sulla configurazione esistente non è semplice, credo che dovresti usare delle access list per escludere dal nat il traffico destinato all'IP pubblico del pix, per la porta pptp (e il protocollo gre).
RispondiProblemi con VPN
Intanto ti volevo ringraziare per le preziose spiegazioni sul PIX. Ho il seguente problema: Ho acquistato un pix 501 per "aiutare" il nostro isaserver ed intendevo mettere il pix prima di isa in modo da creare una spece di DMZ. Ora visto che voglio gestire sia VPN che PAT, mi chiedo se con il PIX riesco a fare entrambi!
Ho provato a configurare il PIX in modo da accettare una VPN PPTP e fino a qua tutto bene, ma quando alla configurazione ci aggiungo anche un PAT tutte le porte vengono passate sull'indirizzo interno che ho specificato per la PAT, impedendomi quindi di fare VPN sul mio PIX. Cosa devo fare? Sto diventando pazzo.