Packet Tracer

Virtual Private Network

Modello di protezione con Tunnel

Il Tunneling permette di usare la rete Internet pubblica per creare connessioni protette tra il computer di un utente remoto e una rete aziendale.

Il dispositivo adibito alla sicurezza utilizza gli standard di tunneling ISAKMP e IPsec per costruire e gestire il tunnel. Questi due standard svolgono le seguenti operazioni:

Il dispositivo gestisce un flusso bidirezionale di dati verso il tunnel. Riceve pacchetti in chiaro dalla rete aziendale, li incapsula, crea un tunnel e invia i dati all'altro estremo del tunnel, dove vengono estratti e consegnati a destinazione. Viceversa, riceve dalla rete pubblica un pacchetto incapsulato in un altro pacchetto, lo estrae e lo consegna al destinatario nella rete aziendale.

IPsec

Il dispositivo che applica la sicurezza alle comunicazioni usa IPsec per connessioni da LAN a LAN ma offre la possibilità di usare IPsec anche per connessioni client-LAN, Nella terminologia IPsec, un peer è un client o un router.

Durante la creazione del tunnel, i due peer negoziano le Security Association che servono per regolare l'autenticazione, la criptografia, la decriptografia e la gestione delle chiavi. Questi accordi si svolgono in due momenti: primo, per stabilire il tunnel (Internet Key Exchange Security Association), secondo, regolare il traffico nel tunnel (IPSec Security Association)

Una VPN tra due LAN connette reti geograficamente distanti. Quando la connessione tra due LAN è protetta con IPsec, il dispositivo di sicurezza può iniziare una comunicazione oppure può rispondere ad una comunicazione. In connessioni client-LAN protette con IPsec, il dispositivo può solo rispondere. Chi inizia la comunicazione, propone le Security Association, il ricevitore accetta, rifiuta oppure avanza delle controproposte, secondo i parametri SA configurati. Per stabilire una connessione entrambe le entità si accordano sulle SA.

Configurare ISAKMP

Il protocollo per lo scambio delle chiavi è denominato ISAKMP: Internet Security Association and Key Management Protocol.

ISAKMP

ISAKMP è il protocollo di negoziazione usato da due apparecchiature per costruire le security association.

ISAKMP divide la negoziazione in due fasi.

Nella fase 1 si crea il tunnel, che proteggerà i successivi messaggi ISAKMP. Nella fase 2 si crea il tunnel che proteggerà i dati.

Per impostare i termini della negoziazione, si deve creare una ISAKMP policy, che comprende i seguenti parametri:

Il peer che comincia la negoziazione ISAKMP invia tutte le sue policy al peer remoto, il peer remoto cerca di individuare una corrispondenza con le sue policy. Il peer remoto controlla tutte le policy proposte e le confronta, in ordine di priorità con quelle che possiede configurate, fino a quando rileva una corrispondenza. Per corrispondenza tra due policy, si intende che i due peer posseggono gli stessi algoritmi di criptografia, le stesse funzioni hash, lo stesso metodo di autenticazione, gli stessi metodi Diffie-Hellman, e una durata di validità delle chiavi minore o uguale a quella proposta. Se la durata non è la stessa il dispositivo sceglie quella minore. Se non si trova una corrispondenza, la connessione viene rifiutata.

Schema della rete:

Scenario

Configurare i due router (R0 e R2) per realizzare una VPN, protetta dal protocollo IPsec, attraverso cui scorre il traffico tra le sottoreti sulle altre interfacce dei router. Il traffico VPN attraversa anche un router intermedio che però ignora l'esistenza della VPN. IPSec fornisce la riservatezza alle informazioni sensibili o riservate che devono attraversare la rete pubblica (non protetta). IPsec opera a livello 3 (Rete) proteggendo e autenticando i pacchetti tra i dispositivi IPsec.

Nota: prima di configurare i router per accettare connessioni IPsec, potrebbe essere necessario dover accettare esplicitamente (il router non lo segnala) la licenza di utilizzo delle librerie.

Parametri di Policy nella fase 1 di ISAKMP.

ParametroValore possibileR0R2
Metodo di distribuzione della chiaveManuale o ISAKMPISAKMPISAKMP
Algoritmo di criptografiaDES, 3DES o AESAESAES
Funzione HashMD5 o SHA-1SHA-1SHA-1
Metodo di autenticazionePre-Shared o RSApre-sharepre-share
Scambio chiaveDH gruppo 1, 2 o 5DH 2DH 2
durata IKE SA86400 secondi o meno8640086400
password ISAKMPscelta liberaciscocisco

In grassetto sono stati indicati i valori di default.

Parametri di Policy nella fase 2 di ISAKMP.

