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).
Questo documento illustra in dettaglio come configurare l'autenticazione Active Directory (AD) per i client AnyConnect che si connettono a un Cisco Firepower Threat Defense (FTD) gestito da Firepower Device Management (FDM). L'identità dell'utente verrà usata nei criteri di accesso per limitare gli utenti AnyConnect a porte e indirizzi IP specifici.
Cisco raccomanda la conoscenza 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 Internet Information Services (IIS) e Remote Desktop Protocol (RDP) per verificare l'identità dell'utente. In questa guida alla configurazione verranno creati tre account utente e due gruppi.
Account utente:
Gruppi:
Per configurare correttamente l'autenticazione AD e l'identità utente su FTD, saranno necessari alcuni valori. Tutti questi dettagli devono essere creati o raccolti sul server Microsoft prima di poter eseguire la configurazione su FDM. I valori principali sono:
Se un amministratore desidera che gli utenti all'interno dell'unità organizzativa Marketing siano in grado di autenticare il DN di base, è possibile impostare il DN radice (example.com). In questo modo, tuttavia, sarà possibile accedere anche all'utente 1 nell'unità organizzativa Finance, poiché la ricerca dell'utente inizierà dalla radice e passerà a Finance, Marketing e Research.
DN di base impostato su example.com.
Per limitare gli accessi ai soli utenti dell'unità organizzativa Marketing e di livello inferiore, l'amministratore può invece impostare il DN di base su Marketing. Ora solo l'utente 2 e l'utente 3 saranno in grado di eseguire l'autenticazione perché la ricerca inizierà da Marketing.
DN di base impostato su Marketing:
Si noti che per un controllo più granulare all'interno dell'FTD per il quale gli utenti saranno autorizzati a connettersi o assegnare agli utenti autorizzazioni diverse in base ai loro attributi AD, sarà necessario configurare una mappa di autorizzazione LDAP.
Questa gerarchia LDAP semplificata viene utilizzata in questa guida alla configurazione e per il DN di base verrà utilizzato il DN per la directory principale example.com.
1. Aprire Utenti e computer di Active Directory.
2. Fare clic con il pulsante sinistro del mouse sul dominio radice (per aprire il contenitore), fare clic con il pulsante destro del mouse sul dominio radice, quindi selezionare Visualizza e fare clic su Caratteristiche avanzate.
3. In questo modo sarà possibile visualizzare ulteriori proprietà negli oggetti AD. Ad esempio, per trovare il DN per la directory principale example.com, fare clic con il pulsante destro del mouse su example.com quindi passare a Proprietà.
4. In Proprietà, fare clic sulla scheda Editor attributi. Individuare distinguishedName in Attributi, quindi fare clic su Visualizza.
5. Verrà aperta una nuova finestra in cui il DN può essere copiato e incollato in FDM in un secondo momento. In questo esempio, il DN radice è DC=example, DC=com. Copiare il valore. Per uscire dalla finestra Editor attributi stringa, fare clic su OK, quindi fare di nuovo clic su OK per uscire dalla finestra Proprietà.
Questa operazione può essere eseguita per più oggetti all'interno di AD. Ad esempio, questi passaggi vengono utilizzati per trovare il DN del contenitore Utente:
6. È possibile rimuovere la vista Funzioni avanzate. Fare clic con il pulsante destro del mouse sul DN radice, passare a Visualizza e fare di nuovo clic su Caratteristiche avanzate.
Questo account utente consente a FDM e FTD di eseguire il binding con AD per cercare utenti e gruppi e autenticarli. Lo scopo della creazione di un account FTD separato è quello di impedire l'accesso non autorizzato in altre parti della rete se le credenziali utilizzate per il binding sono compromesse. Non è necessario che l'account rientri nell'ambito del DN di base.
1. In Utenti e computer di Active Directory, fare clic con il pulsante destro del mouse sul contenitore/organizzazione a cui verrà aggiunto l'account FTD. In questa configurazione, l'account FTD verrà aggiunto nel contenitore Utenti sotto il nome utente ftd.admin@example.com. Fare clic con il pulsante destro del mouse su Utenti, quindi scegliere Nuovo > Utente.
2. Spostarsi nella Creazione guidata Nuovo oggetto - Utente.
3. Verificare che il conto FTD sia stato creato. Sono stati inoltre creati due account aggiuntivi, IT Admin e Test User.
Sebbene non siano richiesti per l'autenticazione, i gruppi possono essere utilizzati per semplificare l'applicazione di criteri di accesso a più utenti, nonché l'autorizzazione LDAP. In questa guida alla configurazione, i gruppi verranno utilizzati per applicare le impostazioni dei criteri di controllo di accesso in un secondo momento tramite l'identità dell'utente in FDM.
1. In Utenti e computer di Active Directory, fare clic con il pulsante destro del mouse sul contenitore/organizzazione a cui verrà aggiunto il nuovo gruppo. Nell'esempio, il gruppo AnyConnect Admins verrà aggiunto nel contenitore Users. Fare clic con il pulsante destro del mouse su Utenti, quindi scegliere Nuovo > Gruppo.
2. Spostarsi nella Creazione guidata Nuovo oggetto - Gruppo come mostrato nell'immagine.
3. Verificare che il gruppo sia stato creato. È stato inoltre creato il gruppo AnyConnect Users.
4. Fare clic con il pulsante destro del mouse sul gruppo a cui verranno aggiunti gli utenti, quindi selezionare Proprietà. In questa configurazione, l'utente IT Admin verrà aggiunto al gruppo AnyConnect Admins e l'utente Test User verrà aggiunto al gruppo AnyConnect Users.
5. Fare clic sulla scheda Membri, quindi fare clic su Aggiungi come mostrato nell'immagine.
Immettere l'utente nel campo e fare clic sul pulsante Controlla nomi per verificare che l'utente sia stato trovato. Dopo la verifica, fare clic su OK.
Verificare che sia stato aggiunto l'utente corretto, quindi fare clic sul pulsante OK. L'utente Test User viene aggiunto anche al gruppo AnyConnect Users seguendo la stessa procedura.
1. Premere Win+R e digitare mmc.exe. Fare clic su OK.
2. Passare a File > Aggiungi/Rimuovi snap-in... come mostrato nell'immagine.
3. In snap-in disponibili fare clic su Certificati, quindi su Aggiungi.
4. Selezionare Account computer, quindi fare clic su Avanti come mostrato nell'immagine.
Fare clic su Finish (Fine).
5. Fare clic su OK.
6. Espandere la cartella Personale, quindi fare clic su Certificati. Il certificato utilizzato da LDAPS deve essere rilasciato al nome di dominio completo (FQDN) del server Windows. In questo server sono elencati 3 certificati.
In questa guida alla configurazione, il nome di dominio completo (FQDN) è win2016.example.com, quindi i primi 2 certificati non sono validi per l'utilizzo come certificato SSL LDAPS. Il certificato di identità rilasciato a win2016.example.com è un certificato rilasciato automaticamente dal servizio CA di Windows Server. Fare doppio clic sul certificato per controllare i dettagli.
7. Per poter essere utilizzato come certificato SSL LDAPS, il certificato deve soddisfare i seguenti requisiti:
Nella scheda Dettagli relativa al certificato, in Oggetto e Nome alternativo soggetto, è presente il nome di dominio completo (FQDN) win2016.example.com.
In Utilizzo chiavi avanzato è presente Autenticazione server.
8. Una volta confermato, passare alla scheda Percorso certificazione. Fare clic sul primo certificato che deve essere il certificato CA radice, quindi fare clic sul pulsante Visualizza certificato.
9. Verranno aperti i dettagli del certificato della CA radice.
10. Aprire la scheda Dettagli, quindi fare clic su Copia su file... come mostrato nell'immagine.
11. Esplorare l'Esportazione guidata certificati per esportare la CA radice in formato PEM.
12. Selezionare X.509 con codifica Base 64.
13. Selezionare il nome del file e la destinazione in cui verrà esportato.
14. Fare clic su Fine.
15. Passare al percorso e aprire il certificato con un blocco note o un altro editor di testo. Verrà visualizzato il certificato del formato PEM. Salva per uso futuro.
-----BEGIN CERTIFICATE----- MIIDCDCCAfCgAwIBAgIQE4ZG5Z1wT6lONTjooEQyMTANBgkqhkiG9w0BAQsFADAd MRswGQYDVQQDExJleGFtcGxlLVdJTjIwMTYtQ0EwIBcNMjAwNDI3MTQ1MDU5WhgP MjA2MDA0MTkxNDUwNTlaMB0xGzAZBgNVBAMTEmV4YW1wbGUtV0lOMjAxNi1DQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8ghT719NzSQpoQPh0YT67b Ya+PngsxMyvkewP33QLTAWw1HW1Tb9Mk5BDWOItTaVsgHwPBfd++M+bLn3AiZnHV OO+k6dVVY/E5qVkEKSGoY+v940S2316lzdwReMOFhgbc2qMertIoficrRhihonuU Cjyeub3CO+meJUuKom2R47C0D35TUvo/FEHGgXJFaJS1se2UrpNO7KEMkfA1LPuM aob4XE/OzxYQpPa18djsNnskfcFqD/HOTFQN4+SrOhHWlRnUIQBUaLdQaabhipD/ sVs5PneYJX8YKma821uYI6j90YuytmsHBtCieyC062a8BKqOL7N86HFPFkMA3u8C AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O BBYEFD2fJjf7ER9EM/HCxCVFN5QzqEdvMA0GCSqGSIb3DQEBCwUAA4IBAQB31ZJo vzwVD3c5Q1nrNP+6Mq62OFpYH91k4Ch9S5g/CEOemhcwg8MDIoxW2dTsjenAEt7r phFIHZoCoSyjBjMgK3xybmoSeg8vBjCXseYNGEmOc9KW1oFmTOvdNVIb7Xpl1IVa 6tALTt3ANRNgREtxPA6yQbthKGavW0Anfsojk9IcDr2vp0MTjlBCxsTscbubRl+D dLEFKQqmMeYvkVf+a7a64mqPZsG3Uxo0rd6cZxAPkq/ylcdwNSJFfQV3DgZg+R96 9WLCR3Obig6xyo9Zu+lixcWpdrbADO6zMhbEYEhkhOOjBrUEBBI6Cy83iTZ9ejsk KgwBJXEu33PplW6E -----END CERTIFICATE-----
Per configurare AnyConnect su FDM, l'FTD deve essere registrato sul server delle licenze Smart e una licenza Plus, Apex o VPN Only valida deve essere applicata al dispositivo.
1. Passare a Periferica > Smart License, come mostrato nell'immagine.
2. Verificare che l'FTD sia registrato sul server delle licenze Smart e che la licenza AnyConnect Plux, Apex o VPN Only sia abilitata.
1. Passare a Oggetti > Origini identità, quindi fare clic sul simbolo + e selezionare AD come mostrato nell'immagine.
2. Specificare le impostazioni appropriate per il server Active Directory con le informazioni raccolte in precedenza. Se per il server Microsoft viene utilizzato un nome host (FQDN) anziché un indirizzo IP, assicurarsi di creare un gruppo DNS appropriato in Oggetti > Gruppo DNS. Applicare quindi il gruppo DNS all'FTD passando a Periferica > Impostazioni di sistema > Server DNS, applicando il gruppo DNS nell'interfaccia di gestione e nell'interfaccia dati e quindi specificare l'interfaccia di uscita appropriata per le query DNS. Fare clic sul pulsante Test per verificare la corretta configurazione e la raggiungibilità dall'interfaccia di gestione dell'FTD. Poiché questi test vengono avviati dall'interfaccia di gestione dell'FTD 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, in quanto le richieste di autenticazione LDAP AnyConnect verranno avviate da una delle interfacce instradabili dell'FTD. Per ulteriori informazioni sul test delle connessioni LDAP dall'FTD, consultare le sezioni Test AAA e Packet Capture nell'area Risoluzione dei problemi.
Se si utilizza LDAPS o STARTTLS, selezionare la crittografia appropriata, quindi il certificato CA attendibile. Se la CA radice non è già stata aggiunta, fare clic su Crea nuovo certificato CA attendibile. Specificare un nome per il certificato CA radice, quindi incollare il certificato CA radice in formato PEM raccolto in precedenza.
In questa configurazione sono stati utilizzati i seguenti valori:
3. Fare clic sul pulsante Modifiche in sospeso in alto a destra, come mostrato nell'immagine.
4. Fare clic sul pulsante Distribuisci.
Per utilizzare l'origine dell'identità AD configurata, deve essere applicata alla configurazione AnyConnect.
1. Passare a Dispositivo > VPN ad accesso remoto come mostrato nell'immagine.
2. Fare clic sul simbolo + o sul pulsante Crea profilo di connessione come mostrato nell'immagine.
3. Nella sezione Connessione e configurazione client, selezionare l'origine dell'identità AD creata in precedenza. Impostare i valori appropriati per le altre sezioni, inclusi Nome profilo connessione e Assegnazione pool indirizzi client. Al termine, fare clic su Invia query.
4. Nella sezione Esperienza utente remota selezionare i Criteri di gruppo appropriati. Per impostazione predefinita, verrà utilizzato DfltGrpPolicy. tuttavia, è possibile crearne una diversa.
5. Nella sezione Global Settings, specificare almeno il certificato SSL, l'interfaccia esterna e i pacchetti AnyConnect. Se un certificato non è stato creato in precedenza, è possibile selezionare un certificato autofirmato predefinito (DefaultInternalCertificate) ma verrà visualizzato un messaggio di certificato di un server non attendibile. È necessario deselezionare l'opzione Ignora i criteri di controllo di accesso per il traffico decrittografato (sysopt allow-vpn) in modo che le regole dei criteri di accesso all'identità dell'utente diventino effettive in seguito. È possibile configurare qui anche l'esenzione NAT. In questa configurazione, tutto il traffico ipv4 dall'interfaccia interna verso gli indirizzi IP dei client AnyConnect è indirizzato a un'eccezione di NAT. Per le impostazioni più complesse, ad esempio per il hairpinning esterno-esterno, sarà necessario creare ulteriori regole NAT nell'ambito della politica NAT. I pacchetti AnyConnect sono disponibili sul sito del supporto Cisco: https://software.cisco.com/download/home. Per scaricare il pacchetto AnyConnect, è necessario acquistare una licenza Plus o Apex valida.
6. Nella sezione Summary, verificare che AnyConnect sia impostato correttamente, quindi fare clic su Submit Query.
7. Fare clic sul pulsante Modifiche in sospeso in alto a destra, come mostrato nell'immagine.
8. Fare clic su Distribuisci ora.
A questo punto, gli utenti di AnyConnect dovrebbero essere in grado di connettersi correttamente, ma potrebbero non essere in grado di accedere a risorse specifiche. Questo passaggio abiliterà l'identità dell'utente in modo che solo gli utenti con diritti AnyConnect Admins possano connettersi alle risorse interne tramite RDP e che solo gli utenti con diritti AnyConnect nel gruppo possano connettersi alle risorse interne tramite HTTP.
1. Passare a Criteri > Identità e fare clic su Abilita criterio di identità.
Per questa configurazione non sono necessarie ulteriori configurazioni e l'azione predefinita è sufficiente.
2. Passare a Policies > NAT (Politiche) e verificare che NAT sia configurato correttamente. Se l'eccezione NAT configurata nelle impostazioni AnyConnect è sufficiente, non è necessaria alcuna configurazione aggiuntiva.
3. Passare a Policy > Controllo accesso. In questa sezione, l'azione predefinita è Blocca e non è stata creata alcuna regola di accesso, quindi una volta connesso un utente AnyConnect, non potrà accedere a niente. Fare clic sul simbolo + o su Crea regola di accesso per aggiungere una nuova regola.
4. Compilare i campi con i valori appropriati. In questa configurazione, gli utenti del gruppo AnyConnect Admins devono avere accesso RDP al server Windows nella rete interna. Per l'origine, la zona è configurata come outside_zone, che è l'interfaccia esterna a cui si connetteranno gli utenti AnyConnect e la rete è configurata come oggetto AnyConnect-Pool configurato in precedenza per assegnare gli indirizzi IP ai client AnyConnect. Per l'identità utente in FDM, l'origine deve essere la zona e la rete da cui l'utente inizierà la connessione. Per la destinazione, la zona è configurata come inside_zone, che è l'interfaccia interna del server Windows, la rete è configurata come oggetto Inside_Net che è un oggetto che definisce la subnet in cui si trova il server Windows e Porte/Protocolli è impostato su due oggetti porta personalizzati per consentire l'accesso RDP su TCP 3389 e UDP 3389.
Nella sezione Utenti, il gruppo AnyConnect Admins verrà aggiunto in modo che gli utenti che non fanno parte di questo gruppo possano accedere al server Windows tramite RDP. Fare clic sul simbolo +, quindi sulla scheda Gruppi, fare clic sul gruppo appropriato e infine su OK. Si noti che è possibile selezionare anche i singoli utenti e l'origine identità.
Dopo aver selezionato le opzioni appropriate, fare clic su OK.
5. Se necessario, creare altre regole di accesso. In questa configurazione, viene creata un'altra regola di accesso per consentire agli utenti del gruppo AnyConnect Users di accedere al protocollo HTTP di Windows Server.
6. Verificare la configurazione della regola di accesso, quindi fare clic sul pulsante Modifiche in sospeso in alto a destra, come mostrato nell'immagine.
7. Verificare le modifiche, quindi fare clic su Distribuisci ora.
Fare riferimento a questa sezione per verificare che la configurazione funzioni correttamente.
Configurazione AAA
show running-configuration aaa-server
aaa-server LAB-AD protocol ldap realm-id 7 aaa-server LAB-AD host win2016.example.com server-port 389 ldap-base-dn DC=example,DC=com ldap-scope subtree ldap-login-password ***** ldap-login-dn ftd.admin@example.com server-type auto-detect
Configurazione di AnyConnect
> show running-config webvpn webvpn enable outside http-headers hsts-server enable max-age 31536000 include-sub-domains no preload hsts-client enable x-content-type-options x-xss-protection content-security-policy anyconnect image disk0:/anyconnpkgs/anyconnect-linux64-4.7.03052-webdeploy-k9.pkg 1 anyconnect image disk0:/anyconnpkgs/anyconnect-win-4.7.03052-webdeploy-k9.pkg 2 anyconnect enable tunnel-group-list enable cache disable error-recovery disable > show running-config tunnel-group tunnel-group General type remote-access tunnel-group General general-attributes address-pool AnyConnect-Pool authentication-server-group LAB-AD tunnel-group General webvpn-attributes group-alias General enable > show running-config group-policy group-policy DfltGrpPolicy attributes vpn-tunnel-protocol ssl-client split-tunnel-policy tunnelspecified split-tunnel-network-list value DfltGrpPolicy|splitAcl webvpn anyconnect ssl dtls none > show running-config ssl ssl trust-point FTD-3-Manual outside
L'utente IT Admin appartiene al gruppo AnyConnect Admins, che ha accesso RDP al server Windows, ma non ha accesso a HTTP. L'apertura di una sessione RDP e Firefox su questo server verifica che l'utente possa accedere al server solo tramite RDP.
Se si è connessi con un utente di prova appartenente al gruppo AnyConnect Users con accesso HTTP ma non RDP, è possibile verificare che le regole del controllo di accesso siano effettive.
Fare riferimento a questa sezione per verificare che la configurazione funzioni correttamente.
Questo debug può essere eseguito nella CLI di diagnostica per risolvere i problemi relativi all'autenticazione LDAP: debug ldap 255.
Per risolvere i problemi relativi ai criteri di controllo di accesso per l'identità degli utenti, è possibile eseguire in client il supporto di sistema firewall-engine-debug per stabilire perché il traffico è autorizzato o bloccato in modo imprevisto.
[53] Session Start [53] New request Session, context 0x00002b1d13f4bbf0, reqType = Authentication [53] Fiber started [53] Creating LDAP context with uri=ldap://192.168.1.1:389 [53] Connect to LDAP server: ldap://192.168.1.1:389, status = Successful [53] supportedLDAPVersion: value = 3 [53] supportedLDAPVersion: value = 2 [53] LDAP server 192.168.1.1 is Active directory [53] Binding as ftd.admin@example.com [53] Performing Simple authentication for ftd.admin@example.com to 192.168.1.1 [53] LDAP Search: Base DN = [DC=example,DC=com] Filter = [sAMAccountName=it.admin] Scope = [SUBTREE] [53] User DN = [CN=IT Admin,CN=Users,DC=example,DC=com] [53] Talking to Active Directory server 192.168.1.1 [53] Reading password policy for it.admin, dn:CN=IT Admin,CN=Users,DC=example,DC=com [53] Read bad password count 6 [53] Binding as it.admin [53] Performing Simple authentication for it.admin to 192.168.1.1 [53] Processing LDAP response for user it.admin [53] Message (it.admin): [53] Authentication successful for it.admin to 192.168.1.1 [53] Retrieved User Attributes: [53] objectClass: value = top [53] objectClass: value = person [53] objectClass: value = organizationalPerson [53] objectClass: value = user [53] cn: value = IT Admin [53] sn: value = Admin [53] givenName: value = IT [53] distinguishedName: value = CN=IT Admin,CN=Users,DC=example,DC=com [53] instanceType: value = 4 [53] whenCreated: value = 20200421025811.0Z [53] whenChanged: value = 20200421204622.0Z [53] displayName: value = IT Admin [53] uSNCreated: value = 25896 [53] memberOf: value = CN=AnyConnect Admins,CN=Users,DC=example,DC=com [53] uSNChanged: value = 26119 [53] name: value = IT Admin [53] objectGUID: value = &...J..O..2w...c [53] userAccountControl: value = 512 [53] badPwdCount: value = 6 [53] codePage: value = 0 [53] countryCode: value = 0 [53] badPasswordTime: value = 132320354378176394 [53] lastLogoff: value = 0 [53] lastLogon: value = 0 [53] pwdLastSet: value = 132319114917186142 [53] primaryGroupID: value = 513 [53] objectSid: value = .............{I...;.....j... [53] accountExpires: value = 9223372036854775807 [53] logonCount: value = 0 [53] sAMAccountName: value = it.admin [53] sAMAccountType: value = 805306368 [53] userPrincipalName: value = it.admin@example.com [53] objectCategory: value = CN=Person,CN=Schema,CN=Configuration,DC=example,DC=com [53] dSCorePropagationData: value = 16010101000000.0Z [53] lastLogonTimestamp: value = 132319755825875876 [53] Fiber exit Tx=515 bytes Rx=2659 bytes, status=1 [53] Session End
[-2147483611] Session Start [-2147483611] New request Session, context 0x00007f9e65ccdc40, reqType = Authentication [-2147483611] Fiber started [-2147483611] Creating LDAP context with uri=ldap://171.16.1.1:389 [-2147483611] Connect to LDAP server: ldap://172.16.1.1:389, status = Failed [-2147483611] Unable to read rootDSE. Can't contact LDAP server. [-2147483611] Fiber exit Tx=0 bytes Rx=0 bytes, status=-2 [-2147483611] Session End
Soluzioni potenziali:
[-2147483615] Session Start [-2147483615] New request Session, context 0x00007f9e65ccdc40, reqType = Authentication [-2147483615] Fiber started [-2147483615] Creating LDAP context with uri=ldap://192.168.1.1:389 [-2147483615] Connect to LDAP server: ldap://192.168.1.1:389, status = Successful [-2147483615] defaultNamingContext: value = DC=example,DC=com [-2147483615] supportedLDAPVersion: value = 3 [-2147483615] supportedLDAPVersion: value = 2 [-2147483615] LDAP server 192.168.1.1 is Active directory [-2147483615] supportedSASLMechanisms: value = GSSAPI [-2147483615] supportedSASLMechanisms: value = GSS-SPNEGO [-2147483615] supportedSASLMechanisms: value = EXTERNAL [-2147483615] supportedSASLMechanisms: value = DIGEST-MD5 [-2147483615] Binding as ftd.admin@example.com [-2147483615] Performing Simple authentication for ftd.admin@example.com to 192.168.1.1 [-2147483615] Simple authentication for ftd.admin@example.com returned code (49) Invalid credentials [-2147483615] Failed to bind as administrator returned code (-1) Can't contact LDAP server [-2147483615] Fiber exit Tx=186 bytes Rx=744 bytes, status=-2 [-2147483615] Session End
Soluzione potenziale: Verificare che il DN di accesso e la password di accesso siano configurati correttamente. È possibile verificare questa condizione sul server AD con ldp.exe. Per verificare che un account possa essere associato correttamente all'utilizzo di LDAP, eseguire la procedura seguente:
1. Sul server AD, premere Win+R e cercare ldp.exe.
2. Fare clic su Connessione > Connetti... come mostrato nell'immagine.
3. Specificare localhost per il server e la porta appropriata, quindi fare clic su OK.
4. La colonna Destra mostra il testo che indica la riuscita della connessione. Fare clic su Connessione > Associa... come mostrato nell'immagine.
5. Selezionare Associazione semplice, quindi specificare il nome utente e la password dell'account della directory. Fare clic su OK.
Se il binding ha esito positivo, il comando ldp visualizzerà Authenticated come DOMAIN\username.
Se si tenta un'associazione con un nome utente o una password non validi, si verificherà un errore di questo tipo.
[-2147483612] Session Start [-2147483612] New request Session, context 0x00007f9e65ccdc40, reqType = Authentication [-2147483612] Fiber started [-2147483612] Creating LDAP context with uri=ldap://192.168.1.1:389 [-2147483612] Connect to LDAP server: ldap://192.168.1.1:389, status = Successful [-2147483612] supportedLDAPVersion: value = 3 [-2147483612] supportedLDAPVersion: value = 2 [-2147483612] LDAP server 192.168.1.1 is Active directory [-2147483612] Binding as ftd.admin@example.com [-2147483612] Performing Simple authentication for ftd.admin@example.com to 192.168.1.1 [-2147483612] LDAP Search: Base DN = [dc=example,dc=com] Filter = [samaccountname=it.admi] Scope = [SUBTREE] [-2147483612] Search result parsing returned failure status [-2147483612] Talking to Active Directory server 192.168.1.1 [-2147483612] Reading password policy for it.admi, dn: [-2147483612] Binding as ftd.admin@example.com [-2147483612] Performing Simple authentication for ftd.admin@example.com to 192.168.1.1 [-2147483612] Fiber exit Tx=456 bytes Rx=1082 bytes, status=-1 [-2147483612] Session End
Soluzione potenziale: Verificare che AD sia in grado di trovare l'utente con la ricerca eseguita dall'FTD. Questa operazione può essere eseguita anche con ldp.exe.
1. Dopo aver eseguito correttamente il binding, passare a Visualizza > Struttura come mostrato nell'immagine.
2. Specificare il DN di base configurato sull'FTD, quindi fare clic su OK.
3. Fare clic con il pulsante destro del mouse sul DN di base, quindi scegliere Cerca come mostrato nell'immagine.
4. Specificare gli stessi valori Base DB, Filter e Scope visualizzati nei debug. In questo esempio, sono:
Il comando ldp trova 0 voci poiché non esiste alcun account utente con samaccountname=it.admi nel DN di base dc=example,dc=com.
Se si tenta di eseguire nuovamente il tentativo con il samaccountname=it.admin corretto, verrà visualizzato un risultato diverso. ldp trova 1 voce nel DN di base dc=example,dc=com e stampa il DN di tale utente.
[-2147483613] Session Start [-2147483613] New request Session, context 0x00007f9e65ccdc40, reqType = Authentication [-2147483613] Fiber started [-2147483613] Creating LDAP context with uri=ldap://192.168.1.1:389 [-2147483613] Connect to LDAP server: ldap://192.168.1.1:389, status = Successful [-2147483613] supportedLDAPVersion: value = 3 [-2147483613] supportedLDAPVersion: value = 2 [-2147483613] LDAP server 192.168.1.1 is Active directory [-2147483613] Binding as ftd.admin@example.com [-2147483613] Performing Simple authentication for ftd.admin@example.com to 192.168.1.1 [-2147483613] LDAP Search: Base DN = [dc=example,dc=com] Filter = [samaccountname=it.admin] Scope = [SUBTREE] [-2147483613] User DN = [CN=IT Admin,CN=Users,DC=example,DC=com] [-2147483613] Talking to Active Directory server 192.168.1.1 [-2147483613] Reading password policy for it.admin, dn:CN=IT Admin,CN=Users,DC=example,DC=com [-2147483613] Read bad password count 0 [-2147483613] Binding as it.admin [-2147483613] Performing Simple authentication for it.admin to 192.168.1.1 [-2147483613] Simple authentication for it.admin returned code (49) Invalid credentials [-2147483613] Message (it.admin): 80090308: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 52e, v3839 [-2147483613] Invalid password for it.admin [-2147483613] Fiber exit Tx=514 bytes Rx=2764 bytes, status=-1 [-2147483613] Session End
Soluzione potenziale: Verificare che la password dell'utente sia configurata correttamente e che non sia scaduta. Analogamente al DN di accesso, l'FTD eseguirà un'associazione ad Active Directory con le credenziali dell'utente. Questo binding può essere eseguito anche in ldp per verificare che AD sia in grado di riconoscere le stesse credenziali di nome utente e password. I passaggi in ldp sono illustrati nella sezione Associazione DN di login e/o Password errata. È inoltre possibile esaminare i registri del Visualizzatore eventi del server Microsoft per un motivo potenziale.
Il comando test aaa-server può essere usato per simulare un tentativo di autenticazione da parte dell'FTD con un nome utente e una password specifici. Può essere utilizzato per verificare la presenza di errori di connessione o autenticazione. Il comando è test di autenticazione aaa-server [AAA-server] host [AD IP/nomehost].
> show running-configuration aaa-server aaa-server LAB-AD protocol ldap realm-id 7 aaa-server LAB-AD host win2016.example.com server-port 389 ldap-base-dn DC=example,DC=com ldap-scope subtree ldap-login-password ***** ldap-login-dn ftd.admin@example.com server-type auto-detect > test aaa-server authentication LAB-AD host win2016.example.com Username: it.admin Password: ******** INFO: Attempting Authentication test to IP address (192.168.1.1) (timeout: 12 seconds) INFO: Authentication Successful
Le acquisizioni di pacchetti possono essere utilizzate per verificare la raggiungibilità al server AD. Se i pacchetti LDAP lasciano l'FTD, ma non c'è risposta, potrebbe essere un problema di routing.
Di seguito viene riportata un'acquisizione che mostra il traffico LDAP bidirezionale:
> show route 192.168.1.1 Routing entry for 192.168.1.0 255.255.255.0 Known via "connected", distance 0, metric 0 (connected, via interface) Routing Descriptor Blocks: * directly connected, via inside Route metric is 0, traffic share count is 1 > capture AD interface inside match tcp any host 192.168.1.1 eq 389 > show capture capture AD type raw-data interface inside [Capturing - 0 bytes] match tcp any host 192.168.1.1 eq ldap > test aaa-server authentication LAB-AD host win2016.example.com username it.admin password ****** INFO: Attempting Authentication test to IP address (192.168.1.1) (timeout: 12 seconds) INFO: Authentication Successful > show capture capture AD type raw-data interface inside [Capturing - 10905 bytes] match tcp any host 192.168.1.1 eq ldap > show capture AD 54 packets captured 1: 23:02:16.770712 192.168.1.17.61960 > 192.168.1.1.389: S 3681912834:3681912834(0) win 32768 <mss 1460,nop,nop,timestamp 1061373057 0> 2: 23:02:16.772009 192.168.1.1.389 > 192.168.1.17.61960: S 491521506:491521506(0) ack 3681912835 win 8192 <mss 1460,nop,nop,timestamp 762393884 1061373057> 3: 23:02:16.772039 192.168.1.17.61960 > 192.168.1.1.389: . ack 491521507 win 32768 <nop,nop,timestamp 1061373058 762393884> 4: 23:02:16.772482 192.168.1.17.61960 > 192.168.1.1.389: P 3681912835:3681912980(145) ack 491521507 win 32768 <nop,nop,timestamp 1061373059 0> 5: 23:02:16.772924 192.168.1.1.389 > 192.168.1.17.61960: P 491521507:491522141(634) ack 3681912980 win 65160 <nop,nop,timestamp 762393885 1061373059> 6: 23:02:16.772955 192.168.1.17.61960 > 192.168.1.1.389: . ack 491522141 win 32768 <nop,nop,timestamp 1061373059 762393885> 7: 23:02:16.773428 192.168.1.17.61960 > 192.168.1.1.389: P 3681912980:3681913024(44) ack 491522141 win 32768 <nop,nop,timestamp 1061373060 0> 8: 23:02:16.775030 192.168.1.1.389 > 192.168.1.17.61960: P 491522141:491522163(22) ack 3681913024 win 65116 <nop,nop,timestamp 762393887 1061373060> 9: 23:02:16.775075 192.168.1.17.61960 > 192.168.1.1.389: . ack 491522163 win 32768 <nop,nop,timestamp 1061373061 762393887> [...] 54 packets shown
Il Visualizzatore eventi accede al furgone del server AD e fornisce informazioni più dettagliate sul motivo per cui si è verificato un errore.
1. Cercare e aprire il Visualizzatore eventi.
2. Espandere Registri Windows e fare clic su Protezione. Cercare Controllo non riuscito con il nome account dell'utente ed esaminare le informazioni sull'errore come mostrato nell'immagine.
An account failed to log on. Subject: Security ID: SYSTEM Account Name: WIN2016$ Account Domain: EXAMPLE Logon ID: 0x3E7 Logon Type: 3 Account For Which Logon Failed: Security ID: NULL SID Account Name: it.admin Account Domain: EXAMPLE Failure Information: Failure Reason: The specified user account has expired. Status: 0xC0000193 Sub Status: 0x0 Process Information: Caller Process ID: 0x25c Caller Process Name: C:\Windows\System32\lsass.exe Network Information: Workstation Name: WIN2016 Source Network Address: 192.168.1.17 Source Port: 56321