VPN concentrator con Cisco IOS
Come per l’esempio di CheckPoint FW-1, questo descrive la configurazione di un gateway VPN usando i certificati digitali X.509. I router Cisco non dispongono di una Certification Authority, ma devono appoggiarsi su una CA esterna che supporti il protocollo Simple Certificate Enrollment Protocol (SCEP), come ad esempio Windows 2000, Entrust, VeriSign e OpenCA. Per supportare il servizio di VPN server, è necessario avere una versione di IOS 1.2.(8)T o superiore.
Enrollment del certificato
Il router deve scaricare il certificato digitale nella sua configurazione per permettere l’autenticazione del client. A tale scopo è necessario effettuare il processo di “Enrollment” come nell’esempio seguente:
gw(config)#ip domain-name azienda.it gw(config)#crypto key generate rsa The name for the keys will be: gw.azienda.it Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: % Generating 512 bit RSA keys ...[OK] gw(config)#crypto ca trustpoint MYPKI gw(ca-trustpoint)#enrollment url http://192.168.1.1 gw(ca-trustpoint)#enrollment mode ra gw(ca-trustpoint)#crl query ldap://192.168.1.1 gw(ca-trustpoint)#serial-number none gw(ca-trustpoint)#ip-address none gw(ca-trustpoint)#password revokeme gw(ca-trustpoint)#auto-enroll gw(ca-trustpoint)#usage ike gw(config)#crypto ca authen MYPKI Certificate has the following attributes: Fingerprint: 0D8E6CF8 C63D7068 3BA4B90A 16054812 % Do you accept this certificate? [yes/no]: y Trustpoint CA certificate accepted. gw(config)# gw(config)#crypto ca enroll MYPKI % % Start certificate enrollment .. % The subject name in the certificate will be: gw.azienda.it % Certificate request sent to Certificate Authority % The certificate request fingerprint will be displayed. % The 'show crypto ca certificate' command will also show % the fingerprint. gw(config)# Fingerprint: D9CE886E B4B76115 B7149128 6658E7CA
È necessario sostituire gw.azienda.it con il FQDN del gatway VPN, sostituire l’enrollment url e il crl query con quanto specificato dalla CA o dal suo amministratore qualora fosse interno all’azienda.
Configurazione della VPN
Quando il router ha scaricato il suo certificato è possibile procedere con la configurazione vera e propria della VPN. Di seguito viene fornito un esempio completo di configurazione:
version 12.2 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname gw ! aaa new-model aaa authentication login ClientAuth local aaa authorization network ClientAuth local aaa session-id common enable secret 5 $1$v49A$bfcGOf247dKQqZxCIN770 ! username vpnclient password 0 utente123 ip subnet-zero ! ip domain-name azienda.it ! crypto ca trustpoint MYPKI enrollment mode ra enrollment url http://192.168.1.1:80 usage ike serial-number none ip-address none password 7 3305171D030F2F7741 crl query ldap://192.168.1.1 auto-enroll crypto ca certificate chain MYPKI certificate ca 3C9CC54B 308202E4 3082024D A0030201 0202043C 9CC54B30 0D06092A 864886F7 0D010105 [...] 72AE135E 3B48662D quit certificate ra-encrypt 3C9CC573 308202E1 3082024A A0030201 0202043C 9CC57330 0D06092A 864886F7 0D010105 [...] 30922C78 E6 quit certificate ra-sign 3C9CC574 30820310 30820279 A0030201 0202043C 9CC57430 0D06092A 864886F7 0D010105 [...] 203E19C6 125AC104 608E37DF 600F97B9 B4DCF0CE quit certificate 3C9CC602 308202C0 30820229 A0030201 0202043C 9CC60230 0D06092A 864886F7 0D010105 [....] A7E53742 75E1E403 quit ! crypto isakmp policy 1 group 2 ! crypto isakmp identity hostname crypto isakmp client configuration group People dns 192.168.1.2 wins 192.168.1.2 domain azienda.it pool VPN_POOL acl 101 ! crypto ipsec transform-set myset esp-3des esp-md5-hmac crypto dynamic-map vpnclient 10 set transform-set myset ! crypto map vpn client authentication list ClientAuth crypto map vpn isakmp authorization list ClientAuth crypto map vpn client configuration address respond crypto map vpn 10 ipsec-isakmp dynamic vpnclient ! interface Ethernet0/0 ip address 192.168.1.254 255.255.255.0 no keepalive half-duplex ! interface Ethernet0/1 ip address 10.1.1.1 255.255.255.240 half-duplex crypto map vpn ! ip local pool VPN_POOL 192.168.2.200 192.168.2.250 ip classless no ip http server ip pim bidir-enable ! access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 ! line con 0 line aux 0 line vty 0 4 password cisco ! end
È importante sottolineare alcuni passi della configurazione, in particolare nel parametro crypto isakmp client configuration group People, la stringa People rappresenta la Organizational Unit (OU) presente nel certificato del client. La configurazione crypto ipsec transform-set myset esp-3des esp-md5-hmac definisce invece i parametri di crittografia per la comunicazione tra il gateway e il client.