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.