ParametroR0R2
Transform SetVPN-SETVPN-SET
Nome Host del PeerR2R0
Indirizzo IP del peer10.2.2.110.1.1.1
Rete da criptare192.168.1.0/24192.168.2.0/24
nome Crypto MapVPN-MAPVPN-MAP
Security Associationipsec-isakmpipsec-isakmp

Configurare i parametri IPsec su R0

  1. Provare la connettività tra i due PC inviando un pacchetto ping

  2. Assegnare il nome R0 al router 0 e il nome R2 al router 2

  3. Aprire la scheda CLI di programmazione del router R0. Premere Invio. per entrare in modalità Privileged exec: enable
    per passare in modalità Configurazione: config terminal)

  4. Identificare il traffico su R1, proveniente dalla sottorete 192.168.1.0/24 e diretto alla sottorete 192.168.2.0/24, come traffico da proteggere. Il traffico così individuato sarà criptato con il protocollo IPsec per attraversare la VPN. Tutti gli altri pacchetti generati dalle due sottoreti non saranno criptati.
    R0(config)# access-list 110 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

  5. Configurare le proprietà della fase 1 su R0, algoritmo di criptografia, funzione hash, metodo di generazione delle chiavi:
    R0(config)# crypto isakmp policy 10
    R0(config-isakmp)# encryption aes
    R0(config-isakmp)# authentication pre-share
    R0(config-isakmp)# group 2
    R0(config-isakmp)# exit
    R0(config)# crypto isakmp key cisco address 10.2.2.1

  6. Configurare le proprietà della fase 2 su R0. Creare il transform-set per usare esp-3des e esp-sha-hmac, poi creare la mappa VPN-MAP che lega insieme tutti i parametri della fase 2. Usare il numero di sequenza 10 e identificarlo come una corrispondenza ipsec-isakmp

    R0(config)# crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac
    R0(config)# crypto map VPN-MAP 10 ipsec-isakmp
    R0(config-crypto-map)# description VPN connection to R2
    R0(config-crypto-map)# set peer 10.2.2.1
    R0(config-crypto-map)# set transform-set VPN-SET
    R0(config-crypto-map)# match address 110
    R0(config-crypto-map)# exit
  7. Configurare la crypto map sull'interfaccia di uscita.
    Associare la criptografia VPN-MAP all'interfaccia di uscita Fa0/1
    R0(config)# interface Fa0/1
    R0(config-if)# crypto map VPN-MAP

Configurare i parametri IPsec su R2

  1. Configurare il router R2 per mantenere una VPN con R0:
    Configurare la proprietà crypto ISAKMP in policy 10 insieme alla chiave condivisa cisco
    R2(config)# access-list 110 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

  2. Configurare le proprietà ISAKMP della fase 1 su R2:
    R2(config)# crypto isakmp policy 10
    R2(config-isakmp)# encryption aes
    R2(config-isakmp)# authentication pre-share
    R2(config-isakmp)# group 2
    R2(config-isakmp)# exit
    R2(config)# crypto isakmp key cisco address 10.1.1.1

  3. Configurare le proprietà ISAKMP della fase 2 su R3. Come con R0, creare il transform-set per usare esp-3des e esp-sha-hmac, poi creare la mappa VPN-MAP che lega insieme tutti i parametri della fase 2. Usare il numero di sequenza 10 e identificarlo come una corrispondenza ipsec-isakmp

    R2(config)# crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac
    R2(config)# crypto map VPN-MAP 10 ipsec-isakmp
    R2(config-crypto-map)# description VPN connection to R0
    R2(config-crypto-map)# set peer 10.1.1.1
    R2(config-crypto-map)# set transform-set VPN-SET
    R2(config-crypto-map)# match address 110
    R2(config-crypto-map)# exit
  4. Configurare la crypto map sull'interfaccia di uscita.
    Associare la criptografia VPN-MAP all'interfaccia di uscita Fa0/0
    R2(config)# interface Fa0/0
    R2(config-if)# crypto map VPN-MAP

  5. R2(config-if)# exit

  6. R2(config)# end

Verificare la VPN

  1. Su R0 dare il comando show crypto ipsec sa. Notare che il numero di pacchetti incapsulati, criptati , decapsulati e decriptati vale 0 per tutti i contatori.
    R0# show crypto ipsec sa

  2. Creare il traffico interessato alla protezione:
    inviare un ping dal PC della sottorete 192.168.2.0 al PC della sottorete 192.168.1.0

  3. Verificare il tunnel dopo il passaggio del traffico criptato
    Sul router R0 ripetere il comando show crypto ipsec sa ed osservare i contatori di pacchetti incapsulati, criptati ecc.

  4. Creare un traffico non interessato al tunnel
    dal PC di una delle sottoreti inviare un ping al Router R1

  5. Verificare il tunnel.
    Sul router R0 ripetere il comando show crypto ipsec sa e osservare che i contatori non sono cambiati.