Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Informations générales

Configurer

Diagramme du réseau

Configurations

Vérifier

Dépannage

Introduction

Ce document décrit un exemple de configuration d'une tête de réseau Cisco IOS® XE 4k ISR (Integrated Service Router) pour VPN AnyConnect Secure Sockets Layer (SSL) avec une base de données d'utilisateurs locaux.

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Cisco IOS XE (ISR 4K)

- Client de mobilité sécurisée AnyConnect

- Fonctionnement général de SSL

- Infrastructures à clé publique (PKI)

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- Routeur Cisco ISR4451-X/K9 avec version 17.9.2a

- Client AnyConnect Secure Mobility 4.10.04065

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Informations générales

La fonction VPN (Virtual Private Network) SSL prend en charge le logiciel Cisco IOS XE pour permettre aux utilisateurs d'accéder à distance aux réseaux d'entreprise depuis n'importe quel endroit sur Internet. L'accès à distance est fourni via une passerelle VPN SSL (SSL activé) compatible Secure Socket Layer. La passerelle VPN SSL permet aux utilisateurs distants d'établir un tunnel VPN sécurisé. Grâce au VPN SSL Cisco IOS XE, les utilisateurs finaux peuvent accéder en toute sécurité depuis leur domicile ou n'importe quel site Internet, tel que les points d'accès sans fil. Le VPN SSL de Cisco IOS XE permet également aux entreprises d'étendre l'accès au réseau d'entreprise à des partenaires et consultants offshore, pour la protection des données d'entreprise.

Cette fonctionnalité est prise en charge sur les plates-formes indiquées :

Plateforme

Version prise en charge de Cisco IOS XE

Routeur de services cloud Cisco, série 1000V

Cisco IOS XE version 16.9

Cisco Catalyst 8000V

Cisco IOS XE Bangalore 17.4.1

Routeur à services intégrés Cisco 4461

Routeur à services intégrés Cisco 4451

Routeur à services intégrés Cisco 4431

Cisco IOS XE Cupertino 17.7.1a

Configurer

Diagramme du réseau

Configurations

1. Activez AAA (Authentication, Authorization, and Accounting), configurez l'authentification, les listes d'autorisation et ajoutez un nom d'utilisateur à la base de données locale.

aaa new-model

!

aaa authentication login default local

aaa authorization exec default local

aaa authorization network default local

!

username test password cisco123

2. Créez un point de confiance pour installer le certificat d'identité, s'il n'est pas déjà présent pour l'authentification locale. Vous pouvez vous référer à Inscription de certificat pour une PKI pour plus de détails sur la création de certificat.

crypto pki trustpoint SSL

enrollment mode ra

enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll

subject-name cn=sslvpn.cisco.com

revocation-check crl

rsakeypair SSL-Keys

3. Configurez une proposition SSL.

crypto ssl proposal SSL_Proposal

protection rsa-3des-ede-sha1 rsa-aes128-sha1

4. Configurez une stratégie SSL et appelez la proposition SSL et le point de confiance PKI.

crypto ssl policy SSL_Policy

ssl proposal SSL_Proposal

pki trustpoint SSL sign

ip address local y.y.y.y port 443

no shut

y.y.y.y est l'adresse IP de GigabitEthernet0/0/0.

5. (Facultatif) Configurez une liste d'accès standard à utiliser pour le split-tunnel. Cette liste d'accès comprend les réseaux de destination accessibles via le tunnel VPN. Par défaut, tout le trafic passe par le tunnel VPN (Full Tunnel) si le tunnel partagé n'est pas configuré.

ip access-list standard split_tunnel_acl

10 permit 192.168.10.0 0.0.0.255

6. Créez un pool d’adresses IPv4.

ip local pool SSLVPN_POOL 192.168.20.1 192.168.20.10

Le pool d'adresses IP créé attribue une adresse IPv4 au client AnyConnect lors d'une connexion AnyConnect réussie.

