La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come configurare la gestione delle password con gli elenchi LDAP per i client AnyConnect che si connettono a Cisco Firepower Threat Defense (FTD).
Cisco raccomanda la conoscenza di base dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Il server Windows è preconfigurato con ADDS e ADCS per verificare il processo di gestione delle password degli utenti. In questa guida alla configurazione, vengono creati questi account utente.
Account utente:
Amministratore: viene utilizzato come account di directory per consentire l'associazione di FTD al server Active Directory.
admin: account di amministratore di test utilizzato per dimostrare l'identità dell'utente.
Open (Aperto) Active Directory Users and Computers
tramite il dashboard di Server Manager.
Aprire il View Option
nel pannello superiore e attivare Advanced Features
, come mostrato nell'immagine:
In questo modo è possibile visualizzare proprietà aggiuntive negli oggetti AD.
Ad esempio, per trovare il DN per la radice razor.local
, fare clic con il pulsante destro del mouse razor.local
e quindi scegliere Properties
, come mostrato nell'immagine:
Inferiore Properties
, scegliere il Attribute Editor
scheda. Cerca distinguishedName
in Attributi (Attributes), fate clic su View
, come illustrato nell'immagine.
Verrà visualizzata una nuova finestra in cui il DN può essere copiato e incollato in FMC in un secondo momento.
In questo esempio, il DN radice è DC=razor
, DC=local
. Copiare il valore e salvarlo per utilizzarlo in seguito. Fare clic su OK
per uscire dalla finestra Editor attributi stringa e fare clic su OK
per uscire dalla finestra di dialogo Proprietà.
Premere Win+R
e immettere mmc.exe
, quindi scegliere OK
, come mostrato nell'immagine.
Passa a File > Add/Remove Snap-in...
, come mostrato nell'immagine:
In snap-in disponibili scegliere Certificates
e quindi fare clic su Add
, come mostrato nell'immagine:
Scegli Computer account
e quindi fare clic su Next
, come mostrato nell'immagine:
Come mostrato di seguito, fare clic su Finish
.
Fare clic su OK
, come mostrato nell'immagine.
Espandere la Personal
, quindi fare clic su Certificates
. Il certificato utilizzato da LDAP deve essere rilasciato al nome di dominio completo (FQDN) del server Windows. In questo server sono elencati tre certificati:
Certificato CA rilasciato a e da razor-WIN-E3SKFJQD6J7-CA
.
Certificato CA rilasciato a e da supinfo-WIN-FNJVP9QUEH9-CA
.
Un certificato di identità è stato rilasciato a WIN-E3SKFJQD6J7.razor.local
da razor-WIN-E3SKFJQD6J7-CA
.
In questa guida alla configurazione, il nome di dominio completo è WIN-E3SKFJQD6J7.razor.local
i primi due certificati non sono pertanto validi per l'utilizzo come certificato SSL LDAP. Il certificato di identità rilasciato a WIN-E3SKFJQD6J7.razor.local
è un certificato rilasciato automaticamente dal servizio CA di Windows Server. Fare doppio clic sul certificato per controllare i dettagli.
Per essere utilizzato come certificato SSL LDAP, il certificato deve soddisfare i seguenti requisiti:
Il nome comune o il nome alternativo del soggetto DNS corrisponde al nome di dominio completo (FQDN) di Windows Server.
Nel campo Utilizzo chiavi avanzato del certificato è impostata l'autenticazione server.
Nell'ambito Details
per il certificato, scegliere Subject Alternative Name
, dove FQDN WIN-E3SKFJQD6J7.razor.local
presente.
Inferiore Enhanced Key Usage
, Server Authentication
presente.
Una volta confermata, ai sensi dell'articolo Certification Path
, scegliere il certificato di primo livello che corrisponde al certificato CA radice e quindi fare clic su View Certificate
. Verranno aperti i dettagli del certificato della CA radice, come illustrato nell'immagine:
Nell'ambito Details
del certificato CA radice, fare clic su Copy to File
e navigare attraversoCertificate Export Wizard
che esporta la CA radice in formato PEM.
Scegli Base-64 encoded X.509
come formato di file.
Aprire il certificato CA radice archiviato nel percorso selezionato nel computer con un blocco note o un altro editor di testo.
Mostra il certificato del formato PEM. Salva per uso futuro.
-----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. In una situazione di più certificati di identità utilizzabili da LDAPS e in caso di incertezza sul tipo di certificato utilizzato o in assenza di accesso al server LDAPS, è ancora possibile estrarre la CA radice da un'acquisizione di pacchetti effettuata sul FTD.
2. Se si dispone di più certificati validi per l'autenticazione server nell'archivio certificati del computer locale del server LDAP (ad esempio il controller di dominio di Servizi di dominio Active Directory), si noterà che per le comunicazioni LDAPS viene utilizzato un certificato diverso. La soluzione migliore per questo problema è rimuovere tutti i certificati non necessari dall'archivio certificati del computer locale e disporre di un solo certificato valido per l'autenticazione del server.
Se tuttavia esiste un motivo legittimo per cui sono necessari due o più certificati e si dispone almeno di un server LDAP di Windows Server 2008, è possibile utilizzare l'archivio certificati di Servizi di dominio Active Directory (NTDS\Personale) per le comunicazioni LDAP.
In questa procedura viene illustrato come esportare un certificato abilitato per LDAPS dall'archivio certificati di un computer locale del controller di dominio all'archivio certificati del servizio Servizi di dominio Active Directory (NTDS\Personale).
Passare alla console MMC nel server Active Directory, scegliere File e quindi fare clic su Add/Remove Snap-in
.
Fare clic su Certificates
e quindi fare clic su Add
.
Nella scheda Certificates snap-in
, scegliere Computer account
e quindi fare clic su Next
.
Dentro Select Computer
, scegliere Local Computer
,fare clic su OK
e quindi fare clic su Finish
. Dentro Add or Remove Snap-ins
,fare clic su OK
.
Nella console dei certificati di un computer che contiene un certificato utilizzato per l'autenticazione del server, fare clic con il pulsante destro del mouse sulla scheda certificate
,fare clic su All Tasks
e quindi fare clic su Export
.
pfx
nelle sezioni successive. Fare riferimento a questo articolo per informazioni su come esportare un certificato in pfx
formato da MMC:Al termine dell'esportazione del certificato, passare a Add/Remove Snap-in
on MMC console
. Fare clic su Certificates
e quindi fare clic su Add
.
Scegli Service account
e quindi fare clic su Next
.
Nella scheda Select Computer
, scegliere Local Computer
e fare clic su Next
.
Scegli Active Directory Domain Services
e quindi fare clic su Finish
.
Nella scheda Add/Remove Snap-ins
fare clic su OK
.
Espansione Certificates - Services (Active Directory Domain Services)
e quindi fare clic su NTDS\Personal
.
Clic con il pulsante destro del mouse NTDS\Personal
,fare clic su All Tasks
e quindi fare clic su Import
.
Nella scheda Certificate Import Wizard
schermata iniziale, fare clic su Next
.
Nella schermata File da importare fare clic su Browse
e individuare il file del certificato esportato in precedenza.
Nella schermata Apri, verificare che Scambio di informazioni personali (*pfx
,*.p12
) è selezionato come tipo di file, quindi spostarsi nel file system per individuare il certificato esportato in precedenza. Fare quindi clic sul certificato.
Fare clic su Open
e quindi fare clic su Next
.
Nella schermata Password, immettere la password impostata per il file, quindi fare clic su Next
.
Nella pagina Archivio certificati verificare che l'opzione Inserisci tutti i certificati sia selezionata e leggere Archivio certificati: NTDS\Personal
e quindi fare clic su Next
.
Nella scheda Certificate Import Wizard
completamento, fare clic su Finish
. Viene quindi visualizzato un messaggio che indica che l'importazione è stata completata. Fare clic su OK
. Il certificato è stato importato nell'archivio certificati: NTDS\Personal
.
Per implementare la configurazione AnyConnect, l'FTD deve essere registrato con il server delle licenze Smart, e al dispositivo deve essere applicata una licenza Plus, Apex o VPN Only valida.
Passa a System > Integration
. Passa a Realms
, quindi scegliere Add Realm
, come mostrato nell'immagine:
Compilare i campi visualizzati in base alle informazioni raccolte dal server Microsoft per LDAP. In precedenza, importare il certificato CA radice che ha firmato il certificato del servizio LDAP sul server Windows in Objects > PKI > Trusted CAs > Add Trusted CA
, in quanto è indicato nell'Directory Server Configuration
del Realm. Al termine, fare clic su OK
.
Fare clic su Test
per garantire che FMC sia in grado di eseguire correttamente il binding con il nome utente e la password della directory forniti nel passaggio precedente. Poiché questi test vengono avviati dal FMC e non tramite una delle interfacce instradabili configurate sull'FTD (come interna, esterna, dmz), una connessione riuscita (o non riuscita) non garantisce lo stesso risultato per l'autenticazione AnyConnect poiché le richieste di autenticazione LDAP AnyConnect vengono avviate da una delle interfacce instradabili FTD.
Abilitare il nuovo realm.
Selezionare il profilo di connessione esistente o crearne uno nuovo, se si tratta dell'impostazione iniziale di AnyConnect. In questo caso, viene utilizzato un profilo di connessione esistente denominato 'AnyConnect-AD' mappato con l'autenticazione locale.
Modificare il profilo di connessione ed eseguire il mapping del nuovo server LDAP configurato nei passaggi precedenti, nelle impostazioni AAA del profilo di connessione. Al termine, fare clic su Save
nell'angolo superiore destro.
Abilitare la gestione delle password in AAA > Advanced Settings
e salvare la configurazione.
Una volta completata la configurazione, fare clic sul pulsanteDeploy
in alto a destra.
Fare clic sulla casella di controllo accanto alla configurazione FTD applicata e quindi fare clic su Deploy
, come mostrato nell'immagine:
Questa è la configurazione rilevata nella CLI FTD dopo la corretta distribuzione.
> 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. Avviare una connessione al profilo di connessione interessato. Una volta stabilito al primo accesso che la password deve essere cambiata poiché la password precedente è stata rifiutata da Microsoft Server poiché è scaduta, all'utente viene richiesto di cambiare la password.
Una volta che l'utente ha immesso la nuova password per l'accesso, la connessione viene stabilita correttamente.
Verificare la connessione utente nella CLI 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
Questo debug può essere eseguito nella CLI diagnostica per risolvere i problemi relativi alla gestione delle password: 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
In genere, se i criteri password impostati da Microsoft Server non vengono soddisfatti durante il periodo di tempo in cui l'utente immette la nuova password, la connessione viene terminata con l'errore "La password non soddisfa i requisiti dei criteri password". Verificare quindi che la nuova password soddisfi i criteri impostati da Microsoft Server per LDAP.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
12-Sep-2023 |
Versione iniziale |