Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Configurazione

1. Importare il certificato SSL

2. Configurare il server RADIUS

2.1. Gestione FTD su FMC

2.2. Gestisci FTD su ISE

3. Creare un pool di indirizzi per gli utenti VPN su FMC

4. Carica immagini AnyConnect

5. Crea profilo XML

5.1. Nell'Editor di profili

5.2.Sul CCP

6. Configurare Accesso remoto

7. Configurazione Del Profilo Anyconnect

Verifica

Risoluzione dei problemi

Introduzione

Questo documento descrive la configurazione di base della VPN ad accesso remoto con autenticazione IKEv2 e ISE su FTD gestito da FMC.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- VPN di base, TLS e Internet Key Exchange versione 2 (IKEv2)

- Autenticazione di base, autorizzazione e accounting (AAA) e RADIUS

- Esperienza con Firepower Management Center (FMC)

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software:

- Cisco Firepower Threat Defense (FTD) 7.2.0

- Cisco FMC 7.2.0

- AnyConnect 4.10.07073

- Cisco ISE 3.1

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

IKEv2 e SSL (Secure Sockets Layer) sono entrambi protocolli utilizzati per stabilire connessioni protette, in particolare nel contesto delle VPN. IKEv2 fornisce metodi di crittografia e autenticazione efficaci, offrendo un elevato livello di sicurezza per le connessioni VPN.

Questo documento offre un esempio di configurazione per FTD versione 7.2.0 e successive, che permette a VPN ad accesso remoto di usare Transport Layer Security (TLS) e IKEv2. Come client, è possibile usare Cisco AnyConnect, che è supportato su più piattaforme.

Configurazione

1. Importare il certificato SSL

I certificati sono essenziali quando si configura AnyConnect.

Esistono limitazioni per la registrazione manuale dei certificati:

1. Nell'FTD è necessario un certificato dell'Autorità di certificazione (CA) prima che venga generata una richiesta di firma del certificato (CSR).

2. Se la CSR viene generata esternamente, viene utilizzato un metodo diverso di PKCS12.

Esistono diversi metodi per ottenere un certificato su un accessorio FTD, ma quello più semplice e sicuro è creare un CSR e ottenerne la firma da una CA. A tale scopo, eseguire la procedura seguente:

1. Passare a Objects > Object Management > PKI > Cert Enrollment e fare clic su Add Cert Enrollment.

2. Inserire il nome del punto di fiducia RAVPN-SSL-cert.

3. Nella CA Information scheda, scegliere Tipo di registrazione come Manual e incollare il certificato CA come mostrato nell'immagine.

FMC - Certificato CA

4. In Certificate Parameters, inserire il nome del soggetto. Ad esempio:

FMC - Parametri certificato

5. Sotto la Key scheda, scegliere il tipo di chiave e fornire un nome e le dimensioni bit. Per RSA, il valore minimo è 2048 bit.

6. Fare clic su Save.

FMC - Chiave certificato

7. Passare a Devices > Certificates > Add > New Certificate.

8. Scegliere Device. In Cert Enrollment, scegliere il trust point creato e fare clic su Addcome mostrato nell'immagine.

FMC - Registrazione certificato a FTD

9. Fare clic su ID, e viene visualizzato un prompt per generare CSR, scegliere Yes.

FMC - Certificato CA registrato

FMC - Genera CSR

10. Viene generato un CSR che può essere condiviso con l'autorità di certificazione per ottenere il certificato di identità.

11. Dopo aver ricevuto il certificato di identità da CA in formato base64, sceglierlo dal disco facendo clic su Browse Identity Certificate e Import come mostrato nell'immagine.

FMC - Importa certificato di identità

12. Una volta completata l'importazione, il trust point RAVPN-SSL-cert viene considerato come:

FMC - Registrazione Trustpoint riuscita

2. Configurare il server RADIUS

2.1. Gestione FTD su FMC

1. Passare a Objects > Object Management > RADIUS Server Group > Add RADIUS Server Group .

2. Inserire il nome ISE e aggiungere i server RADIUS facendo clic su +.

FMC - Configurazione server Radius

3. Citare l'indirizzo IP del server ISE Radius insieme al segreto condiviso (chiave) che è lo stesso del server ISE.

4. Scegliere Routing o Specific Interface attraverso il quale l'FTD comunica con il server ISE.

5. Fare clic Save  come mostrato nell'immagine.

FMC - Server ISE

6. Una volta salvato, il Server viene aggiunto sotto l'immagine RADIUS Server Group  come mostrato nell'immagine.

FMC - Gruppo server RADIUS

2.2. Gestisci FTD su ISE

1. Passare a Network Devices   e fare clic su Add.