7. Téléchargez l'image de tête de réseau AnyConnect (webdeploy) sous le répertoire webvpn de bootflash et téléchargez le profil client vers le bootflash du routeur.

mkdir bootflash:webvpn

Package Anyconnect :

copy tftp: bootflash:webvpn:

Pour le profil client :

copy tftp: bootflash:

Définissez l’image AnyConnect et le profil client comme indiqué :

crypto vpn anyconnect bootflash:/webvpn/anyconnect-win-4.10.04065-webdeploy-k9.pkg sequence 1

!

crypto vpn anyconnect profile sslvpn_client_profile bootflash:/sslvpn_client_profile.xml

8. Configurez une stratégie d’autorisation.

crypto ssl authorization policy SSL_Author_Policy

rekey time 1110

client profile sslvpn_client_profile

mtu 1000

keepalive 500

dpd-interval client 1000

netmask 255.255.255.0

pool SSLVPN_POOL

dns 8.8.8.8

banner This is SSL VPN tunnel.

route set access-list split_tunnel_acl

Le pool d'adresses IP, le DNS, la liste de tunnels partagés, etc. sont spécifiés dans la stratégie d'autorisation.

9. Configurez un modèle virtuel à partir duquel les interfaces d'accès virtuel sont clonées.

interface Virtual-Template1 type vpn

ip unnumbered GigabitEthernet0/0/0

ip mtu 1400

ip tcp adjust-mss 1300

La commande unnumbered obtient l'adresse IP de l'interface configurée (GigabitEthernet0/0/0) et le routage IPv4 est activé sur cette interface.

10. Configurez un profil SSL et faites correspondre la stratégie SSL créée sous celui-ci avec les paramètres d'authentification et d'autorisation et le modèle virtuel.

crypto ssl profile SSL_Profile

match policy SSL_Policy

aaa authentication user-pass list default

aaa authorization group user-pass list default SSL_Author_Policy

authentication remote user-pass

virtual-template 1

Créez un profil AnyConnect à l’aide de l’Éditeur de profil AnyConnect. Un extrait du profil XML est fourni à titre de référence.

!

!

<ClientInitialization>

<UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon>

<AutomaticCertSelection UserControllable="true">true</AutomaticCertSelection>

<ShowPreConnectMessage>false</ShowPreConnectMessage>

<CertificateStore>All</CertificateStore>

<CertificateStoreMac>All</CertificateStoreMac>

<CertificateStoreOverride>false</CertificateStoreOverride>

<ProxySettings>Native</ProxySettings>

<AllowLocalProxyConnections>false</AllowLocalProxyConnections>

<AuthenticationTimeout>30</AuthenticationTimeout>

<AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart>

<MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect>

<LocalLanAccess UserControllable="true">false</LocalLanAccess>

<DisableCaptivePortalDetection UserControllable="false">false</DisableCaptivePortalDetection>

<ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin>

<IPProtocolSupport>IPv4,IPv6</IPProtocolSupport>

<AutoReconnect UserControllable="false">true

<AutoReconnectBehavior UserControllable="false">ReconnectAfterResume</AutoReconnectBehavior>

</AutoReconnect>

<SuspendOnConnectedStandby>false</SuspendOnConnectedStandby>

<AutoUpdate UserControllable="false">true</AutoUpdate>

<RSASecurIDIntegration UserControllable="false">Automatic</RSASecurIDIntegration>

<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>

<LinuxLogonEnforcement>SingleLocalLogon</LinuxLogonEnforcement>

<WindowsVPNEstablishment>AllowRemoteUsers</WindowsVPNEstablishment>

<LinuxVPNEstablishment>LocalUsersOnly</LinuxVPNEstablishment>

<AutomaticVPNPolicy>false</AutomaticVPNPolicy>

<PPPExclusion UserControllable="false">Automatic

<PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP>

</PPPExclusion>

<EnableScripting UserControllable="false">false</EnableScripting>

