Ce document explique comment configurer le dispositif de sécurité adaptatif Cisco (ASA) pour utiliser un serveur RADIUS (Remote Authentication Dial-In User Service) pour l'authentification des utilisateurs WebVPN. Le serveur RADIUS dans cet exemple est un serveur Cisco Access Control Server (ACS), version 4.1. Cette configuration est effectuée avec l'Adaptive Security Device Manager (ASDM) 6.0(2) sur un ASA qui exécute la version logicielle 8.0(2).
Remarque : dans cet exemple, l'authentification RADIUS est configurée pour les utilisateurs WebVPN, mais cette configuration peut également être utilisée pour d'autres types de VPN d'accès à distance. Affectez simplement le groupe de serveurs AAA au profil de connexion souhaité (groupe de tunnels), comme illustré.
Une configuration WebVPN de base est requise.
Cisco ACS doit avoir des utilisateurs configurés pour l'authentification des utilisateurs. Référez-vous à la section Ajout d'un compte d'utilisateur de base de Gestion des utilisateurs pour plus d'informations.
Dans cette section, vous êtes présenté avec les informations pour configurer l'authentification RADIUS sur l'ACS et ASA.
Complétez ces étapes afin de configurer le serveur ACS pour communiquer avec l'ASA.
Choisissez Network Configuration dans le menu de gauche de l'écran ACS.
Choisissez Add Entry sous AAA Clients.
Fournissez les informations relatives au client :
Nom d'hôte du client AAA : un nom de votre choix
AAA Client IP Address : adresse à partir de laquelle le dispositif de sécurité contacte l'ACS
Shared Secret : clé secrète configurée sur l'ACS et sur l'appliance de sécurité
Dans la liste déroulante Authenticate Using, sélectionnez RADIUS (Cisco VPN 3000/ASA/PIX 7.x+).
Cliquez sur Envoyer+Appliquer.
Complétez ces étapes dans l'ASDM afin de configurer l'ASA pour communiquer avec le serveur ACS et authentifier les clients WebVPN.
Choisissez Configuration > Remote Access VPN > AAA Setup > AAA Server Groups.
Cliquez sur Add en regard de AAA Server Groups.
Dans la fenêtre qui s'affiche, spécifiez un nom pour le nouveau groupe de serveurs AAA et choisissez RADIUS comme protocole. Cliquez sur OK lorsque vous avez terminé.
Assurez-vous que votre nouveau groupe est sélectionné dans le volet supérieur et cliquez sur Add à droite du volet inférieur.
Fournissez les informations sur le serveur :
Interface Name : l'interface que l'ASA doit utiliser pour atteindre le serveur ACS
Nom du serveur ou adresse IP : adresse que l'ASA doit utiliser pour atteindre le serveur ACS
Server Secret Key : clé secrète partagée configurée pour l'ASA sur le serveur ACS
Une fois que vous avez configuré le groupe de serveurs AAA et le serveur, naviguez vers Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles afin de configurer WebVPN pour utiliser la nouvelle configuration AAA.
Remarque : même si cet exemple utilise WebVPN, vous pouvez définir n'importe quel profil de connexion d'accès à distance (groupe de tunnels) pour utiliser cette configuration AAA.
Choisissez le profil pour lequel vous voulez configurer AAA, et cliquez sur Edit.
Sous Authentication, sélectionnez le groupe de serveurs RADIUS que vous avez créé précédemment. Cliquez sur OK lorsque vous avez terminé.
Complétez ces étapes dans l'interface de ligne de commande (CLI) afin de configurer l'ASA pour communiquer avec le serveur ACS et authentifier les clients WebVPN.
ciscoasa#configure terminal !--- Configure the AAA Server group. ciscoasa(config)# aaa-server RAD_SRV_GRP protocol RADIUS ciscoasa(config-aaa-server-group)# exit !--- Configure the AAA Server. ciscoasa(config)# aaa-server RAD_SRV_GRP (inside) host 192.168.1.2 ciscoasa(config-aaa-server-host)# key secretkey ciscoasa(config-aaa-server-host)# exit !--- Configure the tunnel group to use the new AAA setup. ciscoasa(config)# tunnel-group ExampleGroup1 general-attributes ciscoasa(config-tunnel-general)# authentication-server-group RAD_SRV_GRP
Utilisez cette section pour confirmer que votre configuration fonctionne correctement.
Vérifiez votre configuration RADIUS à l'aide du bouton Test sur l'écran de configuration AAA Server Groups. Une fois que vous avez fourni un nom d'utilisateur et un mot de passe, ce bouton vous permet d'envoyer une demande de test d'authentification au serveur ACS.
Choisissez Configuration > Remote Access VPN > AAA Setup > AAA Server Groups.
Sélectionnez le groupe de serveurs AAA de votre choix dans le volet supérieur.
Sélectionnez le serveur AAA que vous souhaitez tester dans le volet inférieur.
Cliquez sur le bouton Test à droite du volet inférieur.
Dans la fenêtre qui s'affiche, cliquez sur la case d'option Authentication, et fournissez les informations d'identification avec lesquelles vous voulez tester. Cliquez sur OK lorsque vous avez terminé.
Une fois que l'ASA a contacté le serveur AAA, un message de réussite ou d'échec s'affiche.
Vous pouvez utiliser la commande test sur la ligne de commande afin de tester votre configuration AAA. Une demande de test est envoyée au serveur AAA et le résultat apparaît sur la ligne de commande.
ciscoasa#test aaa-server authentication RAD_SVR_GRP host 192.168.1.2 username kate password cisco123 INFO: Attempting Authentication test to IP address <192.168.1.2> (timeout: 12 seconds) INFO: Authentication Successful
La commande debug radius peut vous aider à dépanner les problèmes d'authentification dans ce scénario. Cette commande active le débogage de session RADIUS ainsi que le décodage de paquets RADIUS. Dans chaque sortie de débogage présentée, le premier paquet décodé est le paquet envoyé de l'ASA au serveur ACS. Le deuxième paquet est la réponse du serveur ACS.
Remarque : Consulter les renseignements importants sur les commandes de débogage avant d’utiliser les commandes de débogage.
Lorsque l'authentification réussit, le serveur RADIUS envoie un message d'acceptation d'accès.
ciscoasa#debug radius !--- First Packet. Authentication Request. ciscoassa#radius mkreq: 0x88 alloc_rip 0xd5627ae4 new request 0x88 --> 52 (0xd5627ae4) got user '' got password add_req 0xd5627ae4 session 0x88 id 52 RADIUS_REQUEST radius.c: rad_mkpkt RADIUS packet decode (authentication request) -------------------------------------- Raw packet data (length = 62)..... 01 34 00 3e 18 71 56 d7 c4 ad e2 73 30 a9 2e cf | .4.>.qV....s0... 5c 65 3a eb 01 06 6b 61 74 65 02 12 0e c1 28 b7 | \e:...kate....(. 87 26 ed be 7b 2c 7a 06 7c a3 73 19 04 06 c0 a8 | .&..{,z.|.s..... 01 01 05 06 00 00 00 34 3d 06 00 00 00 05 | .......4=..... Parsed packet data..... Radius: Code = 1 (0x01) Radius: Identifier = 52 (0x34) Radius: Length = 62 (0x003E) Radius: Vector: 187156D7C4ADE27330A92ECF5C653AEB Radius: Type = 1 (0x01) User-Name Radius: Length = 6 (0x06) Radius: Value (String) = 6b 61 74 65 | kate Radius: Type = 2 (0x02) User-Password Radius: Length = 18 (0x12) Radius: Value (String) = 0e c1 28 b7 87 26 ed be 7b 2c 7a 06 7c a3 73 19 | ..(..&..{,z.|.s. Radius: Type = 4 (0x04) NAS-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 192.168.1.1 (0xC0A80101) Radius: Type = 5 (0x05) NAS-Port Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x34 Radius: Type = 61 (0x3D) NAS-Port-Type Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x5 send pkt 192.168.1.2/1645 rip 0xd5627ae4 state 7 id 52 rad_vrfy() : response message verified rip 0xd544d2e8 : chall_state '' : state 0x7 : timer 0x0 : reqauth: 18 71 56 d7 c4 ad e2 73 30 a9 2e cf 5c 65 3a eb : info 0x88 session_id 0x88 request_id 0x34 user 'kate' response '***' app 0 reason 0 skey 'secretkey' sip 192.168.1.2 type 1 !--- Second Packet. Authentication Response. RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 50)..... 02 34 00 32 35 a1 88 2f 8a bf 2a 14 c5 31 78 59 | .4.25../..*..1xY 60 31 35 89 08 06 ff ff ff ff 19 18 43 41 43 53 | `15.........CACS 3a 30 2f 32 61 36 2f 63 30 61 38 30 31 30 31 2f | :0/2a6/c0a80101/ 35 32 | 52 Parsed packet data..... Radius: Code = 2 (0x02) Radius: Identifier = 52 (0x34) Radius: Length = 50 (0x0032) Radius: Vector: 35A1882F8ABF2A14C531785960313589 Radius: Type = 8 (0x08) Framed-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 255.255.255.255 (0xFFFFFFFF) Radius: Type = 25 (0x19) Class Radius: Length = 24 (0x18) Radius: Value (String) = 43 41 43 53 3a 30 2f 32 61 36 2f 63 30 61 38 30 | CACS:0/2a6/c0a80 31 30 31 2f 35 32 | 101/52 rad_procpkt: ACCEPT RADIUS_ACCESS_ACCEPT: normal termination RADIUS_DELETE remove_req 0xd5627ae4 session 0x88 id 52 free_rip 0xd5627ae4 radius: send queue empty
Lorsque l'authentification échoue, le serveur ACS envoie un message access-reject.
ciscoasa#debug radius !--- First Packet. Authentication Request. ciscoasa# radius mkreq: 0x85 alloc_rip 0xd5627ae4 new request 0x85 --> 49 (0xd5627ae4) got user '' got password add_req 0xd5627ae4 session 0x85 id 49 RADIUS_REQUEST radius.c: rad_mkpkt RADIUS packet decode (authentication request) -------------------------------------- Raw packet data (length = 62)..... 01 31 00 3e 88 21 46 07 34 5d d2 a3 a0 59 1e ff | .1.>.!F.4]...Y.. cc 15 2a 1b 01 06 6b 61 74 65 02 12 60 eb 05 32 | ..*...kate..`..2 87 69 78 a3 ce d3 80 d8 4b 0d c3 37 04 06 c0 a8 | .ix.....K..7.... 01 01 05 06 00 00 00 31 3d 06 00 00 00 05 | .......1=..... Parsed packet data..... Radius: Code = 1 (0x01) Radius: Identifier = 49 (0x31) Radius: Length = 62 (0x003E) Radius: Vector: 88214607345DD2A3A0591EFFCC152A1B Radius: Type = 1 (0x01) User-Name Radius: Length = 6 (0x06) Radius: Value (String) = 6b 61 74 65 | kate Radius: Type = 2 (0x02) User-Password Radius: Length = 18 (0x12) Radius: Value (String) = 60 eb 05 32 87 69 78 a3 ce d3 80 d8 4b 0d c3 37 | `..2.ix.....K..7 Radius: Type = 4 (0x04) NAS-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 192.168.1.1 (0xC0A80101) Radius: Type = 5 (0x05) NAS-Port Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x31 Radius: Type = 61 (0x3D) NAS-Port-Type Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x5 send pkt 192.168.1.2/1645 rip 0xd5627ae4 state 7 id 49 rad_vrfy() : response message verified rip 0xd544d2e8 : chall_state '' : state 0x7 : timer 0x0 : reqauth: 88 21 46 07 34 5d d2 a3 a0 59 1e ff cc 15 2a 1b : info 0x85 session_id 0x85 request_id 0x31 user 'kate' response '***' app 0 reason 0 skey 'secretkey' sip 192.168.1.2 type 1 !--- Second packet. Authentication Response. RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 32)..... 03 31 00 20 70 98 50 af 39 cc b9 ba df a7 bd ff | .1. p.P.9....... 06 af fb 02 12 0c 52 65 6a 65 63 74 65 64 0a 0d | ......Rejected.. Parsed packet data..... Radius: Code = 3 (0x03) Radius: Identifier = 49 (0x31) Radius: Length = 32 (0x0020) Radius: Vector: 709850AF39CCB9BADFA7BDFF06AFFB02 Radius: Type = 18 (0x12) Reply-Message Radius: Length = 12 (0x0C) Radius: Value (String) = 52 65 6a 65 63 74 65 64 0a 0d | Rejected.. rad_procpkt: REJECT RADIUS_DELETE remove_req 0xd5627ae4 session 0x85 id 49 free_rip 0xd5627ae4 radius: send queue empty
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
21-Aug-2007 |
Première publication |