2. Immettere il nome 'Cisco-Radius' del server e IP Addressdel client radius che è l'interfaccia di comunicazione FTD.

3. In Radius Authentication Settings, aggiungere il Shared Secret.

4. Fare clic su Save .

ISE - Dispositivi di rete

5. Per creare gli utenti, passare a Network Access > Identities > Network Access Users e fare clic Add su.

6. Creare un nome utente e una password di login come richiesto.

ISE - Utenti

7. Per impostare i criteri di base, passare a Policy > Policy Sets > Default > Authentication Policy > Default, scegliere All_User_ID_Stores.

8. Passare a Policy > Policy Sets > Default > Authorization Policy > Basic_Authenticated_Access, e scegliere PermitAccesscome mostrato nell'immagine.

ISE - Criteri di autenticazione

ISE - Authorization Policy

3. Creare un pool di indirizzi per gli utenti VPN su FMC

1. Passare a Objects > Object Management > Address Pools > Add IPv4 Pools.

2. Inserire il nome RAVPN-Pool e l'intervallo di indirizzi. La maschera è facoltativa.

3. Fare clic su Salva.

FMC - Pool indirizzi

4. Carica immagini AnyConnect

1. Passare a Objects > Object Management > VPN > AnyConnect File > Add AnyConnect File.

2. Immettere il nome anyconnect-win-4.10.07073-webdeploy e fare clic su Browse per scegliere il file Anyconnect dal disco, fare clic su Save come mostrato nell'immagine.

FMC - Immagine client Anyconnect

5. Crea profilo XML

5.1. Nell'Editor di profili

1. Scaricare l'Editor di profili da e aprirlosoftware.cisco.com.

2. Passa a Server List > Add...

3. Inserire il nome visualizzato RAVPN-IKEV2 e il nomeFQDN insieme al gruppo di utenti (nome alias).

4. Scegliere il protocollo principale  IPsec , facendo clic su Ok  come mostrato nell'immagine.

Editor profili - Elenco server

5. È stato aggiunto l'elenco dei server. Salva con nome ClientProfile.xml.

Editor profili - ClientProfile.xml

5.2. Sul CCP

1. Passare a Objects > Object Management > VPN > AnyConnect File > Add AnyConnect File.

2. Inserire un nome ClientProfile e fare clic su Browse per scegliere ClientProfile.xml il file dal disco.

3. Fare clic su Save .

FMC - Profilo VPN Anyconnect

6. Configurare Accesso remoto

1. Passare a Devices > VPN > Remote Accesse fare clic su + per aggiungere un profilo di connessione come mostrato nell'immagine.

FMC - Profilo connessione accesso remoto

2. Inserire il nome del profilo di connessione RAVPN-IKEV2 e creare un criterio di gruppo facendo clic su +in Group Policycome mostrato nell'immagine.

FMC - Criteri di gruppo

3. Inserire il nomeRAVPN-group-policy , scegliere i protocolli VPN SSL and IPsec-IKEv2  come mostrato nell'immagine.

FMC - Protocolli VPN

4. In AnyConnect > Profile , scegliere il profilo XML ClientProfile dall'elenco a discesa e fare clic Savecome mostrato nell'immagine.

FMC - Profilo Anyconnect

5. Aggiungere il pool di indirizzi RAVPN-Pool facendo clic su + as shown in the image.

FMC - Assegnazione indirizzo client

6. Passare aAAA > Authentication Method e scegliere AAA Only.

7. Scegliere Authentication Server come ISE (RADIUS).

FMC - Autenticazione AAA

8. Passare aAliases , inserire un nome alias RAVPN-IKEV2 utilizzato come gruppo di utenti in ClientProfile.xml .

9. Fare clic su Save.

FMC - Alias

10. Passare a Access Interfaces e scegliere l'interfaccia in cui RAVPN IKEv2 deve essere abilitato.

11. Scegliere il certificato di identità per SSL e IKEv2.

12. Fare clic su Save.

FMC - Interfacce di accesso

13. Passare a Advanced .

14. Aggiungere le immagini del client Anyconnect facendo clic su +.

FMC - Pacchetto client Anyconnect

15. SottoIPsec, aggiungereCrypto Maps come mostrato nell'immagine.

FMC - Mappe crittografiche

16. In IPsec , aggiungere il IKE Policy facendo clic su +.

FMC - Criterio IKE

17. In IPsec , aggiungere il simbolo IPsec/IKEv2 Parameters .

FMC - Parametri IPsec/IKEv2

18. In Connection Profile, viene creato un nuovo profiloRAVPN-IKEV2.

19. Fare Saveclic come mostrato nell'immagine.

FMC - Profilo di connessione RAVPN-IKEV2

