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 utilizzare l'autenticazione LDAP (Lightweight Directory Access Protocol) per assegnare un criterio di gruppo all'accesso. Spesso gli amministratori desiderano fornire agli utenti VPN autorizzazioni di accesso diverse per il contenuto WebVPN. Sull'appliance ASA (Adaptive Security Appliance) questo obiettivo viene regolarmente raggiunto tramite l'assegnazione di policy di gruppo diverse a utenti diversi. Quando è in uso l'autenticazione LDAP, questa operazione può essere eseguita automaticamente con una mappa degli attributi LDAP.
Per utilizzare LDAP per assegnare un criterio di gruppo a un utente, è necessario configurare una mappa che mappa un attributo LDAP, ad esempio l'attributo di Active Directory (AD) memberOf, all'attributo IETF-Radius-Class riconosciuto dall'ASA. Una volta stabilita la mappatura degli attributi, è necessario mappare il valore dell'attributo configurato sul server LDAP al nome di un criterio di gruppo sull'appliance ASA.
Nota: l'attributo memberOf corrisponde al gruppo di cui l'utente fa parte in Active Directory. Un utente può essere membro di più gruppi in Active Directory. In questo modo, il server invierà più attributi memberOf, ma l'ASA può associare un solo attributo a un criterio di gruppo.
Per questo documento è necessario che sull'appliance ASA sia già configurata un'impostazione di autenticazione LDAP funzionante. Per informazioni su come configurare l'autenticazione LDAP di base sull'appliance ASA, consultare il documento sulla configurazione dell'autenticazione LDAP per gli utenti di WebVPN.
Il riferimento delle informazioni contenute in questo documento è PIX/ASA 8.0.
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.
Nell'esempio, l'attributo AD/LDAP memberOf è mappato all'attributo ASA CVPN3000-Radius-IETF-Class. L'attributo class viene usato per assegnare i criteri di gruppo sull'appliance ASA. Questo è il processo generale che l'ASA completa quando autentica gli utenti con il protocollo LDAP:
L'utente avvia una connessione all'appliance ASA.
L'appliance ASA è configurata per autenticare l'utente con il server Microsoft AD/LDAP.
L'appliance ASA esegue il binding al server LDAP con le credenziali configurate sull'appliance ASA (in questo caso admin) e cerca il nome utente specificato.
Se il nome utente viene trovato, l'ASA tenta di eseguire il binding al server LDAP con le credenziali fornite dall'utente al momento dell'accesso.
Se il secondo binding ha esito positivo, l'ASA elabora gli attributi dell'utente, tra cui memberOf.
L'attributo memberOf viene mappato a CVPN3000-Radius-IETF-Class dalla mappa di attributi LDAP configurata.
Il valore che indica l'appartenenza al gruppo Employees è mappato a ExamplePolicy1.
Il valore che indica l'appartenenza al gruppo Contractors è mappato a ExamplePolicy2.
Viene esaminato l'attributo CVPN3000-Radius-IETF-Class appena assegnato e viene effettuata una determinazione dei Criteri di gruppo.
Il valore ExamplePolicy1 determina l'assegnazione del criterio di gruppo ExamplePolicy1 all'utente.
Il valore ExamplePolicy2 determina l'assegnazione del criterio di gruppo ExamplePolicy2 all'utente.
In questa sezione vengono presentate le informazioni necessarie per configurare l'appliance ASA in modo che assegni un criterio di gruppo agli utenti in base agli attributi LDAP.
Per configurare la mappa LDAP sull'appliance ASA, completare la procedura descritta di seguito in Adaptive Security Device Manager (ASDM).
Selezionare Configurazione > VPN ad accesso remoto > Impostazione AAA > Mappa attributi LDAP.
Fare clic su Add.
Assegnare un nome alla mappa.
Creare un mapping tra un attributo LDAP e l'attributo IETF-Radius-Class sull'appliance ASA. In questo esempio, Nome cliente è l'attributo memberOf in Active Directory. È mappato al nome Cisco di IETF-Radius-Class. Fare clic su Add.
Nota: per i nomi e i valori degli attributi viene fatta distinzione tra maiuscole e minuscole.
Nota: se non si conoscono i nomi o le ortografie esatte degli attributi forniti dal server LDAP, può essere utile esaminare i debug prima di creare la mappa. Per ulteriori informazioni su come identificare gli attributi LDAP con i debug, vedere la sezione Verifica.
Dopo aver aggiunto il mapping di attributi, fare clic sulla scheda Valore mapping, quindi su Aggiungi per creare un mapping di valori. Aggiungere tutti i mapping di valori necessari e fare clic su OK al termine.
Valore cliente: il valore dell'attributo dal server LDAP
Valore Cisco: il nome dei criteri di gruppo sull'appliance ASA
In questo esempio, il valore CN=Employees,CN=Users,DC=ftwsecurity,DC=cisco,DC=com memberOf viene mappato a ExamplePolicy1 e il valore CN=Contractors,CN=Users,DC=ftwsecurity,DC=cisco,DC=com memberOf viene mappato a ExamplePolicy2.
Mapping attributi LDAP completo
Una volta creata, la mappa deve essere assegnata al server di autenticazione, autorizzazione e accounting (AAA) configurato per l'autenticazione LDAP. Selezionare Gruppi di server AAA nel riquadro di sinistra.
Selezionare il server AAA configurato per LDAP e fare clic su Modifica.
Nella parte inferiore della finestra visualizzata, individuare l'elenco a discesa Mappa attributi LDAP. Scegliere l'elenco appena creato. Al termine, fare clic su OK.
Completare questi passaggi nella CLI per configurare la mappa LDAP sull'appliance 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
È possibile creare un criterio di gruppo NOACCESS per negare la connessione VPN quando l'utente non fa parte di alcun gruppo LDAP. Di seguito è riportato il frammento di configurazione da utilizzare come riferimento:
group-policy NOACCESS internal group-policy NOACCESS attributes vpn-simultaneous-logins 0 vpn-tunnel-protocol IPSec webvpn
È necessario applicare questo criterio di gruppo come criterio di gruppo predefinito al gruppo di tunnel. In modo che gli utenti che ottengono un mapping dalla mappa degli attributi LDAP, ad esempio quelli che appartengono a un gruppo LDAP desiderato, siano in grado di ottenere i criteri di gruppo desiderati e gli utenti che non ottengono alcun mapping, ad esempio quelli che non appartengono a nessuno dei gruppi LDAP desiderati, siano in grado di ottenere NOACCESS group-policy dal gruppo di tunnel, che blocca l'accesso per loro.
Nota: per ulteriori informazioni su come creare mapping di attributi LDAP diversi che negano l'accesso ad alcuni utenti, fare riferimento all'esempio ASA/PIX: Mapping dei client VPN su Criteri di gruppo VPN tramite LDAP.
L'unica configurazione richiesta in Active Directory o in un altro server LDAP è correlata agli attributi dell'utente. In questo esempio, l'utente Kate Austen è un membro del gruppo Employees in Active Directory:
Ben Linus è un membro del gruppo Contractors:
Consultare questa sezione per verificare la configurazione.
Per verificare se la configurazione è stata eseguita correttamente, eseguire l'accesso come utente a cui si prevede di assegnare un criterio di gruppo con la mappa degli attributi LDAP. In questo esempio viene configurato un banner per ogni criterio di gruppo. Nello screenshot viene mostrato come l'utente kate riesca ad accedere e abbia ExamplePolicy1 applicato, in quanto è un membro del gruppo Employees.
Per verificare che il mapping LDAP si sia verificato o per ottenere ulteriori informazioni sugli attributi inviati dal server LDAP, usare il comando debug ldap 255 sulla riga di comando dell'ASA e tentare l'autenticazione.
In questo debug, all'utente kate viene assegnato il criterio di gruppo ExamplePolicy1 perché è membro del gruppo Employees. Questo debug mostra anche che kate è un membro del gruppo Castaways, ma che l'attributo non è mappato, quindi viene ignorato.
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
In questo debug, all'utente è stato assegnato il criterio di gruppo ExamplePolicy2 perché è membro del gruppo Contractors. Durante il debug viene inoltre mostrato che ben è membro del gruppo TheOthers, ma l'attributo non è mappato, quindi viene ignorato.
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
Consultare questa sezione per risolvere i problemi di configurazione.
I nomi e i valori degli attributi fanno distinzione tra maiuscole e minuscole. Se il mapping non viene eseguito correttamente, assicurarsi di utilizzare l'ortografia corretta e le maiuscole nella mappa degli attributi LDAP sia per i nomi che per i valori degli attributi Cisco e LDAP.
L'appliance ASA non è in grado di autenticare gli utenti dal server LDAP. Di seguito sono riportati i debug:
ldap 255 output:[1555805] Session Start[1555805] Nuova sessione di richiesta, contesto 0xcd66c028, reqType = 1[1555805] Fibra avviata[1555805] Creazione del contesto LDAP con uri=ldaps://172.30.74.70:636[1555805] Connessione al server LDAP: ldaps://172.30.74.70:636, stato = Riuscito[1555805] LDAPVersion: valore = 3[1555805] supportatoLDAPVersion: valore = 2[1555805] Binding come amministratore[1555805] Esecuzione dell'autenticazione semplice per i servizi di sistema a 172.30.74.70[1555805] L'autenticazione semplice per i servizi di sistema ha restituito il codice (49) Credenziali non valide[155805] Impossibile eseguire il binding codice restituito (-1) Impossibile contattare il server LDAP[1555805] Uscita fibra Tx=222 byte Rx=605 byte, status=-2[1555805] Fine sessione
Per quanto riguarda i debug, il formato del DN di accesso LDAP non è corretto o la password non è corretta, quindi verificare entrambi per risolvere il problema.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
29-Aug-2007 |
Versione iniziale |