Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment configurer l'authentification externe à deux facteurs pour une connexion AnyConnect IPSec à un routeur Cisco IOS® XE.
Contribution de Sadhana K S et Rishabh Aggarwal Ingénieurs du centre d'assistance technique Cisco.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
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.
L’utilisateur AnyConnect s’authentifie avec un nom d’utilisateur et un mot de passe sur le serveur ISE. Le serveur proxy d'authentification duo envoie également une authentification supplémentaire sous la forme d'une notification de transmission à l'appareil mobile de l'utilisateur.
Afin de compléter la configuration, prenez en considération ces sections.
1. Configurer le serveur RADIUS. L'adresse IP du serveur RADIUS doit être celle du proxy d'authentification duo.
radius server rad_server
address ipv4 10.197.243.97 auth-port 1812 acct-port 1813
timeout 120
key cisco
2. Configurez le serveur RADIUS comme aaa
authentification et autorisation en tant que local.
aaa new-model
aaa group server radius FlexVPN_auth_server
server name rad_server
aaa authentication login FlexVPN_auth group FlexVPN_auth_server
aaa authorization network FlexVPN_authz local
3. Créez un point de confiance afin d'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 TP_AnyConnect
enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
fqdn flexvpn-C8000V.cisco.com
ip-address none
subject-name cn=flexvpn-C8000V.cisco.com
revocation-check none
rsakeypair AnyConnect
4. (Facultatif) Configurez une liste d’accès standard à utiliser pour le tunnel partagé. 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 si le tunnel partagé n'est pas configuré.
ip access-list standard split-tunnel-acl
10 permit 192.168.11.0 0.0.0.255
20 permit 192.168.12.0 0.0.0.255
5. Créez un pool d’adresses IPv4.
ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10
Le pool d'adresses IP créé attribue une adresse IPv4 au client AnyConnect lors d'une connexion AnyConnect réussie.
6. Configurez une stratégie d’autorisation.
crypto ikev2 authorization policy ikev2-authz-policy
pool SSLVPN_POOL
dns 10.106.60.12
route set access-list split-tunnel-acl
Le pool d'adresses IP, le DNS, la liste de split-tunnel, etc. sont spécifiés dans la stratégie d'autorisation.
Remarque : si la stratégie d'autorisation IKEv2 personnalisée n'est pas configurée, la stratégie d'autorisation par défaut appelée « default » est utilisée pour l'autorisation. Les attributs spécifiés dans la stratégie d'autorisation IKEv2 peuvent également être transmis via le serveur RADIUS.
7. Configurez une proposition et une stratégie IKEv2.
crypto ikev2 proposal FlexVPN_IKEv2_Proposal
encryption aes-cbc-128
integrity sha384
group 19
crypto ikev2 policy FlexVPN_IKEv2_Policy
match fvrf any
proposal FlexVPN_IKEv2_Proposal
8. Téléchargez le profil client AnyConnect sur le bootflash du routeur et définissez le profil comme indiqué :
crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml
9. Désactivez le serveur sécurisé HTTP.
no ip http secure-server
10. Configurez la stratégie SSL et spécifiez l’adresse IP WAN du routeur comme adresse locale pour le téléchargement du profil.
crypto ssl policy ssl-server
pki trustpoint TP_AnyConnect sign
ip address localport 443
11. Configurez un modèle virtuel à partir duquel l'int d'accès virtuelLes surfaces sont clonées
interface Virtual-Template20 type tunnel
ip unnumbered GigabitEthernet1
La commande non numérotée obtient l'adresse IP de l'interface configurée (GigabitEthernet1).
13. Configurez un profil IKEv2 qui contient tous les paramètres de connexionInformations de lecture.
crypto ikev2 profile Flexvpn_ikev2_Profile
match identity remote any
authentication local rsa-sig
authentication remote eap query-identity
pki trustpoint TP_AnyConnect
dpd 60 2 on-demand
aaa authentication eap FlexVPN_auth
aaa authorization group eap list FlexVPN_authz ikev2-authz-policy
aaa authorization user eap cached
virtual-template 20 mode auto
anyconnect profile Client_Profile
Ils sont utilisés dans le profil IKEv2 :
match identity remote any
- Se rapporte à l'identité du client. Ici, « any » est configuré pour que tout client disposant des informations d'identification appropriées puisse se connecterauthentication remote
- Mentionne que le protocole EAP doit être utilisé pour l'authentification clientauthentication local
- Indique que les certificats doivent être utilisés pour l'authentification localeaaa authentication eap
- Lors de l'authentification EAP, le serveur RADIUS FlexVPN_auth
est utiliséaaa authorization group eap list
- Pendant l'autorisation, la liste des réseaux FlexVPN_authz
est utilisé avec la stratégie d'autorisation ikev2-authz-policy
aaa authorization user eap cached
- Active l'autorisation utilisateur implicitevirtual-template 20 mode auto
- Définit le modèle virtuel à cloneranyconnect profile Client_Profile
- Le profil client défini à l'étape 8. est appliqué ici à ce profil IKEv214. Configurez un jeu de transformation et un profil IPSec.
crypto ipsec transform-set TS esp-gcm 256
mode tunnel
crypto ipsec profile Flexvpn_IPsec_Profile
set transform-set TS
set ikev2-profile Flexvpn_ikev2_Profile
15. Ajoutez le profil IPSec au modèle virtuel.
interface Virtual-Template20 type tunnel
tunnel mode ipsec ipv4
tunnel protection ipsec profile Flexvpn_IPsec_Profile
Avant Cisco IOS XE 16.9.1, les téléchargements automatiques de profils à partir de la tête de réseau n'étaient pas disponibles. Après 16.9.1, il est possible de télécharger le profil à partir de la tête de réseau.
!
!
false
true
false
All
All
false
Native
false
30
false
true
false
false
true
IPv4,IPv6
true
ReconnectAfterResume
false
true
Automatic
SingleLocalLogon
SingleLocalLogon
AllowRemoteUsers
LocalUsersOnly
false
Automatic
false
false
20
4
false
false
true
<ServerList>
<HostEntry>
<HostName>FlexVPN</HostName>
<HostAddress>flexvpn-csr.cisco.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
Remarque : le proxy d'authentification Duo prend en charge MS-CHAPv2 uniquement avec l'authentification RADIUS.
Étape 1. Téléchargez et installez Duo Authentication Proxy Server.
Connectez-vous à l'ordinateur Windows et installez le serveur proxy d'authentification Duo.
Il est recommandé d'utiliser un système avec au moins 1 processeur, 200 Mo d'espace disque et 4 Go de RAM.
Étape 2. Naviguez jusqu'à C:\Program Files\Duo Security Authentication Proxy\conf\
et ouvrir authproxy.cfg
afin de configurer le proxy d'authentification avec les détails appropriés.
[radius_client]
host=10.197.243.116
secret=cisco
Remarque : ici, « 10.197.243.116 » est l'adresse IP du serveur ISE et « cisco » est le mot de passe configuré afin de valider l'authentification principale.
Une fois ces modifications effectuées, enregistrez le fichier.
Étape 3. Open (ouvert) Console des services Windows (services.msc
. Et redémarrez Duo Security Authentication Proxy Service
.
Étape 1. Naviguez jusqu'à Administration > Network Devices
, puis cliquez surAdd
afin de configurer le périphérique réseau.
Remarque : Remplacer x.x.x.x
avec l'adresse IP de votre serveur proxy d'authentification Duo.
Étape 2. Configurez le Shared Secret
comme indiqué dans la authproxy.cfg
en secret
:
Étape 3. Naviguez jusqu'à Administration > Identities > Users
.Choisir Add
afin de configurer l'utilisateur Identity pour l'authentification principale AnyConnect :
Étape 1. Connectez-vous à votre compte Duo.
Naviguez jusqu'à Applications > Protect an Application
. Cliquer Protect
pour l'application que vous souhaitez utiliser. (RADIUS dans ce cas)
Étape 2. Cliquer Protect
pour l'application que vous souhaitez utiliser. (RADIUS dans ce cas)
Copiez la clé d'intégration, la clé secrète et le nom d'hôte de l'API, puis collez-les sur le authproxy.cfg
du proxy Duo Authentication.
Copiez ces valeurs et revenez au proxy d'authentification DUO et ouvrez le authproxy.cfg
et collez les valeurs comme indiqué :
Clé d'intégration = ikey
clé secrète = skey
Nom d'hôte API = api_host
[radius_server_auto]
ikey=xxxxxxxx
skey=xxxxxxxv1zG
api_host=xxxxxxxx
radius_ip_1=10.106.54.143
radius_secret_1=cisco
failmode=safe
client=radius_client
port=1812
Remarque : ikey, skey et api_host doivent être copiés à partir du serveur Duo lorsque vous configurez le serveur, et '10.106.54.143' est l'adresse IP du routeur C800V, et 'cisco' est la clé configurée sur le routeur sous la configuration du serveur RADIUS.
Une fois ces modifications effectuées, enregistrez à nouveau le fichier et redémarrez le service proxy d'authentification de sécurité duo (dans services.msc
.
Étape 3. Créer des utilisateurs sur DUO pour l'authentification secondaire.
Naviguez jusqu'à Users > Add User
et tapez le nom d'utilisateur.
Remarque : le nom d'utilisateur doit correspondre au nom d'utilisateur de l'authentification principale.
Cliquer Add User
. Une fois créé, sous Phones
, ccoup de langue Add Phone
, saisissez le numéro de téléphone, puis cliquez sur Add Phone
.
Sélectionnez le type d'authentification.
Choisir Generate Duo Mobile Activation Code
.
Choisir Send Instructions by SMS
.
Cliquez sur le lien envoyé au téléphone et l'application DUO est liée au compte d'utilisateur dans le Device Info
, comme l'illustre l'image :
Afin de tester l'authentification, connectez-vous au C8000V à partir du PC de l'utilisateur via AnyConnect.
Saisissez le nom d'utilisateur et le mot de passe de l'authentification principale.
Ensuite, acceptez les poussées DUO sur le mobile.
La connexion est établie.
Vous pouvez le vérifier sur la tête de réseau VPN :
1. IKEv2 parameters
R1#sh crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.54.143/4500 10.197.243.98/54198 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile
Life/Active Time: 86400/147 sec
CE id: 1108, Session-id: 15
Status Description: Negotiation done
Local spi: 81094D322A295C92 Remote spi: 802F3CC9E1C33C2F
Local id: 10.106.54.143
Remote id: cisco.com
Remote EAP id: sadks //AnyConnect username
Local req msg id: 0 Remote req msg id: 10
Local next msg id: 0 Remote next msg id: 10
Local req queued: 0 Remote req queued: 10
Local window: 5 Remote window: 1
DPD configured for 60 seconds, retry 2
Fragmentation not configured.
Dynamic Route Update: disabled
Extended Authentication not configured.
NAT-T is detected outside
Cisco Trust Security SGT is disabled
Assigned host addr: 192.168.13.5 //Assigned IP address from the address pool
Initiator of SA : No
2. Crypto session detail for the vpn session
R1#sh crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect, U - IKE Dynamic Route Update
S - SIP VPN
Interface: Virtual-Access2
Profile: FlexVPN-ikev2_Profile
Uptime: 00:01:07
Session status: UP-ACTIVE
Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)
Phase1_id: cisco.com
Desc: (none)
Session ID: 114
IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active
Capabilities:DN connid:1 lifetime:23:58:53
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532
Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532
3.Verification on ISE live logs
Naviguez jusqu'à Operations > Live Logs
dans ISE. Vous pouvez afficher le rapport d'authentification pour l'authentification principale.
4. Verification on DUO authentication proxy
Accédez à ce fichier sur le proxy d'authentification DUO ; C:\Program Files\Duo Security Authentication Proxy\log
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto //10.106.54.143 IP address of C8000V
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191 //Primary auth sent to ISE 10.197.243.116
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2 //ISE auth successful
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth // Proxy is sending secondary auth request to DUO server
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept //DUO push successful
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
Pour IKEv2 :
debug crypto ikev2
debug crypto ikev2 client flexvpn
debug crypto ikev2 internal
debug crypto ikev2 packet
debug crypto ikev2 error
Pour IPSec :
debug crypto ipsec
debug crypto ipsec error
2. Pour le proxy d'authentification DUO, vérifiez le fichier journal proxy-relatedd journaux. (C:\Program Files\Duo Security Authentication Proxy\log
)
L'extrait de journal d'erreurs où ISE rejette l'authentification principale s'affiche :
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
26-Jun-2023 |
Première publication |