20. Distribuire la configurazione

FMC - Distribuzione FTD

7. Configurazione Del Profilo Anyconnect

Profilo sul PC, salvato in  C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile .

<?xml version="1.0" encoding="UTF-8"?> <AnyConnectProfile xmlns="http://schemas[dot]xmlsoap<dot>org/encoding/" xmlns:xsi="http://www[dot]w3<dot>org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas[dot]xmlsoap[dot]org/encoding/ AnyConnectProfile.xsd"> <ClientInitialization> <UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon> <AutomaticCertSelection UserControllable="true">false </AutomaticCertSelection> <ShowPreConnectMessage>false</ShowPreConnectMessage> <CertificateStore>All</CertificateStore> <CertificateStoreOverride>false</CertificateStoreOverride> <ProxySettings>Native</ProxySettings> <AllowLocalProxyConnections>true</AllowLocalProxyConnections> <AuthenticationTimeout>12</AuthenticationTimeout> <AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart> <MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect> <LocalLanAccess UserControllable="true">false</LocalLanAccess> <ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin> <AutoReconnect UserControllable="false">true <AutoReconnectBehavior UserControllable="false">DisconnectOnSuspend </AutoReconnectBehavior> </AutoReconnect> <AutoUpdate UserControllable="false">true</AutoUpdate> <RSASecurIDIntegration UserControllable="true">Automatic </RSASecurIDIntegration> <WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement> <WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment> <AutomaticVPNPolicy>false</AutomaticVPNPolicy> <PPPExclusion UserControllable="false">Disable <PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP> </PPPExclusion> <EnableScripting UserControllable="false">false</EnableScripting> <EnableAutomaticServerSelection UserControllable="false">false <AutoServerSelectionImprovement>20</AutoServerSelectionImprovement> <AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime> </EnableAutomaticServerSelection> <RetainVpnOnLogoff>false </RetainVpnOnLogoff> </ClientInitialization> <ServerList> <HostEntry>  <HostName>RAVPN-IKEV2</HostName> <HostAddress>ftd.cisco.com</HostAddress> <UserGroup>RAVPN-IKEV2</UserGroup> <PrimaryProtocol>IPsec</PrimaryProtocol> </HostEntry> </ServerList> </AnyConnectProfile>

Nota: si consiglia di disabilitare il client SSL come protocollo di tunneling in Criteri di gruppo dopo aver scaricato il profilo client nel PC di tutti gli utenti. In questo modo, gli utenti possono connettersi esclusivamente tramite il protocollo di tunneling IKEv2/IPsec.

Verifica

Per verificare che la configurazione funzioni correttamente, consultare questa sezione.

1. Per la prima connessione, usare il nome FQDN/IP per stabilire una connessione SSL dal PC dell'utente tramite Anyconnect.

ClientProfile.xml 2. Se il protocollo SSL è disabilitato e non è possibile eseguire il passaggio precedente, verificare che il profilo client sia presente sul PC nel percorso C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile .

3. Inserire il nome utente e la password per l'autenticazione quando richiesto.

4. Dopo l'autenticazione, il profilo client viene scaricato sul PC dell'utente.

5. Disconnettersi da Anyconnect.

6. Una volta scaricato il profilo, usare l'elenco a discesa per scegliere il nome host indicato nel profilo del client RAVPN-IKEV2  per connettersi a Anyconnect con IKEv2/IPsec.

7. Fare clic su Connect.

Elenco a discesa Anyconnect

8. Immettere il nome utente e la password per l'autenticazione creata sul server ISE.

Anyconnect Connection

9. Verificare il profilo e il protocollo (IKEv2/IPsec) utilizzati dopo la connessione.

Anyconnect Connected

Output CLI FTD:

firepower# show vpn-sessiondb detail anyconnect

Session Type: AnyConnect

Username : ikev2-user                    Index        : 9

Assigned IP  : 10.1.1.1                  Public IP    : 10.106.55.22

Protocol     : IKEv2 IPsecOverNatT AnyConnect-Parent

License      : AnyConnect Premium

Encryption   : IKEv2: (1)AES256 IPsecOverNatT: (1)AES-GCM-256 AnyConnect-Parent: (1)none

Hashing      : IKEv2: (1)SHA512 IPsecOverNatT: (1)none AnyConnect-Parent: (1)none

Bytes Tx     : 450                         Bytes Rx     : 656

Pkts Tx      : 6                           Pkts Rx      : 8

Pkts Tx Drop : 0                           Pkts Rx Drop : 0

Group Policy : RAVPN-group-policy          Tunnel Group : RAVPN-IKEV2

Login Time   : 07:14:08 UTC Thu Jan 4 2024

Duration     : 0h:00m:08s

