In diesem Dokument wird die Konfiguration der Cisco Adaptive Security Appliance (ASA) zur Verwendung eines LDAP-Servers zur Authentifizierung von WebVPN-Benutzern veranschaulicht. Der LDAP-Server in diesem Beispiel ist Microsoft Active Directory. Diese Konfiguration wird mit dem Adaptive Security Device Manager (ASDM) 6.0(2) auf einer ASA durchgeführt, auf der die Softwareversion 8.0(2) ausgeführt wird.
Hinweis: In diesem Beispiel ist die LDAP-Authentifizierung (Lightweight Directory Access Protocol) für WebVPN-Benutzer konfiguriert. Diese Konfiguration kann jedoch auch für alle anderen Arten von RAS-Clients verwendet werden. Weisen Sie die AAA-Servergruppe einfach dem gewünschten Verbindungsprofil (Tunnelgruppe) zu, wie dargestellt.
Eine grundlegende VPN-Konfiguration ist erforderlich. In diesem Beispiel wird WebVPN verwendet.
In diesem Beispiel führt die ASA Prüfungen mit einem LDAP-Server durch, um die Identität der von ihm authentifizierten Benutzer zu überprüfen. Dieser Prozess funktioniert nicht wie ein herkömmlicher RADIUS (Remote Authentication Dial-In User Service) oder TACACS+ (Terminal Access Controller Access-Control System Plus). In diesen Schritten wird auf einer allgemeinen Ebene erläutert, wie die ASA einen LDAP-Server verwendet, um Benutzeranmeldeinformationen zu überprüfen.
Der Benutzer stellt eine Verbindung mit der ASA her.
Die ASA ist so konfiguriert, dass dieser Benutzer über den Microsoft Active Directory (AD)-/LDAP-Server authentifiziert wird.
Die ASA bindet sich mit den auf der ASA konfigurierten Anmeldeinformationen (in diesem Fall Admin) an den LDAP-Server an und sucht den angegebenen Benutzernamen. Der Administrator erhält auch die entsprechenden Anmeldeinformationen, um den Inhalt in Active Directory aufzulisten. Weitere Informationen zum Erteilen von LDAP-Abfrageberechtigungen finden Sie unter http://support.microsoft.com/?id=320528.
Hinweis: Die Microsoft-Website unter http://support.microsoft.com/?id=320528 wird von einem Drittanbieter verwaltet. Cisco ist für seinen Inhalt nicht verantwortlich.
Wenn der Benutzername gefunden wird, versucht die ASA, eine Bindung zum LDAP-Server mit den Anmeldeinformationen herzustellen, die der Benutzer bei der Anmeldung angegeben hat.
Wenn die zweite Bindung erfolgreich ist, wird die Authentifizierung erfolgreich durchgeführt, und die ASA verarbeitet die Attribute des Benutzers.
Hinweis: In diesem Beispiel werden die Attribute nicht für irgendetwas verwendet. Weitere Informationen dazu, wie die ASA LDAP-Attribute verarbeiten kann, finden Sie unter ASA/PIX: Mapping VPN Clients to VPN Group Policies Through LDAP Configuration Example.
In diesem Abschnitt werden die Informationen zur Konfiguration der ASA zur Verwendung eines LDAP-Servers für die Authentifizierung von WebVPN-Clients angezeigt.
Führen Sie diese Schritte im ASDM aus, um die ASA für die Kommunikation mit dem LDAP-Server und die Authentifizierung von WebVPN-Clients zu konfigurieren.
Navigieren Sie zu Configuration > Remote Access VPN > AAA Setup > AAA Server Groups.
Klicken Sie neben AAA-Servergruppen auf Hinzufügen.
Geben Sie einen Namen für die neue AAA-Servergruppe an, und wählen Sie LDAP als Protokoll aus.
Vergewissern Sie sich, dass Ihre neue Gruppe im oberen Bereich ausgewählt ist, und klicken Sie neben den Servern im Bereich "Ausgewählte Gruppe" auf Hinzufügen.
Geben Sie die Konfigurationsinformationen für den LDAP-Server an. Der folgende Screenshot zeigt eine Beispielkonfiguration. Hier finden Sie eine Erläuterung vieler Konfigurationsoptionen:
Schnittstellenname: Die Schnittstelle, die die ASA verwendet, um den LDAP-Server zu erreichen.
Servername oder IP-Adresse: Die Adresse, die die ASA verwendet, um den LDAP-Server zu erreichen.
Servertyp - Der Typ des LDAP-Servers, z. B. Microsoft
Basis-DN: Der Speicherort in der LDAP-Hierarchie, an dem der Server mit der Suche beginnen muss.
Umfang - Der Umfang der Suche in der LDAP-Hierarchie, die der Server durchführen muss.
Naming Attribute - Das Relative Distinguished Name-Attribut (oder Attribute), das einen Eintrag auf dem LDAP-Server eindeutig identifiziert. sAMAccountName ist das Standardattribut in Microsoft Active Directory. Weitere häufig verwendete Attribute sind CN, UID und userPrincipalName.
Anmelde-DN - der DN mit ausreichenden Berechtigungen, um Benutzer auf dem LDAP-Server suchen, laden und suchen zu können.
Anmeldekennwort - das Kennwort für das DN-Konto
LDAP-Attributzuordnung - Eine LDAP-Attributzuordnung, die mit Antworten von diesem Server verwendet wird. Weitere Informationen zum Konfigurieren von LDAP-Attributzuordnungen finden Sie unter ASA/PIX: Mapping VPN Clients to VPN Group Policies Through LDAP Configuration Example (Zuordnung von VPN-Clients zu VPN-Gruppenrichtlinien über LDAP-Konfigurationsbeispiel).
Nachdem Sie die AAA-Servergruppe konfiguriert und ihr einen Server hinzugefügt haben, müssen Sie Ihr Verbindungsprofil (Tunnelgruppe) konfigurieren, um die neue AAA-Konfiguration zu verwenden. Navigieren Sie zu Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles.
Wählen Sie das Verbindungsprofil (Tunnelgruppe) aus, für das Sie AAA konfigurieren möchten, und klicken Sie auf Edit.
Wählen Sie unter Authentifizierung die zuvor erstellte LDAP-Servergruppe aus.
Führen Sie diese Schritte in der Befehlszeilenschnittstelle (CLI) aus, um die ASA für die Kommunikation mit dem LDAP-Server und die Authentifizierung von WebVPN-Clients zu konfigurieren.
ciscoasa#configure terminal !--- Configure the AAA Server group. ciscoasa(config)#aaa-server LDAP_SRV_GRP protocol ldap !--- Configure the AAA Server. ciscoasa(config-aaa-server-group)#aaa-server LDAP_SRV_GRP (inside) host 192.168.1.2 ciscoasa(config-aaa-server-host)#ldap-base-dn dc=ftwsecurity, dc=cisco, dc=com ciscoasa(config-aaa-server-host)#ldap-login-dn cn=admin, cn=users, dc=ftwsecurity, dc=cisco, dc=com ciscoasa(config-aaa-server-host)#ldap-login-password ********** ciscoasa(config-aaa-server-host)#ldap-naming-attribute sAMAccountName ciscoasa(config-aaa-server-host)#ldap-scope subtree ciscoasa(config-aaa-server-host)#server-type microsoft ciscoasa(config-aaa-server-host)#exit !--- Configure the tunnel group to use the new AAA setup. ciscoasa(config)#tunnel-group ExampleGroup2 general-att ciscoasa(config-tunnel-general)#authentication-server-group LDAP_SRV_GRP
Optional. Die ASA unterstützt derzeit nicht den LDAP-Weiterleitungsmechanismus für Suchen nach mehreren Domänen (Cisco Bug-ID CSCsj32153). Die Suche nach mehreren Domänen wird mit dem AD im globalen Katalogservermodus unterstützt. Um eine Suche nach mehreren Domänen durchzuführen, richten Sie den AD-Server für den globalen Katalogserver-Modus ein. Verwenden Sie dabei in der Regel die folgenden Schlüsselparameter für den LDAP-Servereintrag in der ASA. Der Schlüssel besteht darin, ein LDAP-name-Attribut zu verwenden, das in der Verzeichnisstruktur eindeutig sein muss.
server-port 3268 ldap-scope subtree ldap-naming-attribute userPrincipalName
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Überprüfen Sie Ihre LDAP-Konfiguration mit der Schaltfläche Test im Konfigurationsbildschirm für die AAA-Servergruppen. Wenn Sie einen Benutzernamen und ein Kennwort eingeben, können Sie über diese Schaltfläche eine Testauthentifizierungsanfrage an den LDAP-Server senden.
Navigieren Sie zu Configuration > Remote Access VPN > AAA Setup > AAA Server Groups.
Wählen Sie im oberen Bereich die gewünschte AAA-Servergruppe aus.
Wählen Sie im unteren Bereich den AAA-Server aus, den Sie testen möchten.
Klicken Sie auf die Schaltfläche Test rechts im unteren Bereich.
Klicken Sie im angezeigten Fenster auf das Optionsfeld Authentifizierung, und geben Sie die Anmeldeinformationen an, mit denen Sie testen möchten. Klicken Sie abschließend auf OK.
Nachdem die ASA den LDAP-Server kontaktiert hat, wird eine Erfolgs- oder Fehlermeldung angezeigt.
Sie können den Befehl test in der Befehlszeile verwenden, um Ihre AAA-Konfiguration zu testen. Eine Testanforderung wird an den AAA-Server gesendet, und das Ergebnis wird in der Befehlszeile angezeigt.
ciscoasa#test aaa-server authentication LDAP_SRV_GRP host 192.168.1.2 username kate password cisco123 INFO: Attempting Authentication test to IP address <192.168.1.2> (timeout: 12 seconds) INFO: Authentication Successful
Wenn Sie sich nicht sicher sind, welche DN-Zeichenfolge verwendet werden soll, können Sie den Befehl dsquery auf einem Windows Active Directory-Server über eine Eingabeaufforderung ausführen, um die entsprechende DN-Zeichenfolge eines Benutzerobjekts zu überprüfen.
C:\Documents and Settings\Administrator>dsquery user -samid kate !--- Queries Active Directory for samid id "kate" "CN=Kate Austen,CN=Users,DC=ftwsecurity,DC=cisco,DC=com"
Der Befehl debug ldap 255 kann bei der Behebung von Authentifizierungsproblemen in diesem Szenario helfen. Mit diesem Befehl wird das LDAP-Debugging aktiviert, und Sie können den Prozess überwachen, den die ASA zum Herstellen einer Verbindung mit dem LDAP-Server verwendet. Diese Ausgabe zeigt die ASA-Verbindung zum LDAP-Server wie im Abschnitt Hintergrundinformationen dieses Dokuments beschrieben.
Dieses Debugging zeigt eine erfolgreiche Authentifizierung an:
ciscoasa#debug ldap 255 [7] Session Start [7] New request Session, context 0xd4b11730, reqType = 1 [7] Fiber started [7] Creating LDAP context with uri=ldap://192.168.1.2:389 [7] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful [7] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com [7] supportedLDAPVersion: value = 3 [7] supportedLDAPVersion: value = 2 [7] supportedSASLMechanisms: value = GSSAPI [7] supportedSASLMechanisms: value = GSS-SPNEGO [7] supportedSASLMechanisms: value = EXTERNAL [7] supportedSASLMechanisms: value = DIGEST-MD5 !--- The ASA connects to the LDAP server as admin to search for kate. [7] Binding as administrator [7] Performing Simple authentication for admin to 192.168.1.2 [7] LDAP Search: Base DN = [dc=ftwsecurity, dc=cisco, dc=com] Filter = [sAMAccountName=kate] Scope = [SUBTREE] [7] User DN = [CN=Kate Austen,CN=Users,DC=ftwsecurity,DC=cisco,DC=com] [7] Talking to Active Directory server 192.168.1.2 [7] Reading password policy for kate, dn:CN=Kate Austen,CN=Users, DC=ftwsecurity,DC=cisco,DC=com [7] Read bad password count 1 !--- The ASA binds to the LDAP server as kate to test the password. [7] Binding as user [7] Performing Simple authentication for kate to 192.168.1.2 [7] Checking password policy for user kate [7] Binding as administrator [7] Performing Simple authentication for admin to 192.168.1.2 [7] Authentication successful for kate to 192.168.1.2 [7] Retrieving user attributes from server 192.168.1.2 [7] Retrieved Attributes: [7] objectClass: value = top [7] objectClass: value = person [7] objectClass: value = organizationalPerson [7] objectClass: value = user [7] cn: value = Kate Austen [7] sn: value = Austen [7] givenName: value = Kate [7] distinguishedName: value = CN=Kate Austen,CN=Users,DC=ftwsecurity, DC=cisco,DC=com [7] instanceType: value = 4 [7] whenCreated: value = 20070815155224.0Z [7] whenChanged: value = 20070815195813.0Z [7] displayName: value = Kate Austen [7] uSNCreated: value = 16430 [7] memberOf: value = CN=Castaways,CN=Users,DC=ftwsecurity,DC=cisco,DC=com [7] memberOf: value = CN=Employees,CN=Users,DC=ftwsecurity,DC=cisco,DC=com [7] uSNChanged: value = 20500 [7] name: value = Kate Austen [7] objectGUID: value = ..z...yC.q0..... [7] userAccountControl: value = 66048 [7] badPwdCount: value = 1 [7] codePage: value = 0 [7] countryCode: value = 0 [7] badPasswordTime: value = 128321799570937500 [7] lastLogoff: value = 0 [7] lastLogon: value = 128321798130468750 [7] pwdLastSet: value = 128316667442656250 [7] primaryGroupID: value = 513 [7] objectSid: value = ............Q..p..*.p?E.Z... [7] accountExpires: value = 9223372036854775807 [7] logonCount: value = 0 [7] sAMAccountName: value = kate [7] sAMAccountType: value = 805306368 [7] userPrincipalName: value = kate@ftwsecurity.cisco.com [7] objectCategory: value = CN=Person,CN=Schema,CN=Configuration, DC=ftwsecurity,DC=cisco,DC=com [7] dSCorePropagationData: value = 20070815195237.0Z [7] dSCorePropagationData: value = 20070815195237.0Z [7] dSCorePropagationData: value = 20070815195237.0Z [7] dSCorePropagationData: value = 16010108151056.0Z [7] Fiber exit Tx=685 bytes Rx=2690 bytes, status=1 [7] Session End
Dieses Debugging zeigt eine Authentifizierung an, die aufgrund eines falschen Kennworts fehlschlägt:
ciscoasa#debug ldap 255 [8] Session Start [8] New request Session, context 0xd4b11730, reqType = 1 [8] Fiber started [8] Creating LDAP context with uri=ldap://192.168.1.2:389 [8] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful [8] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com [8] supportedLDAPVersion: value = 3 [8] supportedLDAPVersion: value = 2 [8] supportedSASLMechanisms: value = GSSAPI [8] supportedSASLMechanisms: value = GSS-SPNEGO [8] supportedSASLMechanisms: value = EXTERNAL [8] supportedSASLMechanisms: value = DIGEST-MD5 !--- The ASA connects to the LDAP server as admin to search for kate. [8] Binding as administrator [8] Performing Simple authentication for admin to 192.168.1.2 [8] LDAP Search: Base DN = [dc=ftwsecurity, dc=cisco, dc=com] Filter = [sAMAccountName=kate] Scope = [SUBTREE] [8] User DN = [CN=Kate Austen,CN=Users,DC=ftwsecurity,DC=cisco,DC=com] [8] Talking to Active Directory server 192.168.1.2 [8] Reading password policy for kate, dn:CN=Kate Austen,CN=Users, DC=ftwsecurity,DC=cisco,DC=com [8] Read bad password count 1 !--- The ASA attempts to bind as kate, but the password is incorrect. [8] Binding as user [8] Performing Simple authentication for kate to 192.168.1.2 [8] Simple authentication for kate returned code (49) Invalid credentials [8] Binding as administrator [8] Performing Simple authentication for admin to 192.168.1.2 [8] Reading bad password count for kate, dn: CN=Kate Austen,CN=Users, DC=ftwsecurity,DC=cisco,DC=com [8] Received badPwdCount=1 for user kate [8] badPwdCount=1 before, badPwdCount=1 after for kate [8] now: Tue, 28 Aug 2007 15:33:05 GMT, lastset: Wed, 15 Aug 2007 15:52:24 GMT, delta=1122041, maxage=3710851 secs [8] Invalid password for kate [8] Fiber exit Tx=788 bytes Rx=2904 bytes, status=-1 [8] Session End
Dieses Debugging zeigt eine fehlgeschlagene Authentifizierung, da der Benutzer nicht auf dem LDAP-Server gefunden wurde:
ciscoasa#debug ldap 255 [9] Session Start [9] New request Session, context 0xd4b11730, reqType = 1 [9] Fiber started [9] Creating LDAP context with uri=ldap://192.168.1.2:389 [9] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful [9] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com [9] supportedLDAPVersion: value = 3 [9] supportedLDAPVersion: value = 2 [9] supportedSASLMechanisms: value = GSSAPI [9] supportedSASLMechanisms: value = GSS-SPNEGO [9] supportedSASLMechanisms: value = EXTERNAL [9] supportedSASLMechanisms: value = DIGEST-MD5 !--- The user mikhail is not found. [9] Binding as administrator [9] Performing Simple authentication for admin to 192.168.1.2 [9] LDAP Search: Base DN = [dc=ftwsecurity, dc=cisco, dc=com] Filter = [sAMAccountName=mikhail] Scope = [SUBTREE] [9] Requested attributes not found [9] Fiber exit Tx=256 bytes Rx=607 bytes, status=-1 [9] Session End
Die Fehlerbeseitigung zeigt diese Fehlermeldung an, wenn die Verbindung zwischen der ASA und dem LDAP-Authentifizierungsserver nicht funktioniert:
ciscoasa# debug webvpn 255 INFO: debug webvpn enabled at level 255. ciscoasa# webvpn_portal.c:ewaFormSubmit_webvpn_login[2162] ewaFormSubmit_webvpn_login: tgCookie = NULL ewaFormSubmit_webvpn_login: cookie = 1 ewaFormSubmit_webvpn_login: tgCookieSet = 0 ewaFormSubmit_webvpn_login: tgroup = NULL ....not resuming [2587] webvpn_portal.c:http_webvpn_kill_cookie[787] webvpn_auth.c:http_webvpn_pre_authentication[2327] WebVPN: calling AAA with ewsContext (-847917520) and nh (-851696992)! webvpn_auth.c:webvpn_add_auth_handle[5118] WebVPN: started user authentication... webvpn_auth.c:webvpn_aaa_callback[5158] WebVPN: AAA status = (ERROR) webvpn_portal.c:ewaFormSubmit_webvpn_login[2162] ewaFormSubmit_webvpn_login: tgCookie = NULL ewaFormSubmit_webvpn_login: cookie = 1 ewaFormSubmit_webvpn_login: tgCookieSet = 0 ewaFormSubmit_webvpn_login: tgroup = NULL ....resuming [2564] webvpn_auth.c:http_webvpn_post_authentication[1506] WebVPN: user: (utrcd01) auth error.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
28-Aug-2007 |
Erstveröffentlichung |