Esempio di configurazione dell'uso delle mappe di attributi LDAP da parte dell'ASA
Sommario
Introduzione Prerequisiti Requisiti
Componenti usati Premesse
Domande frequenti
D. È presente un limite di configurazione sul numero di mappe di attributi ldap per l'appliance ASA?
D. Esiste un limite al numero di attributi che possono essere mappati per ldap-attribute-map?
D. Esiste una restrizione al numero di server LDAP a cui è possibile applicare una determinata mappa di attributi ldap?
D. Sono previste limitazioni per le mappe di attributi ldap e per gli attributi multivalore come AD memberOf?
Esempi di casi di utilizzo Soluzione/Procedure ottimali
Configurazione - Casi di utilizzo di esempio
1. Applicazione della policy sugli attributi basati sull'utente
2. Inserire gli utenti LDAP in un oggetto Criteri di gruppo specifico - Esempio generico Configurare un criterio di gruppo NOACCESS
3. Applicazione del criterio Attributi basati su gruppo - Esempio
4. Applicazione da parte di Active Directory dell'opzione "Assegna un indirizzo IP statico" per i tunnel IPsec e SVC
5. Applicazione da parte di Active Directory di "Autorizzazione di accesso remoto per chiamate in ingresso, Consenti/Nega accesso"
6. Applicazione da parte di Active Directory dell'appartenenza a "Membro di"/Gruppo per consentire o negare l'accesso
7. Applicazione da parte di Active Directory delle regole relative all'orario di accesso
8. Utilizzare la configurazione ldap-map per mappare un utente in un gruppo di criteri specifico e utilizzare il comando authorization-server-group, in caso di doppia autenticazione
Verifica
Risoluzione dei problemi Debug della transazione LDAP
ASA non è in grado di autenticare gli utenti dal server LDAP
Introduzione
In questo documento viene descritto come usare le mappe di attributi LDAP (Lightweight Directory Access Protocol) per configurare criteri di accesso dinamico granulari su un'appliance ASA
(Adaptive Security Appliance).
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
ASA Remote Access VPN SSL (AnyConnect, Client/WebVPN) e IPsec VPN
●
Meccanismi di autenticazione/identità AAA (Radius,LDAP)
●
Servizi directory (Active Directory - AD)
●
Componenti usati
Le informazioni di questo documento si basano sulla piattaforma hardware ASA-5xxx che funziona come concentratore/server VPN per le sessioni SSL VPN (AnyConnect e Client/WebVPN) e IPsec di accesso remoto.
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.
Premesse
LDAP è un protocollo applicativo aperto, indipendente dal fornitore e standard del settore per l'accesso e la gestione di servizi di informazioni di directory distribuite su una rete IP. I servizi di elenchi in linea svolgono un ruolo importante nello sviluppo delle applicazioni Intranet e Internet in quanto consentono la condivisione in rete delle informazioni relative a utenti, sistemi, reti, servizi e applicazioni.
Spesso gli amministratori desiderano fornire agli utenti VPN autorizzazioni di accesso diverse per il contenuto WebVPN. A tale scopo, è possibile configurare criteri VPN diversi nel server VPN e assegnare questi set di criteri a ogni utente in base alle relative credenziali. Anche se questa operazione può essere eseguita manualmente, è più efficiente automatizzare il processo con i servizi directory. Per utilizzare LDAP per assegnare un criterio di gruppo a un utente, è necessario configurare una mappa che esegua il mapping di un attributo LDAP, ad esempio l'attributo
memberOf di Active Directory, all'attributo IETF-Radius-Class o Group-Policy riconosciuto dall'headend VPN.
Nota: Sugli headend Cisco IOS, lo stesso risultato può essere ottenuto configurando diversi gruppi di criteri nel contesto WebVPN e utilizzando le mappe attributi LDAP per determinare il gruppo di criteri che verrà assegnato all'utente, come descritto nel documento. Vedere Assegnazione di gruppi di criteri per i client AnyConnect che usano LDAP sull'esempio di configurazione degli headend Cisco IOS.
Sull'appliance ASA, 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 mappare un attributo LDAP, ad esempio l'attributo AD memberOf, all'attributo Criteri di gruppo 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. È possibile che un utente sia 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.
Domande frequenti
D. È presente un limite di configurazione sul numero di mappe di attributi ldap per l'appliance ASA?
R. No, non ci sono limiti. Le mappe di attributi ldap vengono allocate dinamicamente durante la sessione di accesso remoto VPN che utilizza l'autenticazione/autorizzazione LDAP.
D. Esiste un limite al numero di attributi che possono essere mappati per ldap- attribute-map?
R. Nessun limite di configurazione.
D. Esiste una restrizione al numero di server LDAP a cui è possibile applicare una determinata mappa di attributi ldap?
R. Nessuna restrizione. Il codice LDAP verifica solo che il nome della mappa attributi ldap sia valido.
D. Sono previste limitazioni per le mappe di attributi ldap e per gli attributi multivalore come AD memberOf?
R. Sì. In questo documento viene spiegato solo AD, ma si applica a qualsiasi server LDAP che utilizza attributi multivalore per le decisioni relative ai criteri. La mappa degli attributi ldap ha una limitazione con gli attributi multivalore come il membro ADof. Se un utente è membroOf di diversi gruppi AD (che è comune) e la mappa degli attributi ldap corrisponde a più di uno di essi, il valore mappato verrà scelto in base all'alfabetizzazione delle voci corrispondenti. Dal momento che questo comportamento non è ovvio o intuitivo, è importante avere una chiara conoscenza di come funziona.
Riepilogo: se il mapping LDAP genera più valori per un attributo, il valore finale dell'attributo sarà scelto nel modo seguente:
Selezionare innanzitutto i valori con il minor numero di caratteri.
●
Se il risultato è più di un valore, scegliere il valore più basso in ordine alfabetico.
●
Esempi di casi di utilizzo
Active Directory-LDAP restituisce le quattro istanze memberOf seguenti per una richiesta di autenticazione o autorizzazione utente:
memberOf: value = CN=APP-SSL-VPN Managers,CN=Users,OU=stbu,DC=cisco,DC=com memberOf: value = CN=Cisco-Eng,CN=Users,DC=stbu,OU=cisco,DC=com
memberOf: value = CN=Employees,CN=Users,OU=stbu,DC=cisco,DC=com memberOf: value = CN=Engineering,CN=Users,OU=stbu,DC=cisco,DC=com
LDAP-MAP #1: si supponga che questa mappa di attributi LDAP sia configurata per eseguire il mapping di criteri di gruppo ASA diversi in base all'impostazione memberOf:
ldap attribute-map Class map-name memberOf Group-Policy
map-value memberOf CN=APP-SSL-VPN Managers,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup4 map-value memberOf CN=cisco-Eng,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup3
map-value memberOf CN=Employees,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup2 map-value memberOf CN=Engineering,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup1
In questo caso, le corrispondenze verranno eseguite su tutti e quattro i valori dei criteri di gruppo (ASAGroup1 - ASAGroup4). Tuttavia, la connessione verrà assegnata a ASAGroup1 di Criteri di gruppo poiché si verifica prima in ordine alfabetico.
LDAP-MAP #2: questa mappa ldap-attribute-map è la stessa, ad eccezione del primo memberOf a cui non è assegnato un valore di mappa esplicito (no ASAGroup4). Si noti che quando non è definito alcun valore di mappa esplicito, viene utilizzato il testo dell'attributo ricevuto da LDAP.
ldap attribute-map Class map-name memberOf Group-Policy
map-value memberOf CN=APP-SSL-VPN Managers,CN=Users,OU=stbu,DC=cisco,DC=com map-value memberOf CN=cisco-Eng,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup3 map-value memberOf CN=Employees,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup2 map-value memberOf CN=Engineering,CN=Users,OU=stbu,DC=cisco,DC=com ASAGroup1
Come nel caso precedente, le corrispondenze si verificano su tutte e quattro le voci. In questo caso, poiché non viene fornito alcun valore mappato per la voce APP-SSL-VPN, il valore mappato sarà CN=APP-SSL-VPN Manager,CN=Users,OU=stbu,DC=cisco,DC=com per impostazione predefinita. Poiché CN=APP-SSL-VPN viene visualizzato per primo in ordine alfabetico, APP-SSL- VPN verrà selezionato come valore del criterio.
per ulteriori informazioni, fare riferimento all'ID bug Cisco CSCub64284. Per ulteriori informazioni, fare riferimento al documento PIX/ASA 8.0: Utilizzare l'autenticazione LDAP per assegnare un criterio di gruppo all'accesso, che mostra una semplice richiesta LDAP con memberOf che potrebbe funzionare nella distribuzione specifica.
Soluzione/Procedure ottimali
Usa DAP (Dynamic Access Policy) - DAP non prevede questa limitazione per l'analisi degli attributi multivalore (come memberOf); ma attualmente DAP non può impostare un criterio di gruppo dall'interno di se stesso. Ciò significa che la sessione deve essere segmentata correttamente tramite i metodi di associazione gruppo/gruppo-criteri del tunnel. In futuro, DAP sarà in grado di impostare qualsiasi attributo di autorizzazione, inclusi i criteri di gruppo (ID bug Cisco CSCsi54718), quindi non sarà necessario disporre di una mappa attributi ldap a tale scopo.
1.
Come possibile alternativa e se lo scenario di distribuzione lo consente, ogni volta che è necessario utilizzare una mappa di attributi ldap per impostare l'attributo di classe, è
possibile utilizzare anche un attributo a valore singolo (come Department) che rappresenta la differenziazione del gruppo in AD.
2.
Nota: in un DN memberOf come "CN=Engineering, OU=Office1, DC=cisco,DC=com" è possibile prendere la decisione solo sul primo DN, ovvero CN=Engineering e non sull'unità organizzativa. È stato migliorato l'utilizzo della funzionalità di filtro in base a qualsiasi campo DN.
Configurazione - Casi di utilizzo di esempio
Nota: Ciascun esempio descritto in questa sezione è una configurazione standalone, ma può essere misto e abbinato tra loro per produrre il criterio di accesso desiderato.
Suggerimento: Per i nomi e i valori degli attributi viene fatta distinzione tra maiuscole e minuscole. Se il mapping non viene eseguito correttamente, assicurarsi che nella mappa degli attributi LDAP sia stata utilizzata l'ortografia e la combinazione di maiuscole e minuscole corrette sia per i nomi e i valori degli attributi Cisco e LDAP.
1. Applicazione della policy sugli attributi basati sull'utente
Èpossibile mappare qualsiasi attributo LDAP standard a un attributo specifico del fornitore (VSA, Vendor Specific Attribute) noto dell'accessorio. È possibile mappare uno o più attributi LDAP a uno o più attributi LDAP Cisco. Per un elenco completo delle VSA LDAP di Cisco, fare riferimento a Attributi Cisco supportati per l'autorizzazione LDAP. Nell'esempio viene mostrato come applicare un banner per l'utente LDAP 1. L'utente 1 può essere un qualsiasi tipo di accesso remoto VPN:
IPsec, SVC o WebVPN senza client. In questo esempio viene utilizzato l'attributo/campo Properties/General/Office per applicare Banner1.
Nota: È possibile utilizzare l'attributo o il campo del reparto AD per eseguire il mapping a Cisco IETF-Radius-Class VSA per applicare i criteri da un criterio di gruppo ASA/PIX. Più avanti nel documento sono riportati alcuni esempi.
La mappatura degli attributi LDAP (per Microsoft AD e Sun) è supportata a partire dalla versione 7.1.x di PIX/ASA. È possibile mappare qualsiasi attributo Microsoft/AD a un attributo Cisco. Di seguito viene riportata la procedura per eseguire questa operazione:
Sul server AD/LDAP:Selezionare utente1.Fare clic con il pulsante destro del mouse su >
Proprietà.Selezionare una scheda da utilizzare per impostare un attributo (esempio). scheda Generale).Selezionare un campo/attributo, ad esempio il campo "Office", da utilizzare per applicare l'intervallo di tempo, quindi immettere il testo dell'intestazione (ad esempio, Benvenuto in LDAP !!!). La configurazione di "Office" sulla GUI è memorizzata nell'attributo AD/LDAP "physicalDeliveryOfficeName".
1.
Sull'appliance ASA, per creare una tabella di mapping degli attributi LDAP, mappare l'attributo AD/LDAP "physicalDeliveryOfficeName" all'attributo ASA "Banner1":
B200-54(config)# show run ldap ldap attribute-map Banner
map-name physicalDeliveryOfficeName Banner1
2.
Associare la mappa degli attributi LDAP alla voce aaa-server:
3.
B200-54(config-time-range)# show runn aaa-server microsoft aaa-server microsoft protocol ldap
aaa-server microsoft host audi-qa.frdevtestad.local ldap-base-dn dc=frdevtestad,dc=local
ldap-scope subtree
ldap-naming-attribute sAMAccountName ldap-login-password hello
ldap-login-dn cn=Administrator,cn=Users,dc=frdevtestad,dc=local ldap-attribute-map Banner
Stabilire la sessione di Accesso remoto e verificare che il banner "Welcome to LDAP !!!"
all'utente VPN.
4.
2. Inserire gli utenti LDAP in un oggetto Criteri di gruppo specifico - Esempio generico
In questo esempio viene illustrata l'autenticazione di user1 sul server AD-LDAP e viene recuperato il valore del campo Department in modo che possa essere mappato a un criterio di gruppo
ASA/PIX dal quale verranno applicati i criteri.
Sul server AD/LDAP:Selezionare utente1.Fate clic con il pulsante destro del mouse su >
Proprietà (Properties).Selezionare una scheda da utilizzare per impostare un attributo (esempio). scheda Organizzazione).Selezionare un campo o un attributo, ad esempio
"Reparto", da utilizzare per applicare un criterio di gruppo, quindi immettere il valore del criterio di gruppo (Criteri di gruppo 1) sull'appliance ASA/PIX. La configurazione
"Department" (Reparto) sulla GUI è memorizzata nell'attributo "department" di AD/LDAP.
1.
Definire una tabella ldap-attribute-map.
5520-1(config)# show runn ldap ldap attribute-map Our-AD-Map map-name department Group-Policy 5520-1(config)#
Nota: In seguito all'implementazione dell'ID bug Cisco CSCsv43552, è stato introdotto un nuovo attributo di mappa degli attributi ldap, Group-Policy, in sostituzione di IETF-Radius- Class. CLI su ASA versione 8.2 supporta la parola chiave IETF-Radius-Class come scelta valida nei comandi map-name e map-value per leggere un file di configurazione 8.0
(scenario di aggiornamento software). Il codice ASDM (Adaptive Security Device Manager) è già stato aggiornato in modo da non visualizzare più la classe IETF-Radius come scelta quando si configura una voce della mappa attributi. Inoltre, ASDM scriverà l'attributo IETF- Radius-Class (se letto da una configurazione 8.0) come attributo Criteri di gruppo.
2.
Definire i criteri di gruppo Criteri_gruppo1 sull'accessorio e gli attributi dei criteri richiesti.
3.
Stabilire il tunnel di accesso remoto VPN e verificare che la sessione erediti gli attributi da Criteri di gruppo 1 e gli altri attributi applicabili dai Criteri di gruppo predefiniti. Nota:
Aggiungere altri attributi alla mappa in base alle esigenze. In questo esempio viene mostrato solo il minimo per controllare questa funzione specifica (posizionare un utente in una
specifica ASA/PIX 7.1.x). Nel terzo esempio viene illustrato questo tipo di mappa.
4.
Configurare un criterio di gruppo NOACCESS
È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 questo modo, gli utenti che ottengono un mapping dalla mappa degli attributi LDAP, ad esempio quelli che appartengono a un gruppo LDAP desiderato, ottengono 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, ottengono il criterio di gruppo NOACCESS dal gruppo di tunnel, che ne blocca l'accesso.
Suggerimento: Poiché in questo caso l'attributo vpn-simultous-logins è impostato su 0, deve essere definito esplicitamente anche in tutti gli altri criteri di gruppo. in caso contrario, verrà ereditato dai criteri di gruppo predefiniti per tale gruppo di tunnel, che in questo caso sono i criteri NOACCESS.
3. Applicazione del criterio Attributi basati su gruppo - Esempio
Nota: Poiché è necessario implementare/correggere l'ID bug Cisco CSCse08736, l'ASA deve essere in esecuzione almeno nella versione 7.2.2.
Nel server AD-LDAP Utenti e computer di Active Directory impostare un record utente (VPNUserGroup) che rappresenta un gruppo in cui sono configurati gli attributi VPN.
1.
Nel server AD-LDAP Utenti e computer di Active Directory definire il campo Reparto di ogni record utente in modo che punti al record gruppo (VPNUserGroup) nel passaggio 1. Il nome utente in questo esempio è web1. Nota: L'attributo Department AD è stato utilizzato solo perché logicamente "department" fa riferimento al criterio di gruppo. In realtà, è possibile utilizzare qualsiasi campo. È necessario che questo campo sia mappato all'attributo VPN di Cisco Criteri di gruppo, come mostrato nell'esempio.
2.
Definire una tabella ldap-attribute-map:
5520-1(config)# show runn ldap ldap attribute-map Our-AD-Map
map-name department IETF-Radius-Class map-name description\Banner1
map-name physicalDeliveryOfficeName IETF-Radius-Session-Timeout 5520-1(config)#
I due attributi AD-LDAP Description e Office (rappresentati dai nomi AD description e PhysicalDeliveryOfficeName) sono gli attributi dei record del gruppo (per VPNUSerGroup) che eseguono il mapping agli attributi VPN di Cisco Banner1 e IETF-Radius-Session-
Timeout.L'attributo department consente al record utente di eseguire il mapping al nome dei criteri di gruppo esterni sull'appliance ASA (VPNUSer), che quindi esegue il mapping al record VPNuserGroup sul server AD-LDAP, in cui sono definiti gli attributi.Nota: L'attributo Cisco (Criteri di gruppo ) deve essere definito in ldap-attribute-map. L'attributo AD mappato può essere qualsiasi attributo AD impostabile. In questo esempio viene utilizzato il nome reparto perché è il nome più logico che fa riferimento ai criteri di gruppo.
3.
Configurare il server aaa con il nome della mappa attributi ldap da utilizzare per le operazioni di autenticazione LDAP, autorizzazione e accounting (AAA):
5520-1(config)# show runn aaa-server LDAP-AD11
4.
aaa-server LDAP-AD11 protocol ldap aaa-server LDAP-AD11 host 90.148.1.11
ldap-base-dn cn=Users,dc=nelson,dc=cisco,dc=com ldap-scope onelevel
ldap-naming-attribute sAMAccountName ldap-login-password altiga
ldap-login-dn cn=Administrator,cn=Users,dc=nelson,dc=cisco,dc=com ldap-attribute-map Our-AD-Map
5520-1(config)#
Definire un gruppo di tunnel con Autenticazione LDAP o Autorizzazione LDAP. Esempio di autenticazione LDAP. Esegue l'applicazione dei criteri di autenticazione + (autorizzazione) se sono definiti attributi.
5520-1(config)# show runn tunnel-group remoteAccessLDAPTunnelGroup
tunnel-group RemoteAccessLDAPTunnelGroup general-attributes authentication-server-group LDAP-AD11
accounting-server-group RadiusACS28 5520-1(config)#
Esempio di autorizzazione LDAP. Configurazione utilizzata per l'utilizzo dei certificati digitali.
5520-1(config)# show runn tunnel-group remoteAccessLDAPTunnelGroup
tunnel-group RemoteAccessLDAPTunnelGroup general-attributes authentication-server-group none
authorization-server-group LDAP-AD11 accounting-server-group RadiusACS28 authorization-required
authorization-dn-attributes ea 5520-1(config)#
5.
Definire un criterio di gruppo esterno. Il nome dei criteri di gruppo è il valore del record utente AD-LDAP che rappresenta il gruppo (VPNUserGroup).
5520-1(config)# show runn group-policy VPNUserGroup group-policy VPNUserGroup external server-group LDAP-AD11 5520-1(config)#
6.
Stabilire il tunnel e verificare che gli attributi siano applicati. In questo caso, il banner e il timeout di sessione vengono applicati dal record VPNuserGroup in Active Directory.
7.
4. Applicazione da parte di Active Directory dell'opzione "Assegna un indirizzo IP statico" per i tunnel IPsec e SVC
L'attributo AD è msRADIUSFramedIPAddress. L'attributo è configurato in Proprietà utente AD, scheda Chiamate in ingresso, "Assegna un indirizzo IP statico".
Di seguito sono riportati i passaggi:
Nel server AD, in Proprietà utente, scheda Connessione remota, "Assegna un indirizzo IP statico", immettere il valore dell'indirizzo IP da assegnare alla sessione IPsec/SVC
(10.20.30.6).
1.
Sull'appliance ASA, creare una mappa di attributi ldap con questa mappatura:
5540-1# show running-config ldap ldap attribute-map Assign-IP
map-name msRADIUSFramedIPAddress IETF-Radius-Framed-IP-Address 5540-1#
2.
Sull'appliance ASA, verificare che l'assegnazione dell'indirizzo vpn sia configurata per includere "vpn-addr-assign-aaa":
5520-1(config)# show runn all vpn-addr-assign vpn-addr-assign aaa
3.
no vpn-addr-assign dhcp vpn-addr-assign local 5520-1(config)#
Stabilire le sessioni di Autorità remota (RA) IPsec/SVC e verificare la correttezza del campo
"Assegnazione IP" (10.20.30.6) con "show vpn-sessiondb remote|svc".
4.
5. Applicazione da parte di Active Directory di "Autorizzazione di accesso remoto per chiamate in ingresso, Consenti/Nega accesso"
Supporta tutte le sessioni di accesso remoto VPN: IPSec, WebVPN e SVC. Il valore di Consenti accesso è VERO. Il valore di Nega accesso è FALSO. Il nome dell'attributo di Active Directory è msNPAllowDialin.
In questo esempio viene illustrata la creazione di una mappa degli attributi ldap che utilizza i protocolli di tunneling Cisco per creare le condizioni Allow Access (TRUE) e Deny (FALSE). Ad esempio, se si esegue il mapping del protocollo tunnel=L2TPover IPsec (8), è possibile creare una condizione FALSE se si tenta di imporre l'accesso per WebVPN e IPsec. Si applica anche la logica inversa.
Di seguito sono riportati i passaggi:
In Proprietà utente1 server Active Directory, Accesso remoto, selezionare l'opzione
appropriata per consentire o negare l'accesso per ogni utente. Nota: Se si seleziona la terza opzione "Controlla l'accesso tramite i criteri di accesso remoto", il server AD non restituisce alcun valore, quindi le autorizzazioni applicate sono basate sull'impostazione dei criteri di gruppo interni dell'ASA/PIX.
1.
Sull'appliance ASA, creare una mappa di attributi ldap con questa mappatura:
ldap attribute-map LDAP-MAP
map-name msNPAllowDialin Tunneling-Protocols map-value msNPAllowDialin FALSE 8
map-value msNPAllowDialin TRUE 20 5540-1#
Nota: Aggiungere altri attributi alla mappa in base alle esigenze. In questo esempio viene mostrato solo il minimo per controllare questa funzione specifica (Consenti o Nega accesso in base all'impostazione di Accesso remoto).Qual è il significato o l'applicazione di ldap- attribute-map?valore-mappa msNPAllowDialin FALSE 8Nega accesso per un utente 1. La condizione di valore FALSE corrisponde al protocollo di tunneling L2TPoverIPsec (valore 8).Consenti accesso per utente2. La condizione del valore TRUE corrisponde al protocollo tunnel WebVPN + IPsec (valore 20).Un utente WebVPN/IPsec, autenticato come utente1 in Active Directory, non riuscirà a causa di una mancata corrispondenza del protocollo del tunnel.Un L2TPoverIPsec, autenticato come utente1 in Active Directory, non riuscirà a causa della regola di negazione.Un utente WebVPN/IPsec, autenticato come utente2 in Active Directory, avrebbe esito positivo (regola Consenti + protocollo tunnel corrispondente).Un L2TPoverIPsec, autenticato come utente2 in Active Directory, non riuscirà a causa di una mancata corrispondenza del protocollo del tunnel.
Supporto per il protocollo tunnel, come definito nelle RFC 2867 e 2868.
2.
6. Applicazione da parte di Active Directory dell'appartenenza a "Membro
di"/Gruppo per consentire o negare l'accesso
Questo caso è strettamente correlato al caso 5, fornisce un flusso più logico ed è il metodo consigliato, in quanto stabilisce il controllo dell'appartenenza ai gruppi come condizione.
Configurare l'utente AD come "Membro di" un gruppo specifico. Utilizzare un nome che lo collochi in cima alla gerarchia dei gruppi (ASA-VPN-Consultants). In AD-LDAP,
l'appartenenza ai gruppi è definita dall'attributo AD "memberOf". È importante che il gruppo sia all'inizio dell'elenco, poiché attualmente è possibile applicare le regole solo alla prima stringa group/"memberOf". Nella release 7.3, è possibile eseguire il filtraggio e l'imposizione di più gruppi.
1.
Sull'appliance ASA, creare una mappa di attributi ldap con il mapping minimo:
ldap attribute-map LDAP-MAP
map-name memberOf Tunneling-Protocols
map-value memberOf cn=ASA-VPN-Consultants,cn=Users,dc=abcd,dc=com 4 5540-1#
Nota: Aggiungere altri attributi alla mappa in base alle esigenze. In questo esempio viene illustrato solo il minimo per controllare la funzione specifica (Consenti o Nega accesso in base all'appartenenza a gruppi).Qual è il significato o l'applicazione di ldap-attribute- map?User=joe_consultant, parte di AD, che è membro del gruppo AD "ASA-VPN- Consultants" sarà autorizzato ad accedere solo se l'utente utilizza IPsec (tunnel-
protocol=4=IPSec).User=joe_consultant, parte di AD, non riuscirà ad accedere alla VPN durante qualsiasi altro client di accesso remoto (PPTP/L2TP, L2TP/IPSec, WebVPN/SVC e così via).User=bill_the_hacker NON sarà consentito l'accesso poiché l'utente non è membro di Active Directory.
2.
7. Applicazione da parte di Active Directory delle regole relative all'orario di accesso
In questo scenario viene descritto come impostare e applicare le regole relative all'ora del giorno in AD/LDAP.
La procedura da seguire è la seguente:
Sul server AD/LDAP:Selezionare l'utente.Fare clic con il pulsante destro del mouse su >
Proprietà.Selezionare una scheda da utilizzare per impostare un attributo (esempio). scheda Generale).Selezionare un campo o un attributo, ad esempio il campo "Ufficio", da utilizzare per applicare l'intervallo di tempo, quindi immettere il nome dell'intervallo di tempo, ad esempio Boston. La configurazione di "Office" sulla GUI è memorizzata nell'attributo AD/LDAP "physicalDeliveryOfficeName".
1.
Sull'appliance ASA Creare una tabella di mapping degli attributi LDAP.Mappare l'attributo AD/LDAP "physicalDeliveryOfficeName" all'attributo ASA "Access-Hours".Esempio:
B200-54(config-time-range)# show run ldap ldap attribute-map TimeOfDay
map-name physicalDeliveryOfficeName Access-Hours
2.
Sull'appliance ASA, associare la mappa degli attributi LDAP alla voce aaa-server:
B200-54(config-time-range)# show runn aaa-server microsoft aaa-server microsoft protocol ldap
aaa-server microsoft host audi-qa.frdevtestad.local ldap-base-dn dc=frdevtestad,dc=local
ldap-scope subtree
ldap-naming-attribute sAMAccountName ldap-login-password hello
ldap-login-dn cn=Administrator,cn=Users,dc=frdevtestad,dc=local ldap-attribute-map TimeOfDay
3.
Sull'appliance ASA, creare un oggetto dell'intervallo di tempo con il valore name assegnato all'utente (valore di Office al passaggio 1):
B200-54(config-time-range)# show runn time-range
!
time-range Boston
periodic weekdays 8:00 to 17:00
!
4.
Stabilire la sessione di accesso remoto VPN: La sessione dovrebbe avere esito positivo se rientra nell'intervallo di tempo.La sessione deve avere esito negativo se non rientra
nell'intervallo di tempo.
5.
8. Utilizzare la configurazione ldap-map per mappare un utente in un gruppo di criteri specifico e utilizzare il comando authorization-server-group, in caso di doppia autenticazione
In questo scenario viene utilizzata l'autenticazione doppia. Il primo server di autenticazione utilizzato è RADIUS, il secondo server utilizzato è un server LDAP. Configurare il server LDAP e il server RADIUS. Di seguito è riportato un esempio:
ASA5585-S10-K9# show runn aaa-server aaa-server test-ldap protocol ldap
aaa-server test-ldap (out) host 10.201.246.130 ldap-base-dn cn=users, dc=htts-sec, dc=com ldap-login-password *****
ldap-login-dn cn=Administrator, cn=Users, dc=htts-sec, dc=com server-type microsoft
ldap-attribute-map Test-Safenet-MAP aaa-server test-rad protocol radius
aaa-server test-rad (out) host 10.201.249.102 key *****
Definire la mappa degli attributi LDAP. Di seguito è riportato un esempio:
ASA5585-S10-K9# show runn ldap ldap attribute-map Test-Safenet-MAP map-name memberOf IETF-Radius-Class
map-value memberOf "CN=DHCP Users,CN=Users,DC=htts-sec,DC=com" Test-Policy-Safenet
Definire il gruppo di tunnel e associare il server RADIUS e LDAP per l'autenticazione. Di seguito è riportato un esempio:
ASA5585-S10-K9# show runn tunnel-group tunnel-group Test_Safenet type remote-access tunnel-group Test_Safenet general-attributes address-pool RA_VPN_IP_Pool
authentication-server-group test-rad
secondary-authentication-server-group test-ldap use-primary-username default-group-policy NoAccess
tunnel-group Test_Safenet webvpn-attributes group-alias Test_Safenet enable
Visualizzare i criteri di gruppo utilizzati nella configurazione del gruppo di tunnel:
ASA5585-S10-K9# show runn group-policy group-policy NoAccess internal
group-policy NoAccess attributes wins-server none
dns-server value 10.34.32.227 10.34.32.237 vpn-simultaneous-logins 0
default-domain none
group-policy Test-Policy-Safenet internal group-policy Test-Policy-Safenet attributes dns-server value 10.34.32.227 10.34.32.237 vpn-simultaneous-logins 15
vpn-idle-timeout 30
1.
vpn-tunnel-protocol ikev1 ssl-client ssl-clientless split-tunnel-policy tunnelspecified
split-tunnel-network-list value Safenet-Group-Policy-SplitAcl default-domain none
Con questa configurazione, gli utenti AnyConnect a cui è stato eseguito correttamente il mapping con gli attributi LDAP non sono stati inclusi in Criteri di gruppo, Test-Policy-Secure.
Al contrario, sono ancora inclusi nei Criteri di gruppo predefiniti, in questo caso
NoAccess.Vedere lo snippet di debug (debug ldap 255) e i syslog a livello informativo:
--- memberOf: value = CN=DHCP Users,CN=Users,DC=htts-sec,DC=com
[47] mapped to IETF-Radius-Class: value = Test-Policy-Safenet
[47] mapped to LDAP-Class: value = Test-Policy-Safenet
--- Syslogs :
%ASA-6-113004: AAA user authentication Successful : server = 10.201.246.130 : user = test123
%ASA-6-113003: AAA group policy for user test123 is being set to Test-Policy-Safenet
%ASA-6-113011: AAA retrieved user specific group policy (Test-Policy-Safenet) for user = test123
%ASA-6-113009: AAA retrieved default group policy (NoAccess) for user = test123
%ASA-6-113013: AAA unable to complete the request Error : reason = Simultaneous logins exceeded for user : user = test123
%ASA-6-716039: Group <DfltGrpPolicy> User <test123> IP <10.116.122.154> Authentication:
rejected, Session Type: WebVPN.
Questi syslog mostrano un errore quando all'utente è stato assegnato il criterio di gruppo NoAccess per il quale l'opzione accesso simultaneo è impostata su 0 anche se i syslog dicono che è stato recuperato un criterio di gruppo specifico dell'utente.Per assegnare l'utente ai Criteri di gruppo in base alla mappa LDAP, è necessario disporre di questo
comando: authorization-server-group test-ldap (in questo caso, test-ldap è il nome del server LDAP). Di seguito è riportato un esempio:
ASA5585-S10-K9# show runn tunnel-group tunnel-group Test_Safenet type remote-access tunnel-group Test_Safenet general-attributes address-pool RA_VPN_IP_Pool
authentication-server-group test-rad
secondary-authentication-server-group test-ldap use-primary-username authorization-server-group test-ldap
default-group-policy NoAccess
tunnel-group Test_Safenet webvpn-attributes group-alias Test_Safenet enable
Ora, se il primo server di autenticazione (RADIUS, in questo esempio) ha inviato gli attributi specifici dell'utente, ad esempio l'attributo IEFT-class, in questo caso l'utente verrà mappato al criterio di gruppo inviato da RADIUS. Pertanto, anche se nel server secondario è
configurata una mappa LDAP e gli attributi LDAP dell'utente corrispondono a un criterio di gruppo diverso, verrà applicato il criterio di gruppo inviato dal primo server di autenticazione.
Per fare in modo che l'utente inserisca in un criterio di gruppo basato sull'attributo mappa LDAP, è necessario specificare questo comando nel gruppo di tunnel: authorization-server- 2.
group test-ldap.
Se il primo server di autenticazione è SDI o OTP, che non può passare l'attributo specifico dell'utente, l'utente rientra nei criteri di gruppo predefiniti del gruppo di tunnel. In questo caso, NoAccess anche se il mapping LDAP è corretto. In questo caso, sarà inoltre necessario utilizzare il comando authorization-server-group test-ldap nel gruppo di tunnel per inserire l'utente nel criterio di gruppo corretto.
3.
Se entrambi i server sono gli stessi server RADIUS o LDAP, non è necessario il comando authorization-server-group affinché il blocco dei criteri di gruppo funzioni.
4.
Verifica
ASA5585-S10-K9# show vpn-sessiondb anyconnect Session Type: AnyConnect
Username : test123 Index : 2
Assigned IP : 10.34.63.1 Public IP : 10.116.122.154 Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : 3DES 3DES 3DES Hashing : SHA1 SHA1 SHA1 Bytes Tx : 14042 Bytes Rx : 8872
Group Policy : Test-Policy-Safenet Tunnel Group : Test_Safenet Login Time : 10:45:28 UTC Fri Sep 12 2014
Duration : 0h:01m:12s Inactivity : 0h:00m:00s NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
Risoluzione dei problemi
Consultare questa sezione per risolvere i problemi di configurazione.
Debug della transazione LDAP
Questi debug possono essere utilizzati per isolare i problemi relativi alla configurazione DAP:
debug ldap 255
●
debug dap trace
●
debug autenticazione aaa
●
ASA non è in grado di autenticare gli utenti dal server LDAP
Se l'appliance ASA non è in grado di autenticare gli utenti dal server LDAP, di seguito sono riportati alcuni esempi di debug:
ldap 255 output:[1555805] Session Start[1555805] New request Session, context 0xcd66c028, reqType = 1[1555805]
Fiber started[1555805] Creating LDAP context with uri=ldaps://172.30.74.70:636 [1555805] Connect to LDAP server:
ldaps://172.30.74.70:636, status = Successful[1555805] supportedLDAPVersion:
value = 3[1555805]
supportedLDAPVersion: value = 2[1555805] Binding as administrator[1555805]
Performing Simple
authentication for sysservices to 172.30.74.70[1555805] Simple authentication for sysservices returned code (49)
Invalid credentials[1555805] Failed to bind as administrator returned code (-1) Can't contact LDAP server[1555805]
Fiber exit Tx=222 bytes Rx=605 bytes, status=-2[1555805] Session End
Da questi debug, il formato del DN di accesso LDAP non è corretto o la password non è corretta, quindi verificare entrambi per risolvere il problema.