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 utiliser l'authentification LDAP (Lightweight Directory Access Protocol) afin d'attribuer une stratégie de groupe à la connexion. Fréquemment, les administrateurs veulent fournir à des utilisateurs VPN différentes autorisations d'accès ou de contenu WebVPN. Sur l'appliance ASA (Adaptive Security Appliance), cela est réalisé régulièrement grâce à l'attribution de différentes stratégies de groupe à différents utilisateurs. Quand l'authentification LDAP est en service, ceci peut être réalisé automatiquement avec une carte d'attribut LDAP.
Afin d'utiliser LDAP pour attribuer une stratégie de groupe à un utilisateur, vous devez configurer une carte qui mappe un attribut LDAP, tel que l'attribut Active Directory (AD) memberOf, à l'attribut IETF-Radius-Class qui est compris par l'ASA. Une fois le mappage d'attribut établi, vous devez mapper la valeur d'attribut configurée sur le serveur LDAP au nom d'une stratégie de groupe sur l'ASA.
Remarque : l'attribut memberOf correspond au groupe dont l'utilisateur fait partie dans Active Directory. Il est possible qu'un utilisateur soit membre de plusieurs groupes dans Active Directory. Cela entraîne l'envoi de plusieurs attributs memberOf par le serveur, mais l'ASA ne peut faire correspondre qu'un seul attribut à une seule stratégie de groupe.
Ce document nécessite qu'une configuration d'authentification LDAP fonctionnelle soit déjà configurée sur l'ASA. Référez-vous à Configurer l'authentification LDAP pour les utilisateurs WebVPN afin d'apprendre comment configurer une configuration d'authentification LDAP de base sur l'ASA.
Les informations de ce document sont basées sur PIX/ASA 8.0.
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.
Dans cet exemple, l'attribut AD/LDAP memberOf est mappé à l'attribut ASA CVPN3000-Radius-IETF-Class. L'attribut class est utilisé afin d'attribuer des stratégies de groupe sur l'ASA. Il s'agit du processus général que l'ASA effectue lorsqu'il authentifie les utilisateurs avec LDAP :
L'utilisateur établit une connexion à l'ASA.
L'ASA est configuré pour authentifier cet utilisateur avec le serveur Microsoft AD/LDAP.
L'ASA se lie au serveur LDAP avec les informations d'identification configurées sur l'ASA (admin dans ce cas), et recherche le nom d'utilisateur fourni.
Si le nom d'utilisateur est trouvé, l'ASA tente de se lier au serveur LDAP avec les informations d'identification fournies par l'utilisateur lors de la connexion.
Si la deuxième liaison est réussie, l'ASA traite les attributs des utilisateurs, qui incluent memberOf.
L'attribut memberOf est mappé à CVPN3000-Radius-IETF-Class par la carte d'attribut LDAP configurée.
La valeur qui indique l'appartenance au groupe Employés est mappée à ExamplePolicy1.
La valeur qui indique l'appartenance au groupe Contractors est mappée à ExamplePolicy2.
L'attribut CVPN3000-Radius-IETF-Class nouvellement attribué est examiné et une détermination de politique de groupe est effectuée.
La valeur ExamplePolicy1 entraîne l'affectation de la stratégie de groupe ExamplePolicy1 à l'utilisateur.
La valeur ExamplePolicy2 entraîne l'affectation de la stratégie de groupe ExamplePolicy2 à l'utilisateur.
Cette section vous présente les informations permettant de configurer l'ASA pour attribuer une stratégie de groupe aux utilisateurs en fonction de leurs attributs LDAP.
Complétez ces étapes dans l'Adaptive Security Device Manager (ASDM) afin de configurer le mappage LDAP sur l'ASA.
Accédez à Configuration > Remote Access VPN > AAA Setup > LDAP Attribute Map.
Cliquez sur Add.
Nommez la carte.
Créez un mappage entre un attribut LDAP et l'attribut IETF-Radius-Class sur l'ASA. Dans cet exemple, le nom du client est l'attribut memberOf dans Active Directory. Il est mappé au nom Cisco de IETF-Radius-Class. Cliquez sur Add.
Remarque : les noms et les valeurs d'attribut sont sensibles à la casse.
Remarque : si vous ne connaissez pas les noms d'attribut ou les orthographes exacts qui sont fournis par le serveur LDAP, il peut être utile d'examiner les débogages avant de créer la carte. Consultez la section Vérifier pour plus d'informations sur la façon d'identifier les attributs LDAP avec des débogages.
Après avoir ajouté le mappage d'attribut, cliquez sur l'onglet Valeur de mappage, puis cliquez sur Ajouter afin de créer un mappage de valeur. Ajoutez autant de mappages de valeurs que nécessaire, puis cliquez sur OK lorsque vous avez terminé.
Valeur client : valeur d'attribut du serveur LDAP
Valeur Cisco : nom de la stratégie de groupe sur l'ASA
Dans cet exemple, la valeur CN=Employees, CN=Users, DC=ftwsecurity, DC=cisco, DC=com memberOf est mappée sur ExamplePolicy1 et la valeur CN=Contractors, CN=Users, DC=ftwsecurity, DC=cisco, DC=com memberOf est mappée sur ExamplePolicy2.
Mappage complet des attributs LDAP
Une fois que vous avez créé le mappage, il doit être attribué au serveur Authentication, Authorization, and Accounting (AAA) qui est configuré pour l'authentification LDAP. Choisissez AAA Server Groups dans le volet de gauche.
Sélectionnez votre serveur AAA configuré pour LDAP, puis cliquez sur Edit.
Au bas de la fenêtre qui s'affiche, localisez la liste déroulante Mappage d'attributs LDAP. Sélectionnez la liste que vous venez de créer. Cliquez sur OK lorsque vous avez terminé.
Complétez ces étapes dans la CLI afin de configurer le mappage LDAP sur l'ASA.
ciscoasa#configure terminal !--- Create the LDAP Attribute Map. ciscoasa(config)#ldap attribute-map CISCOMAP ciscoasa(config-ldap-attribute-map)#map-name memberOf IETF-Radius-Class ciscoasa(config-ldap-attribute-map)#map-value memberOf CN=Employees,CN=Users, DC=ftwsecurity,DC=cisco,DC=com ExamplePolicy1 ciscoasa(config-ldap-attribute-map)#map-value memberOf CN=Contractors,CN=Users, DC=ftwsecurity,DC=cisco,DC=com ExamplePolicy2 ciscoasa(config-ldap-attribute-map)#exit !--- Assign the map to the LDAP AAA server. ciscoasa(config)#aaa-server LDAP_SRV_GRP (inside) host 192.168.1.2 ciscoasa(config-aaa-server-host)#ldap-attribute-map CISCOMAP
Vous pouvez créer une stratégie de groupe NOACCESS afin de refuser la connexion VPN lorsque l'utilisateur ne fait partie d'aucun des groupes LDAP. Cet extrait de configuration est affiché à titre de référence :
group-policy NOACCESS internal group-policy NOACCESS attributes vpn-simultaneous-logins 0 vpn-tunnel-protocol IPSec webvpn
Vous devez appliquer cette stratégie de groupe en tant que stratégie de groupe par défaut au groupe de tunnels. Pour que les utilisateurs qui obtiennent un mappage à partir du mappage d'attribut LDAP, par exemple ceux qui appartiennent à un groupe LDAP souhaité, puissent obtenir leurs stratégies de groupe souhaitées et les utilisateurs qui n'obtiennent aucun mappage, par exemple ceux qui n'appartiennent à aucun des groupes LDAP souhaités, puissent obtenir NOACCESS group-policy à partir du groupe de tunnel, ce qui bloque l'accès pour eux.
Remarque : référez-vous à Exemple de configuration LDAP : Mapping VPN Clients to VPN Group Policies Through LDAP pour plus d'informations sur la façon de créer différents mappages d'attributs LDAP qui refusent l'accès à certains utilisateurs.
La seule configuration requise sur Active Directory ou un autre serveur LDAP concerne les attributs de l'utilisateur. Dans cet exemple, l'utilisateur Kate Austen est membre du groupe Employés dans AD :
Ben Linus est membre du groupe des entrepreneurs :
Utilisez cette section afin de vérifier votre configuration.
Afin de vérifier la réussite de votre configuration, connectez-vous en tant qu'utilisateur supposé avoir une stratégie de groupe assignée avec la carte d'attributs LDAP. Dans cet exemple, une bannière est configurée pour chaque stratégie de groupe. La capture d'écran montre que l'utilisateur kate se connecte avec succès et a ExamplePolicy1 appliqué, car il est membre du groupe Employés.
Afin de vérifier que le mappage LDAP se produit, ou pour obtenir plus d'informations sur les attributs que le serveur LDAP envoie, émettez la commande debug ldap 255 à la ligne de commande ASA, puis essayez l'authentification.
Dans ce débogage, l'utilisateur kate se voit attribuer la stratégie de groupe ExamplePolicy1 parce qu'il est membre du groupe Employees. Ce débogage montre également que kate est membre du groupe Castaways, mais que cet attribut n'est pas mappé, donc il est ignoré.
ciscoasa#debug ldap 255 debug ldap enabled at level 255 ciscoasa# [105] Session Start [105] New request Session, context 0xd5481808, reqType = 1 [105] Fiber started [105] Creating LDAP context with uri=ldap://192.168.1.2:389 [105] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful [105] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com [105] supportedLDAPVersion: value = 3 [105] supportedLDAPVersion: value = 2 [105] supportedSASLMechanisms: value = GSSAPI [105] supportedSASLMechanisms: value = GSS-SPNEGO [105] supportedSASLMechanisms: value = EXTERNAL [105] supportedSASLMechanisms: value = DIGEST-MD5 [105] Binding as administrator [105] Performing Simple authentication for admin to 192.168.1.2 [105] LDAP Search: Base DN = [dc=ftwsecurity, dc=cisco, dc=com] Filter = [sAMAccountName=kate] Scope = [SUBTREE] [105] User DN = [CN=Kate Austen,CN=Users,DC=ftwsecurity,DC=cisco,DC=com] [105] Talking to Active Directory server 192.168.1.2 [105] Reading password policy for kate, dn:CN=Kate Austen,CN=Users, DC=ftwsecurity,DC=cisco,DC=com [105] Read bad password count 0 [105] Binding as user [105] Performing Simple authentication for kate to 192.168.1.2 [105] Checking password policy for user kate [105] Binding as administrator [105] Performing Simple authentication for admin to 192.168.1.2 [105] Authentication successful for kate to 192.168.1.2 [105] Retrieving user attributes from server 192.168.1.2 [105] Retrieved Attributes: [105] objectClass: value = top [105] objectClass: value = person [105] objectClass: value = organizationalPerson [105] objectClass: value = user [105] cn: value = Kate Austen [105] sn: value = Austen [105] givenName: value = Kate [105] distinguishedName: value = CN=Kate Austen,CN=Users,DC=ftwsecurity, DC=cisco,DC=com [105] instanceType: value = 4 [105] whenCreated: value = 20070815155224.0Z [105] whenChanged: value = 20070815195813.0Z [105] displayName: value = Kate Austen [105] uSNCreated: value = 16430 [105] memberOf: value = CN=Castaways,CN=Users,DC=ftwsecurity,DC=cisco,DC=com [105] mapped to IETF-Radius-Class: value = CN=Castaways,CN=Users, DC=ftwsecurity,DC=cisco,DC=com [105] memberOf: value = CN=Employees,CN=Users,DC=ftwsecurity,DC=cisco,DC=com [105] mapped to IETF-Radius-Class: value = ExamplePolicy1 [105] uSNChanged: value = 20500 [105] name: value = Kate Austen [105] objectGUID: value = ..z...yC.q0..... [105] userAccountControl: value = 66048 [105] badPwdCount: value = 0 [105] codePage: value = 0 [105] countryCode: value = 0 [105] badPasswordTime: value = 128316837694687500 [105] lastLogoff: value = 0 [105] lastLogon: value = 128316837785000000 [105] pwdLastSet: value = 128316667442656250 [105] primaryGroupID: value = 513 [105] objectSid: value = ............Q..p..*.p?E.Z... [105] accountExpires: value = 9223372036854775807 [105] logonCount: value = 0 [105] sAMAccountName: value = kate [105] sAMAccountType: value = 805306368 [105] userPrincipalName: value = kate@ftwsecurity.cisco.com [105] objectCategory: value = CN=Person,CN=Schema,CN=Configuration, DC=ftwsecurity,DC=cisco,DC=com [105] dSCorePropagationData: value = 20070815195237.0Z [105] dSCorePropagationData: value = 20070815195237.0Z [105] dSCorePropagationData: value = 20070815195237.0Z [105] dSCorePropagationData: value = 16010108151056.0Z [105] Fiber exit Tx=685 bytes Rx=2690 bytes, status=1 [105] Session End
Dans ce débogage, l'utilisateur ben est affecté à la stratégie de groupe ExamplePolicy2 parce qu'il est membre du groupe Contractors. Ce débogage montre également que ben est membre du groupe TheOthers, mais que cet attribut n'est pas mappé, donc il est ignoré.
ciscoasa#debug ldap 255 debug ldap enabled at level 255 ciscoasa# [106] Session Start [106] New request Session, context 0xd5481808, reqType = 1 [106] Fiber started [106] Creating LDAP context with uri=ldap://192.168.1.2:389 [106] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful [106] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com [106] supportedLDAPVersion: value = 3 [106] supportedLDAPVersion: value = 2 [106] supportedSASLMechanisms: value = GSSAPI [106] supportedSASLMechanisms: value = GSS-SPNEGO [106] supportedSASLMechanisms: value = EXTERNAL [106] supportedSASLMechanisms: value = DIGEST-MD5 [106] Binding as administrator [106] Performing Simple authentication for admin to 192.168.1.2 [106] LDAP Search: Base DN = [dc=ftwsecurity, dc=cisco, dc=com] Filter = [sAMAccountName=ben] Scope = [SUBTREE] [106] User DN = [CN=Ben Linus,CN=Users,DC=ftwsecurity,DC=cisco,DC=com] [106] Talking to Active Directory server 192.168.1.2 [106] Reading password policy for ben, dn:CN=Ben Linus,CN=Users,DC=ftwsecurity, DC=cisco,DC=com [106] Read bad password count 0 [106] Binding as user [106] Performing Simple authentication for ben to 192.168.1.2 [106] Checking password policy for user ben [106] Binding as administrator [106] Performing Simple authentication for admin to 192.168.1.2 [106] Authentication successful for ben to 192.168.1.2 [106] Retrieving user attributes from server 192.168.1.2 [106] Retrieved Attributes: [106] objectClass: value = top [106] objectClass: value = person [106] objectClass: value = organizationalPerson [106] objectClass: value = user [106] cn: value = Ben Linus [106] sn: value = Linus [106] givenName: value = Ben [106] distinguishedName: value = CN=Ben Linus,CN=Users,DC=ftwsecurity, DC=cisco,DC=com [106] instanceType: value = 4 [106] whenCreated: value = 20070815160840.0Z [106] whenChanged: value = 20070815195243.0Z [106] displayName: value = Ben Linus [106] uSNCreated: value = 16463 [106] memberOf: value = CN=TheOthers,CN=Users,DC=ftwsecurity,DC=cisco,DC=com [106] mapped to IETF-Radius-Class: value = CN=TheOthers,CN=Users,
DC=ftwsecurity,DC=cisco,DC=com [106] memberOf: value = CN=Contractors,CN=Users,DC=ftwsecurity,DC=cisco,DC=com [106] mapped to IETF-Radius-Class: value = ExamplePolicy2 [106] uSNChanged: value = 20499 [106] name: value = Ben Linus [106] objectGUID: value = ..j...5@.z.|...n [106] userAccountControl: value = 66048 [106] badPwdCount: value = 0 [106] codePage: value = 0 [106] countryCode: value = 0 [106] badPasswordTime: value = 0 [106] lastLogoff: value = 0 [106] lastLogon: value = 0 [106] pwdLastSet: value = 128316677201718750 [106] primaryGroupID: value = 513 [106] objectSid: value = ............Q..p..*.p?E.^... [106] accountExpires: value = 9223372036854775807 [106] logonCount: value = 0 [106] sAMAccountName: value = ben [106] sAMAccountType: value = 805306368 [106] userPrincipalName: value = ben@ftwsecurity.cisco.com [106] objectCategory: value = CN=Person,CN=Schema,CN=Configuration, DC=ftwsecurity,DC=cisco,DC=com [106] dSCorePropagationData: value = 20070815195243.0Z [106] dSCorePropagationData: value = 20070815195243.0Z [106] dSCorePropagationData: value = 20070815195243.0Z [106] dSCorePropagationData: value = 16010108151056.0Z [106] Fiber exit Tx=680 bytes Rx=2642 bytes, status=1 [106] Session End
Utilisez cette section afin de dépanner votre configuration.
Les noms et les valeurs des attributs sont sensibles à la casse. Si votre mappage ne s'effectue pas correctement, assurez-vous d'utiliser l'orthographe et la casse correctes dans votre mappage d'attribut LDAP pour les noms et les valeurs d'attribut Cisco et LDAP.
L'ASA ne peut pas authentifier les utilisateurs à partir du serveur LDAP. Voici les débogages :
Sortie ldap 255 : [1555805] Début de session[1555805] Nouvelle requête Session, contexte 0xcd66c028, reqType = 1[1555805] Début de la fibre optique[1555805] Création d'un contexte LDAP avec uri=ldaps://172.30.74.70:636[1555805] Connexion au serveur LDAP : ldaps://172.30.74.70:636, état = Réussite[1555805] pris en chargeLDAPVersion : valeur = 3[1555805] pris en chargeLDAPVersion : valeur = 2[1555805] Liaison en tant qu'administrateur[1555805] Exécution d'une authentification simple pour les services système vers 172.30.74.70[1555805 1555805 15558050[1555805] services a renvoyé un code (49) Identifiants incorrects[] Échec de la liaison car l'administrateur a renvoyé un code (-1) Impossible de contacter le serveur LDAP[] Sortie fibre Tx=222 octets Rx=605 octets, état=-2[] Fin de session
En ce qui concerne les débogages, soit le format DN de connexion LDAP est incorrect, soit le mot de passe est incorrect. Vérifiez donc les deux pour résoudre le problème.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
29-Aug-2007 |
Première publication |