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 la configuration de la gestion des mots de passe à l'aide de LDAP pour les clients AnyConnect se connectant à Cisco Firepower Threat Défense (FTD).
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.
Le serveur Windows est préconfiguré avec ADDS et ADCS afin de tester le processus de gestion des mots de passe utilisateur. Dans ce guide de configuration, ces comptes utilisateur sont créés.
Comptes utilisateurs:
Administrateur : Il est utilisé comme compte d'annuaire afin de permettre au FTD de se lier au serveur Active Directory.
admin: Compte administrateur de test utilisé pour démontrer l'identité de l'utilisateur.
OuvrezActive Directory Users and Computers
via le tableau de bord du Gestionnaire de serveur.
Ouvrez leView Option
dans le panneau supérieur et activez leAdvanced Features
, comme illustré dans l'image :
Cela permet d'afficher des propriétés supplémentaires sous les objets Active Directory.
Par exemple, pour rechercher le DN de la racine, cliquez avec le bouton droit de la sourisrazor.local
surrazor.local
, puis choisissezProperties
, comme illustré dans cette image :
SousProperties
, sélectionnez l'Attribute Editor
onglet. RecherchezdistinguishedName
sous Attributs, puis cliquez surView
, comme illustré dans l'image.
Une nouvelle fenêtre s'ouvre, dans laquelle le nom distinctif (DN) peut être copié et collé dans FMC ultérieurement.
Dans cet exemple, le DN racine estDC=razor
,DC=local
. Copiez la valeur et enregistrez-la pour plus tard. Cliquez surOK
afin de quitter la fenêtre Éditeur d'attributs de chaîne et cliquez de nouveau surOK
afin de quitter les propriétés.
Appuyez surWin+R
et entrezmmc.exe
, puis cliquez surOK
, comme illustré dans cette image.
Naviguez jusqu'àFile > Add/Remove Snap-in...
, comme illustré dans cette image :
Sous Composants logiciels enfichables disponibles, choisissezCertificates
puis cliquez surAdd
, comme illustré dans cette image :
ChoisissezComputer account
et cliquez surNext
, comme illustré dans cette image :
Comme indiqué ici, cliquez surFinish
.
Maintenant, cliquez surOK
, comme illustré dans cette image.
Développez le dossier,Personal
puis cliquez surCertificates
. Le certificat utilisé par les LDAP doit être délivré au nom de domaine complet (FQDN) du serveur Windows. Sur ce serveur, trois certificats sont répertoriés :
Un certificat CA a été délivré à et parrazor-WIN-E3SKFJQD6J7-CA
.
Certificat d'autorité de certification délivré à et parsupinfo-WIN-FNJVP9QUEH9-CA
.
Un certificat d'identité a été délivré àWIN-E3SKFJQD6J7.razor.local
parrazor-WIN-E3SKFJQD6J7-CA
.
Dans ce guide de configuration, le nom de domaine complet estWIN-E3SKFJQD6J7.razor.local
et les deux premiers certificats ne sont donc pas valides pour être utilisés comme certificat SSL LDAP. Le certificat d'identité émis àWIN-E3SKFJQD6J7.razor.local
est un certificat qui a été émis automatiquement par le service AC de Windows Server. Double-cliquez sur le certificat afin de vérifier les détails.
Pour être utilisé comme certificat SSL LDAP, le certificat doit répondre aux exigences suivantes :
Le nom commun ou le nom secondaire de l'objet DNS correspond au nom de domaine complet de Windows Server.
Le certificat dispose de l'authentification serveur dans le champ Enhanced Key Usage.
Dans l'Details
onglet du certificat, sélectionnezSubject Alternative Name
, où le nom de domaine completWIN-E3SKFJQD6J7.razor.local
est présent.
SousEnhanced Key Usage
,Server Authentication
est présent.
Une fois que cela est confirmé, sous l'Certification Path
'onglet, sélectionnez le certificat de niveau supérieur qui est le certificat d'autorité de certification racine, puis cliquez surView Certificate
. Les détails du certificat pour le certificat de l'autorité de certification racine s'ouvrent comme indiqué dans l'image :
Sous l'Details
onglet du certificat CA racine, cliquez surCopy to File
et naviguez dansCertificate Export Wizard
le qui exporte l'autorité de certification racine au format PEM.
SélectionnezBase-64 encoded X.509
comme format de fichier.
Ouvrez le certificat d'autorité de certification racine stocké à l'emplacement sélectionné sur la machine à l'aide d'un bloc-notes ou d'un autre éditeur de texte.
Affiche le certificat de format PEM. Enregistrez ceci pour plus tard.
-----BEGIN CERTIFICATE-----
MIIDfTCCAmWgAwIBAgIQV4ymxtI3BJ9JHnDL+luYazANBgkqhkiG9w0BAQUFADBRMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFTATBgoJkiaJk/IsZAEZFgVyYXp
vcjEhMB8GA1UEAxMYcmF6b3ItV0lOLUUzU0tGSlFENko3LUNBMB4XDTIxMDMyMjE0MzMxNVoXDTI2MDMyMjE0NDMxNVowUTEVMBMGCgmSJomT8ixkARkW
BWxvY2FsMRUwEwYKCZImiZPyLGQBGRYFcmF6b3IxITAfBgNVBAMTGHJhem9yLVdJTi1FM1NLRkpRRDZKNy1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPAD
CCAQoCggEBAL803nQ6xPpazjj+HBZYc+8fV++RXCG+cUnblxwtXOB2G4UxZ3LRrWznjXaS02Rc3qVw4lnOAziGs4ZMNM1X8UWeKuwi8QZQljJtuSBxL4yjWLyPIg
9dkncZaGtQ1cPmqcnCWunfTsaENKbgoKi4eXjpwwUSbEYwU3OaiiI/tp422ydy3Kgl7Iqt1s4XqpZmTezykWra7dUyXfkuESk6lEOAV+zNxfBJh3Q9Nzpc2IF/FtktWnhj
CSkTQTRXYryy8dJrWjAF/n6A3VnS/l7Uhujlx4CD20BkfQy6p5HpGxdc4GMTTnDzUL46ot6imeBXPHF0IJehh+tZk3bxpoxTDXECAwEAAaNRME8wCwYDVR0PBAQ
DAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFM+DkqQUAOdY379NnViaMIJAVTZ1MBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQU
AA4IBAQCiSm5U7U6Y7zXdx+dleJd0QmGgKayAAuYAD+MWNwC4NzFD8Yr7BnO6f/VnF6VGYPXa+Dvs7VLZewMNkp3i+VQpkBCKdhAV6qZu15697plajfI/eNPrcI
4sMZffbVrGlRz7twWY36J5G5vhNUhzZ1N2OLw6wtHg2SO8XlvpTS5fAnyCZgSK3VPKfXnn1HLp7UH5/SWN2JbPL15r+wCW84b8nrylbBfn0NEX7l50Ff502DYCP
GuDsepY7/u2uWfy/vpTJigeok2DH6HFfOET3sE+7rsIAY+of0kWW5gNwQ4hOwv4Goqj+YQRAXXi2OZyltHR1dfUUbwVENSFQtDnFA7X
-----END CERTIFICATE-----
1. Dans une situation de certificats d’identité multiples qui peuvent être utilisés par LDAPS et lorsqu’il y a une incertitude quant à savoir lequel est utilisé, ou lorsqu’il n’y a pas d’accès au serveur LDAPS, il est toujours possible d’extraire l’autorité de certification racine d’une capture de paquets effectuée sur le FTD.
2. Dans le cas où vous avez plusieurs certificats valides pour l'authentification du serveur dans le magasin de certificats de l'ordinateur local du serveur LDAP (tel que le contrôleur de domaine AD DS), il peut être remarqué qu'un certificat différent est utilisé pour les communications LDAP. La meilleure solution à ce problème consiste à supprimer tous les certificats inutiles du magasin de certificats de l'ordinateur local et à n'avoir qu'un seul certificat valide pour l'authentification du serveur.
Toutefois, s'il existe une raison légitime pour laquelle vous avez besoin de deux certificats ou plus et que vous disposez au moins d'un serveur LDAP Windows Server 2008, le magasin de certificats des services de domaine Active Directory (NTDS\Personal) peut être utilisé pour les communications LDAP.
Ces étapes montrent comment exporter un certificat compatible LDAPS d'un magasin de certificats d'ordinateur local de contrôleur de domaine vers le magasin de certificats de service des services de domaine Active Directory (NTDS\Personal).
Accédez à la console MMC sur le serveur Active Directory, sélectionnez Fichier, puis cliquez surAdd/Remove Snap-in
.
Cliquez surCertificates
, puis surAdd
.
Dans laCertificates snap-in
, sélectionnezComputer account
, puis cliquez surNext
.
DansSelect Computer
, choisissezLocal Computer
, cliquez surOK
, puis cliquez surFinish
. DansAdd or Remove Snap-ins
, cliquez surOK
.
Dans la console des certificats d'un ordinateur qui contient un certificat utilisé pour l'authentification du serveur, cliquez avec le bouton droit sur lecertificate
, cliquez surAll Tasks
, puis cliquez surExport
.
pfx
indiqué dans les sections suivantes. Référez-vous à cet article sur la façon d'exporter un certificat dans le formatpfx
de MMC :Une fois l'exportation du certificat terminée, accédez àAdd/Remove Snap-in
surMMC console
. Cliquez surCertificates
, puis surAdd
.
ChoisissezService account
, puis cliquez surNext
.
Dans la boîte de dialogueSelect Computer
, choisissezLocal Computer
et cliquez surNext
.
ChoisissezActive Directory Domain Services
, puis cliquez surFinish
.
Dans la boîte de dialogueAdd/Remove Snap-ins
, cliquez surOK
.
DéveloppezCertificates - Services (Active Directory Domain Services)
, puis cliquez surNTDS\Personal
.
Cliquez avec le bouton droit surNTDS\Personal
, cliquez surAll Tasks
, puis cliquez surImport
.
Dans l'écranCertificate Import Wizard
de bienvenue, cliquez surNext
.
Dans l'écran Fichier à importer, cliquez surBrowse
, puis recherchez le fichier de certificat que vous avez exporté précédemment.
Dans l'écran Ouvrir, vérifiez que le type de fichier Personal Information Exchange (*pfx
,*.p12
) est sélectionné, puis accédez au système de fichiers pour localiser le certificat que vous avez exporté précédemment. Cliquez ensuite sur ce certificat.
Cliquez surOpen
, puis surNext
.
Dans l'écran Mot de passe, entrez le mot de passe que vous avez défini pour le fichier, puis cliquez surNext
.
Sur la page Magasin de certificats, assurez-vous que l'option Placer tous les certificats est sélectionnée et lisez Magasin de certificats :NTDS\Personal
puis cliquez surNext
.
Dans l'écranCertificate Import Wizard
de fin, cliquez surFinish
. Un message s'affiche pour indiquer que l'importation a réussi. Cliquez surOK
. Le certificat a été importé sous le magasin de certificats : NTDS\Personal
.
Pour déployer la configuration AnyConnect, le FTD doit être enregistré auprès du serveur de licences Smart et une licence Plus, Apex ou VPN Only valide doit être appliquée au périphérique.
Accédez àSystem > Integration
. Naviguez jusqu'àRealms
, puis cliquez surAdd Realm
, comme illustré dans cette image :
Remplissez les champs affichés en fonction des informations collectées à partir du serveur Microsoft pour les LDAP. Avant cela, importez le certificat d'autorité de certification racine qui a signé le certificat de service LDAP sur le serveur Windows sousObjects > PKI > Trusted CAs > Add Trusted CA
, car il est référencé sous lesDirectory Server Configuration
du domaine. Une fois terminé, cliquez surOK
.
Cliquez surTest
afin de vous assurer que FMC peut se lier avec le nom d'utilisateur et le mot de passe du répertoire fournis à l'étape précédente. Puisque ces tests sont initiés à partir du FMC et non par l'intermédiaire d'une des interfaces routables configurées sur le FTD (comme l'intérieur, l'extérieur, dmz), une connexion réussie (ou échouée) ne garantit pas le même résultat pour l'authentification AnyConnect puisque les demandes d'authentification LDAP AnyConnect sont initiées à partir de l'une des interfaces routables FTD.
Activez le nouveau domaine.
Choisissez le profil de connexion existant ou créez-en un nouveau, s'il s'agit d'une configuration initiale d'AnyConnect. Ici, un profil de connexion existant nommé « AnyConnect-AD » mappé avec l'authentification locale est utilisé.
Modifiez le profil Connection et mappez le nouveau serveur LDAP configuré aux étapes précédentes, sous les paramètres AAA du profil Connection. Une fois terminé, cliquezSave
dans l'angle supérieur droit.
Activez la gestion des mots de passe sousAAA > Advanced Settings
et enregistrez la configuration.
Une fois la configuration terminée, cliquez surDeploy
le bouton en haut à droite.
Cochez la case en regard de la configuration FTD qui lui est appliquée, puis cliquez surDeploy
, comme illustré dans cette image :
Il s'agit de la configuration affichée dans l'interface de ligne de commande du FTD après le déploiement réussi.
> show running-config aaa-server
aaa-server LDAP-Server protocol ldap <------ aaa-server group configured for LDAPs authentication
max-failed-attempts 4
realm-id 8
aaa-server LDAP-Server host WIN-E3SKFJQD6J7.razor.local <-------- LDAPs Server to which the queries are sent
server-port 636
ldap-base-dn DC=razor,DC=local
ldap-group-base-dn DC=razor,DC=local
ldap-scope subtree
ldap-naming-attribute sAMAccountName
ldap-login-password *****
ldap-login-dn *****@razor.local
ldap-over-ssl enable
server-type microsoft
> show running-config webvpn
webvpn
enable Outside
anyconnect image disk0:/csm/anyconnect-win-4.10.01075-webdeploy-k9.pkg 1 regex "Windows"
anyconnect profiles FTD-Client-Prof disk0:/csm/ftd.xml
anyconnect enable
tunnel-group-list enable
cache
no disable
error-recovery disable
> show running-config tunnel-group
tunnel-group AnyConnect-AD type remote-access
tunnel-group AnyConnect-AD general-attributes
address-pool Pool-1
authentication-server-group LDAP-Server <-------- LDAPs Server group name mapped to the tunnel-group
default-group-policy AnyConnect-Group
password-management password-expire-in-days 1 <-------- Password-management configuration mapped under the tunnel-group
tunnel-group AnyConnect-AD webvpn-attributes
group-alias Dev enable
> show running-config group-policy AnyConnect-Group
group-policy AnyConnect-Group internal <--------- Group-Policy configuration that is mapped once the user is authenticated
group-policy AnyConnect-Group attributes
vpn-simultaneous-logins 3
vpn-idle-timeout 35791394
vpn-idle-timeout alert-interval 1
vpn-session-timeout none
vpn-session-timeout alert-interval 1
vpn-filter none
vpn-tunnel-protocol ikev2 ssl-client <-------- Protocol specified as SSL to entertain the AnyConnect connection over port 443
split-tunnel-policy tunnelspecified
split-tunnel-network-list value Remote-Access-Allow
default-domain none
split-dns none
split-tunnel-all-dns disable
client-bypass-protocol disable
vlan none
address-pools none
webvpn
anyconnect ssl dtls enable
anyconnect mtu 1406
anyconnect firewall-rule client-interface public none
anyconnect firewall-rule client-interface private none
anyconnect ssl keepalive 20
anyconnect ssl rekey time none
anyconnect ssl rekey method none
anyconnect dpd-interval client 30
anyconnect dpd-interval gateway 30
anyconnect ssl compression none
anyconnect dtls compression none
anyconnect modules value none
anyconnect profiles value FTD-Client-Prof type user
anyconnect ask none default anyconnect
anyconnect ssl df-bit-ignore disable
> show running-config ssl
ssl trust-point ID-New-Cert Outside <-------- FTD ID-cert trustpoint name mapped to the outside interface on which AnyConnect Connections are entertained
1. Établissez une connexion au profil de connexion concerné. Une fois qu'il a été déterminé lors de la connexion initiale que le mot de passe doit être modifié puisque le mot de passe précédent a été rejeté par le serveur Microsoft au moment de son expiration, l'utilisateur est invité à modifier le mot de passe.
Une fois que l'utilisateur a entré le nouveau mot de passe de connexion, la connexion est établie avec succès.
Vérifiez la connexion utilisateur sur l'interface de ligne de commande FTD :
FTD_2# sh vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : admin Index : 7 <------- Username, IP address assigned information of the client
Assigned IP : 10.1.x.x Public IP : 10.106.xx.xx
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES-GCM-256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA384
Bytes Tx : 16316 Bytes Rx : 2109
Group Policy : AnyConnect-Group Tunnel Group : AnyConnect-AD <-------- Tunnel-Group to which the AnyConnect connection falls, and the group-policy assigned to user
Login Time : 13:22:24 UTC Mon Apr 25 2022
Duration : 0h:00m:51s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0ac5e0fa000070006266a090
Security Grp : none Tunnel Zone : 0
Ce débogage peut être exécuté dans l'interface de ligne de commande de diagnostic afin de dépanner les problèmes liés à la gestion des mots de passe : debug ldap 255.
[24] Session Start
[24] New request Session, context 0x0000148f3c271830, reqType = Authentication
[24] Fiber started
[24] Creating LDAP context with uri=ldaps://10.106.71.234:636
[24] Connect to LDAP server: ldaps://10.106.71.234:636, status = Successful <-------- Successful connection to the LDAPs server over post 636
[24] supportedLDAPVersion: value = 3
[24] supportedLDAPVersion: value = 2
[24] Binding as *****@razor.local
[24] Performing Simple authentication for *****@razor.local to 10.106.71.234
[24] LDAP Search:
Base DN = [DC=razor,DC=local]
Filter = [sAMAccountName=admin]
Scope = [SUBTREE]
[24] User DN = [CN=admin,CN=Users,DC=razor,DC=local]
[24] Talking to Active Directory server 10.106.71.234
[24] Reading password policy for admin, dn:CN=admin,CN=Users,DC=razor,DC=local <--------- Once the client enters credentials during initial login, if the password is expired, then it is read and the user is asked to provide a new password
[24] Read bad password count 3
[24] Binding as admin
[24] Performing Simple authentication for admin to 10.106.71.234
[24] Simple authentication for admin returned code (49) Invalid credentials
[24] Message (admin): 80090308: LdapErr: DSID-0C0903C5, comment: AcceptSecurityContext error, data 773, v23f0
[24] Checking password policy
[24] New password is required for admin <---------- New password is asked to be provided
[24] Fiber exit Tx=622 bytes Rx=2771 bytes, status=-1
[24] Session End
[25] Session Start
[25] New request Session, context 0x0000148f3c271830, reqType = Modify Password
[25] Fiber started
[25] Creating LDAP context with uri=ldaps://10.106.71.234:636
[25] Connect to LDAP server: ldaps://10.106.71.234:636, status = Successful <----------- New connection is initiated to the LDAPs server for the password change
[25] supportedLDAPVersion: value = 3
[25] supportedLDAPVersion: value = 2
[25] Binding as *****@razor.local
[25] Performing Simple authentication for *****@razor.local to 10.106.71.234
[25] LDAP Search:
Base DN = [DC=razor,DC=local]
Filter = [sAMAccountName=admin]
Scope = [SUBTREE]
[25] User DN = [CN=admin,CN=Users,DC=razor,DC=local]
[25] Talking to Active Directory server 10.106.71.234
[25] Reading password policy for admin, dn:CN=admin,CN=Users,DC=razor,DC=local
[25] Read bad password count 3
[25] Change Password for admin successfully converted old password to unicode
[25] Change Password for admin successfully converted new password to unicode <----------- Client provides the new password value
[25] Password for admin successfully changed <----------- Password is changed successfully for the client
[25] Retrieved User Attributes:
[25] objectClass: value = top
[25] objectClass: value = person
[25] objectClass: value = organizationalPerson
[25] objectClass: value = user
[25] cn: value = admin
[25] givenName: value = admin
[25] distinguishedName: value = CN=admin,CN=Users,DC=razor,DC=local
[25] instanceType: value = 4
[25] whenCreated: value = 20201029053516.0Z
[25] whenChanged: value = 20220426032127.0Z
[25] displayName: value = admin
[25] uSNCreated: value = 16710
[25] uSNChanged: value = 98431
[25] name: value = admin
[25] objectGUID: value = ..0.].LH.....9.4
[25] userAccountControl: value = 512
[25] badPwdCount: value = 3
[25] codePage: value = 0
[25] countryCode: value = 0
[25] badPasswordTime: value = 132610388348662803
[25] lastLogoff: value = 0
[25] lastLogon: value = 132484577284881837
[25] pwdLastSet: value = 0
[25] primaryGroupID: value = 513
[25] objectSid: value = ................7Z|....RQ...
[25] accountExpires: value = 9223372036854775807
[25] logonCount: value = 0
[25] sAMAccountName: value = admin
[25] sAMAccountType: value = 805306368
[25] userPrincipalName: value = ******@razor.local
[25] objectCategory: value = CN=Person,CN=Schema,CN=Configuration,DC=razor,DC=local
[25] dSCorePropagationData: value = 20220425125800.0Z
[25] dSCorePropagationData: value = 20201029053516.0Z
[25] dSCorePropagationData: value = 16010101000000.0Z
[25] lastLogonTimestamp: value = 132953506361126701
[25] msDS-SupportedEncryptionTypes: value = 0
[25] uid: value = ******@razor.local
[25] Fiber exit Tx=714 bytes Rx=2683 bytes, status=1
[25] Session End
En général, si la stratégie de mot de passe définie par Microsoft Server n'est pas respectée pendant que l'utilisateur fournit le nouveau mot de passe, la connexion se termine avec l'erreur « Le mot de passe ne répond pas aux exigences de la stratégie de mot de passe ». Par conséquent, assurez-vous que le nouveau mot de passe respecte la stratégie définie par Microsoft Server pour les LDAP.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
12-Sep-2023
|
Première publication |