Ce document explique comment configurer le dispositif de sécurité adaptatif (ASA) de Cisco pour transmettre automatiquement les identifiants de connexion de l'utilisateur WebVPN, ainsi que l'authentification secondaire, aux serveurs qui nécessitent une validation supplémentaire de la connexion dans Windows Active Directory exécutant NT LAN Manager version 1 (NTLMv1). Cette fonctionnalité est connue en tant qu'authentification unique. Le document propose des liens configurés pour qu'un groupe WebVPN spécifique puisse transmettre ces informations d'authentification de l'utilisateur, éliminant de ce fait plusieurs demandes d'authentification. Cette fonctionnalité peut également être utilisée pour la configuration globale ou pour la configuration de l'utilisateur.
Assurez-vous que vous répondez à ces exigences avant d'essayer cette configuration :
Assurez-vous que les autorisations NTLMv1 et Windows pour les utilisateurs VPN cibles sont configurées. Consultez votre documentation Microsoft pour plus d'informations sur les droits d'accès au domaine Windows.
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Cisco ASA 7.1(1)
Cisco Adaptive Security Device Manager (ASDM) 5.1(2)
Microsoft Internet Information Services (IIS)
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. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d’informations sur les conventions utilisées dans ce document, reportez-vous aux Conventions relatives aux conseils techniques Cisco.
Dans cette section, vous êtes présenté avec les informations pour configurer l'ASA en tant que serveur WebVPN avec SSO.
Remarque : utilisez l'outil de recherche de commandes (clients enregistrés uniquement) pour obtenir plus d'informations sur les commandes utilisées dans cette section.
Complétez ces étapes pour configurer l'ASA pour utiliser un contrôleur de domaine pour l'authentification.
Sélectionnez Configuration > Properties > AAA Setup > AAA Servers et cliquez sur Add. Attribuez un nom au groupe de serveurs, par exemple Windows_NT, et choisissez NT Domain comme protocole.
Ajoutez un serveur Windows.
Sélectionnez le groupe nouvellement créé et cliquez sur Add. Sélectionnez l'interface où se trouve le serveur et entrez l'adresse IP et le nom du contrôleur de domaine. Assurez-vous que le nom du contrôleur de domaine est entré en majuscules. Cliquez sur OK lorsque vous avez terminé.
Cette fenêtre affiche la configuration AAA terminée :
Complétez ces étapes pour configurer l'ASA pour utiliser un certificat auto-signé.
Remarque : dans cet exemple, un certificat auto-signé est utilisé pour simplifier. Pour d'autres options d'inscription de certificats, telles que l'inscription auprès d'une autorité de certification externe, consultez Configuration des certificats.
Sélectionnez Configuration > Properties > Certificate > Trustpoint > Configuration et cliquez sur Add.
Dans la fenêtre qui apparaît, entrez un nom de point de confiance tel que Local-TP et cochez Générer un certificat auto-signé lors de l'inscription. D'autres options peuvent conserver leurs paramètres par défaut. Cliquez sur OK lorsque vous avez terminé.
Cette fenêtre affiche la configuration Trustpoint terminée :
Effectuez ces étapes pour permettre aux utilisateurs externes à votre réseau de se connecter à l'aide de WebVPN.
Sélectionnez Configuration > VPN > WebVPN > WebVPN Access.
Sélectionnez l'interface souhaitée, cliquez sur Enable, et cochez Enable Tunnel Group Drop-down List on WebVPN Login Page.
Remarque : si la même interface est utilisée pour l'accès WebVPN et ASDM, vous devez remplacer le port par défaut pour l'accès ASDM du port 80 par un nouveau port tel que 8080. Pour ce faire, sélectionnez Configuration > Properties > Device Access > HTTPS/ASDM.
Remarque : vous pouvez rediriger automatiquement un utilisateur vers le port 443 si un utilisateur accède à http://<adresse_ip> au lieu de https://<adresse_ip>. Sélectionnez Configuration > Properties > HTTP/HTTPS, choisissez l'interface souhaitée, cliquez sur Edit et sélectionnez Redirect HTTP to HTTPS.
Complétez ces étapes pour créer une liste qui contient les serveurs pour lesquels vous voulez accorder l'accès à vos utilisateurs WebVPN.
Sélectionnez Configuration > VPN > WebVPN > Servers and URLs et cliquez sur Add.
Entrez un nom pour la liste d'URL. Ce nom n'est pas visible par les utilisateurs finaux. Cliquez sur Add.
Saisissez le nom d'affichage de l'URL tel qu'il doit être affiché aux utilisateurs. Saisissez les informations d'URL du serveur. C'est normalement ainsi que vous accédez au serveur.
Cliquez sur OK, OK, puis sur Apply.
Complétez ces étapes pour configurer une stratégie de groupe pour vos utilisateurs WebVPN.
Sélectionnez Configuration > VPN > General > Group Policy, cliquez sur Add, et sélectionnez Internal Group Policy.
Dans l'onglet Général, spécifiez un nom de stratégie, tel que Internal-Group_POL_WEBVPN. Ensuite, décochez Inherit en regard de Tunneling Protocols et cochez WebVPN.
Dans l'onglet WebVPN, sélectionnez le sous-onglet Other. Désactivez la case à cocher Hériter en regard de Serveurs et listes d'URL et sélectionnez la liste d'URL que vous avez configurée dans la liste déroulante. Cliquez sur OK lorsque vous avez terminé.
Complétez ces étapes pour configurer un groupe de tunnels pour vos utilisateurs WebVPN.
Sélectionnez Configuration > VPN > General > Tunnel Group, cliquez sur Add et sélectionnez WebVPN Access...
Entrez un nom pour le groupe de tunnels, tel que WEB_VPN-GRP. Dans l'onglet Basic, sélectionnez la stratégie de groupe que vous avez créée et vérifiez que le type de groupe est webvpn.
Accédez à l'onglet AAA.
Pour Authentication Server Group, choisissez le groupe que vous avez configuré afin d'activer l'authentification NTLMv1 avec votre contrôleur de domaine.
Facultatif : cochez la case Utiliser LOCAL si le groupe de serveurs ne parvient pas à activer l'utilisation de la base de données utilisateur LOCAL en cas d'échec du groupe AAA configuré. Cela peut vous aider à effectuer le dépannage ultérieurement.
Accédez à l'onglet WebVPN, puis au sous-onglet Group Aliases and URLs.
Entrez un alias sous Group Aliases et cliquez sur Add. Cet alias apparaît dans la liste déroulante présentée aux utilisateurs WebVPN lors de la connexion.
Cliquez sur OK, puis sur Apply.
Passez à la ligne de commande pour activer l'authentification unique pour vos serveurs internes.
Remarque : cette étape ne peut pas être effectuée dans l'ASDM et doit être effectuée à l'aide de la ligne de commande. Référez-vous à Accès à l'interface de ligne de commande pour plus d'informations.
Utilisez la commande auto-sign pour spécifier la ressource réseau, telle qu'un serveur, à laquelle vous voulez donner accès à vos utilisateurs. Une adresse IP de serveur unique est configurée ici, mais une plage réseau telle que 10.1.1.0 /24 peut également être spécifiée. Référez-vous à la commande auto-signature pour plus d'informations.
ASA>enable ASA#configure terminal ASA(config)#webvpn ASA(config-webpvn)#auto-signon allow ip 10.1.1.200 255.255.255.255 auth-type ntlm ASA(config-webvpn)#quit ASA(config)#exit ASA#write memory
Dans cet exemple de sortie, la commande auto-signature est configurée pour WebVPN globalement. Cette commande peut également être utilisée en mode de configuration de groupe WebVPN ou en mode de configuration de nom d'utilisateur WebVPN. L'utilisation de cette commande en mode de configuration de groupe WebVPN la limite à un groupe particulier. De même, l'utilisation de cette commande en mode de configuration de nom d'utilisateur WebVPN la limite à un utilisateur individuel. Référez-vous à la commande auto-signature pour plus d'informations.
Ce document utilise la configuration suivante :
ASA version 7.1(1) |
---|
ASA# show running-config : Saved : ASA Version 7.1(1) ! terminal width 200 hostname ASA domain-name cisco.com enable password 8Ry2YjIyt7RRXU24 encrypted names ! interface GigabitEthernet0/0 nameif outside security-level 0 ip address 172.16.171.51 255.255.255.0 ! interface GigabitEthernet0/1 nameif inside security-level 100 ip address 10.1.1.1 255.255.255.0 ! interface GigabitEthernet0/2 shutdown no nameif no security-level no ip address ! interface GigabitEthernet0/3 shutdown no nameif no security-level no ip address ! interface Management0/0 shutdown no nameif no security-level no ip address ! passwd 2KFQnbNIdI.2KYOU encrypted ftp mode passive dns server-group DefaultDNS domain-name cisco.com pager lines 24 mtu inside 1500 mtu outside 1500 no failover asdm image disk0:/asdm512.bin no asdm history enable arp timeout 14400 route outside 0.0.0.0 0.0.0.0 172.16.171.1 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 timeout mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute !--- AAA server configuration aaa-server Windows_NT protocol nt aaa-server Windows_NT host 10.1.1.200 nt-auth-domain-controller ESC-SJ-7800 !--- Internal group policy configuration group-policy Internal-GRP_POL_WEBVPN internal group-policy Internal-GRP_POL_WEBVPN attributes vpn-tunnel-protocol webvpn webvpn url-list value webserver username cisco password Q/odgwmtmVIw4Dcm encrypted privilege 15 aaa authentication http console LOCAL aaa authentication ssh console LOCAL aaa authentication enable console LOCAL http server enable 8181 http 0.0.0.0 0.0.0.0 outside no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstart !--- Trustpoint/certificate configuration crypto ca trustpoint Local-TP enrollment self crl configure crypto ca certificate chain Local-TP certificate 31 308201b0 30820119 a0030201 02020131 300d0609 2a864886 f70d0101 04050030 1e311c30 1a06092a 864886f7 0d010902 160d4153 412e6369 73636f2e 636f6d30 1e170d30 36303333 30313334 3930345a 170d3136 30333237 31333439 30345a30 1e311c30 1a06092a 864886f7 0d010902 160d4153 412e6369 73636f2e 636f6d30 819f300d 06092a86 4886f70d 01010105 0003818d 00308189 02818100 e47a29cd 56becf8d 99d6d919 47892f5a 1b8fc5c0 c7d01ea6 58f3bec4 a60b2025 03748d5b 1226b434 561e5507 5b45f30e 9d65a03f 30add0b5 81f6801a 766c9404 9cabcbde 44b221f9 b6d6dc18 496fe5bb 4983927f adabfb17 68b4d22c cddfa6c3 d8802efc ec3af7c7 749f0aa2 3ea2c7e3 776d6d1d 6ce5f748 e4cda3b7 4f007d4f 02030100 01300d06 092a8648 86f70d01 01040500 03818100 c6f87c61 534bb544 59746bdb 4e01680f 06a88a15 e3ed8929 19c6c522 05ec273d 3e37f540 f433fb38 7f75928e 1b1b6300 940b8dff 69eac16b af551d7f 286bc79c e6944e21 49bf15f3 c4ec82d8 8811b6de 775b0c57 e60a2700 fd6acc16 a77abee6 34cb0cad 81dfaf5a f544258d cc74fe2d 4c298076 294f843a edda3a0a 6e7f5b3c quit !--- Tunnel group configuration tunnel-group WEB_VPN-GRP type webvpn tunnel-group WEB_VPN-GRP general-attributes authentication-server-group Windows_NT default-group-policy Internal-GRP_POL_WEBVPN tunnel-group WEB_VPN-GRP webvpn-attributes group-alias Group-Selection enable telnet timeout 5 ssh timeout 5 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map global_policy class inspection_default inspect dns maximum-length 512 inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy global_policy global !--- WebVPN Configuration webvpn enable outside url-list webserver "Internal Server" https://10.1.1.200 1 tunnel-group-list enable auto-signon allow ip 10.1.1.200 255.255.255.255 auth-type ntlm Cryptochecksum:c80ac5f6232df50fc1ecc915512c3cd6 : end |
Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.
L'Outil Interpréteur de sortie (clients enregistrés uniquement) (OIT) prend en charge certaines commandes show. Utilisez l'OIT pour afficher une analyse de la sortie de la commande show .
Connectez-vous en tant qu'utilisateur pour tester votre configuration.
Essayez de vous connecter à l'ASA avec les informations utilisateur de votre domaine NT. Sélectionnez l'alias de groupe configuré à l'étape 5 sous Configurer un groupe de tunnels.
Recherchez le ou les liens configurés vers le ou les serveurs internes. Cliquez sur le lien pour vérifier.
Sélectionnez Monitoring > VPN > VPN Statistics > Sessions et recherchez une session WebVPN qui appartient au groupe configuré dans ce document.
Ce résultat est un exemple de débogage d'une session WebVPN réussie.
Remarque : Consulter les renseignements importants sur les commandes de débogage avant d’utiliser les commandes de débogage.
ASA#debug webvpn 255 INFO: debug webvpn enabled at level 255 ASA# ASA# webvpn_portal.c:ewaFormServe_webvpn_login[1570] webvpn_portal.c:http_webvpn_kill_cookie[385] webvpn_auth.c:webvpn_auth[286] WebVPN: no cookie present!! webvpn_portal.c:ewaFormSubmit_webvpn_login[1640] webvpn_portal.c:http_webvpn_kill_cookie[385] webvpn_auth.c:http_webvpn_pre_authentication[1782] !--- Begin AAA WebVPN: calling AAA with ewsContext (78986968) and nh (78960800)! WebVPN: started user authentication... webvpn_auth.c:webvpn_aaa_callback[3422] WebVPN: AAA status = (ACCEPT) webvpn_portal.c:ewaFormSubmit_webvpn_login[1640] webvpn_auth.c:http_webvpn_post_authentication[1095] WebVPN: user: (test) authenticated. !--- End AAA webvpn_auth.c:http_webvpn_auth_accept[2093] webvpn_session.c:http_webvpn_create_session[159] webvpn_session.c:http_webvpn_find_session[136] WebVPN session created! webvpn_session.c:http_webvpn_find_session[136] webvpn_db.c:webvpn_get_server_db_first[161] webvpn_db.c:webvpn_get_server_db_next[202] traversing list: (webserver) webvpn_portal.c:ewaFormServe_webvpn_cookie[1421] webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. !--- Output supressed webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924]
Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.
Si la zone déroulante Group n'est pas présente sur la page de connexion WebVPN, assurez-vous que vous avez terminé l'étape 2 sous Enable WebVPN on the Outside Interface et l'étape 5 sous Configure a Tunnel Group. Si ces étapes ne sont pas terminées et que la liste déroulante est manquante, l'authentification tombe sous le groupe par défaut et échoue probablement.
Bien que vous ne puissiez pas attribuer de droits d'accès à l'utilisateur dans ASDM ou sur ASA, vous pouvez restreindre les utilisateurs disposant de droits d'accès Microsoft Windows sur votre contrôleur de domaine. Ajoutez les autorisations de groupe NT nécessaires pour la page Web à laquelle l'utilisateur s'authentifie. Une fois que l'utilisateur se connecte à WebVPN avec les autorisations du groupe, l'accès aux pages spécifiées est accordé ou refusé en conséquence. L'ASA agit uniquement en tant qu'hôte d'authentification proxy pour le compte du contrôleur de domaine et toutes les communications ici sont NTLMv1.
Vous ne pouvez pas configurer l'authentification unique pour Sharepoint sur WebVPN, car Sharepoint Server ne prend pas en charge l'authentification basée sur les formulaires. Par conséquent, les signets avec post ou la procédure de post plugin ne s'applique pas ici.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
28-Apr-2006 |
Première publication |