<EnableAutomaticServerSelection UserControllable="true">false

<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>

<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>

</EnableAutomaticServerSelection>

<RetainVpnOnLogoff>false

</RetainVpnOnLogoff>

<CaptivePortalRemediationBrowserFailover>false</CaptivePortalRemediationBrowserFailover>

<AllowManualHostInput>true</AllowManualHostInput>

</ClientInitialization>

<ServerList>

<HostEntry>

<HostName>SSLVPN</HostName>

<HostAddress>sslvpn.cisco.com</HostAddress>

</HostEntry>

</ServerList>

!

Vérifier

Utilisez cette section pour confirmer que votre configuration fonctionne correctement.

1. Check the ssl connection parameters for your anyconnect connection

sslvpn# show crypto ssl session user test

Interface         : Virtual-Access1

Session Type      : Full Tunnel

Client User-Agent : AnyConnect Windows 4.10.04065

Username      : test                  Num Connection : 1

Public IP     : 10.106.52.195

Profile       : SSL_Profile

Policy        : SSL_Policy

Last-Used     : 00:03:58              Created : *05:11:06.166 UTC Wed Feb 22 2023

Tunnel IP     : 192.168.20.10         Netmask : 255.255.255.0

Rx IP Packets : 174                   Tx IP Packets : 142

2. Verify the SSL session status

sslvpn# show crypto ssl session

SSL profile name: SSL_Profile

Client_Login_Name  Client_IP_Address    No_of_Connections   Created     Last_Used

test               10.106.52.195            1               00:03:32    00:03:32

3. Verify the tunnel statistics for the active connection

sslvpn# show crypto ssl stats tunnel

SSLVPN Profile name : SSL_Profile

Tunnel Statistics:

Active connections       : 1

Peak connections         : 1              Peak time : 5d12h

Connect succeed          : 10             Connect failed : 0

Reconnect succeed        : 38             Reconnect failed : 0

IP Addr Alloc Failed     : 0              VA creation failed : 0

DPD timeout              : 0

Client

in CSTP frames           : 129            in CSTP control : 129

in CSTP data             : 0              in CSTP bytes : 1516

out CSTP frames          : 122            out CSTP control : 122

out CSTP data            : 0              out CSTP bytes : 1057

cef in CSTP data frames  : 0              cef in CSTP data bytes : 0

cef out CSTP data frames : 0              cef out CSTP data bytes : 0

Server

In IP pkts               : 0              In IP bytes : 0

In IP6 pkts              : 0              In IP6 bytes : 0

Out IP pkts              : 0              Out IP bytes : 0

Out IP6 pkts             : 0              Out IP6 bytes : 0

4. Check the actual configuration applied for the Virtual-Acces interface associated with client

sslvpn# show derived-config interface virtual-access 1

Building configuration...

Derived configuration : 171 bytes

!

interface Virtual-Access1

description ***Internally created by SSLVPN context profile1***

ip unnumbered GigabitEthernet0/0/0

ip mtu 1400

ip tcp adjust-mss 1300

Dépannage

Cette section fournit les informations que vous pouvez utiliser afin de dépanner votre configuration.

1. Débogages SSL à collecter depuis la tête de réseau :

debug crypto ssl condition client username <username>

debug crypto ssl aaa

debug crypto ssl aggr-auth message

debug crypto ssl aggr-auth packets

debug crypto ssl tunnel errors

debug crypto ssl tunnel events

debug crypto ssl tunnel packets

debug crypto ssl package

2. Quelques commandes supplémentaires pour résoudre les problèmes de connexion SSL :

# show crypto ssl authorization policy

# show crypto ssl diagnose error

# show crypto ssl policy

# show crypto ssl profile

# show crypto ssl proposal

# show crypto ssl session profile <profile_name>

# show crypto ssl session user <username> detail

# show crypto ssl session user <username> platform detail

3. DART du client AnyConnect.