Inactivity   : 0h:00m:00s

VLAN Mapping : N/A                          VLAN         : none

Audt Sess ID : 0ac5e205000090006596618c

Security Grp : none                         Tunnel Zone  : 0

IKEv2 Tunnels: 1

IPsecOverNatT Tunnels: 1

AnyConnect-Parent Tunnels: 1

AnyConnect-Parent:

Tunnel ID    : 9.1

Public IP    : 10.106.55.22

Encryption.  : none.                           Hashing     : none

Auth Mode    : userPassword

Idle Time out: 30 Minutes                      Idle TO Left : 29 Minutes

Client OS    : win

Client OS Ver: 10.0.15063

Client Type  : AnyConnect

Client Ver   : 4.10.07073

IKEv2:

Tunnel ID : 9.2

UDP Src Port : 65220                            UDP Dst Port : 4500

Rem Auth Mode: userPassword

Loc Auth Mode: rsaCertificate

Encryption   : AES256                            Hashing      : SHA512

Rekey Int (T): 86400 Seconds                     Rekey Left(T): 86391 Seconds

PRF : SHA512                                     D/H Group    : 19

Filter Name  :

Client OS    : Windows Client                    Type         : AnyConnect

IPsecOverNatT:

Tunnel ID    : 9.3

Local Addr   : 0.0.0.0/0.0.0.0/0/0

Remote Addr  : 10.1.1.1/255.255.255.255/0/0

Encryption   : AES-GCM-256                       Hashing       : none

Encapsulation: Tunnel

Rekey Int (T): 28800 Seconds                     Rekey Left(T) : 28791 Seconds

Idle Time Out: 30 Minutes                        Idle TO Left  : 29 Minutes

Bytes Tx     : 450 Bytes                         Rx            : 656

Pkts Tx      : 6                                 Pkts Rx       : 8

firepower# show crypto ikev2 sa

IKEv2 SAs:

Session-id:6, Status:UP-ACTIVE, IKE count:1, CHILD count:1

Tunnel-id Local                         Remote                                           fvrf/ivrf            Status     Role

16530741  10.197.167.5/4500             10.106.55.22/65220                                                    READY      RESPONDER

Encr: AES-CBC, keysize: 256, Hash: SHA512, DH Grp:19, Auth sign: RSA, Auth verify: EAP

Life/Active Time: 86400/17 sec

Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535

remote selector 10.1.1.1/0 - 10.1.1.1/65535

ESP spi in/out: 0x6f7efd61/0xded2cbc8

firepower# show crypto ipsec sa

interface: Outside

Crypto map tag: CSM_Outside_map_dynamic, seq num: 30000, local addr: 10.197.167.5

Protected vrf:

local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (10.1.1.1/255.255.255.255/0/0)

current_peer: 10.106.55.22, username: ikev2-user

dynamic allocated peer ip: 10.1.1.1

dynamic allocated peer ip(ipv6): 0.0.0.0

#pkts encaps: 6, #pkts encrypt: 6, #pkts digest: 6

#pkts decaps: 8, #pkts decrypt: 8, #pkts verify: 8

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts comp failed: 0, #pkts decomp failed: 0

#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0

#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0

#TFC rcvd: 0, #TFC sent: 0

#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0

#send errors: 0, #recv errors: 0

local crypto endpt.: 10.197.167.5/4500, remote crypto endpt.: 10.106.55.22/65220

path mtu 1468, ipsec overhead 62(44), media mtu 1500

PMTU time remaining (sec): 0, DF policy: copy-df

ICMP error validation: disabled, TFC packets: disabled

current outbound spi: DED2CBC8

current inbound spi : 6F7EFD61

inbound esp sas:

spi: 0x6F7EFD61 (1870593377)

SA State: active

transform: esp-aes-gcm-256 esp-null-hmac no compression

in use settings ={RA, Tunnel, NAT-T-Encaps, IKEv2, }

slot: 0, conn_id: 9, crypto-map: CSM_Outside_map_dynamic

sa timing: remaining key lifetime (sec): 28723

IV size: 8 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x000001FF

outbound esp sas:

spi: 0xDED2CBC8 (3738356680)

SA State: active

transform: esp-aes-gcm-256 esp-null-hmac no compression

in use settings ={RA, Tunnel, NAT-T-Encaps, IKEv2, }

slot: 0, conn_id: 9, crypto-map: CSM_Outside_map_dynamic

sa timing: remaining key lifetime (sec): 28723

IV size: 8 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x00000001

Log ISE:

ISE - Live Log

Risoluzione dei problemi

Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.

debug radius all

debug crypto ikev2 platform 255

debug crypto ikev2 protocol 255

debug crypto ipsec 255