Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Authentifizierungsablauf

LDAP-Attributzuordnungsablauf erklärt

Konfigurieren

Konfigurationsschritte bei FDM

Konfigurationsschritte für die LDAP-Attributzuordnung

Überprüfung

Fehlerbehebung

Zugehörige Informationen

Einleitung

In diesem Dokument wird das Verfahren zur Verwendung eines Lightweight Directory Access Protocol (LDAP)-Servers beschrieben, um Remote Access VPN-Benutzer (RA VPN) zu authentifizieren und zu autorisieren und ihnen je nach ihrer Gruppenmitgliedschaft auf dem LDAP-Server einen anderen Netzwerkzugriff zu gewähren.

Voraussetzungen

Anforderungen

- Grundkenntnisse der RA VPN-Konfiguration auf dem Firewall Device Manager (FDM)

- Grundkenntnisse der LDAP-Serverkonfiguration für FDM

- Grundkenntnisse von REpresentational State Transfer (REST) Application Program Interface (API) und FDM Rest API Explorer

- Cisco FTD Version 6.5.0 oder neuer, von FDM verwaltet

Verwendete Komponenten

Folgende Hardware- und Softwareversionen der Anwendung/Geräte wurden verwendet:

- Cisco FTD Version 6.5.0, Build 115

- Cisco AnyConnect Version 4.10

- Microsoft Active Directory (AD)-Server

- Postman oder jedes andere API-Entwicklungstool

Hinweis: Konfigurationsunterstützung für Microsoft AD Server und das Postmal-Tool wird von Cisco nicht bereitgestellt.

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Authentifizierungsablauf

LDAP-Attributzuordnungsablauf erklärt

1. Der Benutzer initiiert eine VPN-Verbindung für den Remote-Zugriff mit dem FTD und gibt einen Benutzernamen und ein Kennwort für sein Active Directory (AD)-Konto an.

2. Der FTD sendet eine LDAP-Anfrage an den AD-Server über Port 389 oder 636 (LDAP über SSL)

3. Das AD antwortet mit allen dem Benutzer zugeordneten Attributen auf das FTD.

4. Die FTD gleicht die empfangenen Attributwerte mit der LDAP-Attributzuordnung ab, die auf der FTD erstellt wurde. Dies ist der Autorisierungsprozess.

5. Der Benutzer stellt dann eine Verbindung her und übernimmt die Einstellungen der Gruppenrichtlinie, die mit dem memberOf-Attribut in der LDAP-Attributzuordnung übereinstimmt.

Für die Zwecke dieses Dokuments erfolgt die Autorisierung von AnyConnect-Benutzern mithilfe des memberOf LDAP-Attributs.

- Das memberOf-Attribut des LDAP-Servers für jeden Benutzer wird einer ldapValue-Entität im FTD zugeordnet. Wenn der Benutzer zur entsprechenden AD-Gruppe gehört, wird die diesem LDAP-Wert zugeordnete Gruppenrichtlinie vom Benutzer geerbt.

- Wenn der memberOf-Attributwert für einen Benutzer keiner der ldapValue-Entitäten im FTD entspricht, wird die Standardgruppenrichtlinie für das ausgewählte Verbindungsprofil vererbt. In diesem Beispiel wird NOACCESS-Gruppenrichtlinie auf geerbt.

Konfigurieren

Die LDAP-Attributzuordnung für das von FDM verwaltete FTD wird mit der REST-API konfiguriert.

Konfigurationsschritte bei FDM

Schritt 1: Überprüfen Sie, ob das Gerät für die Smart Licensing-Funktion registriert ist.

Schritt 2: Überprüfen Sie, ob AnyConnect-Lizenzen für den FDM aktiviert sind.

Schritt 3: Überprüfen Sie, ob im Token die exportgesteuerten Funktionen aktiviert sind.

Hinweis: In diesem Dokument wird davon ausgegangen, dass RA VPN bereits konfiguriert ist. Im folgenden Dokument finden Sie weitere Informationen zur RAVPN-Konfiguration auf FTD-Geräten, die von FDM verwaltet werden.

Schritt 4: Navigieren Sie zu Remotezugriff-VPN > Gruppenrichtlinien.

Schritt 5: Navigieren Sie zu Gruppenrichtlinien. Klicken Sie auf '+', um die verschiedenen Gruppenrichtlinien für jede AD-Gruppe zu konfigurieren. In diesem Beispiel werden die Gruppenrichtlinien Finance-Group-Policy, HR-Group-Policy und IT-Group-Policy für den Zugriff auf verschiedene Subnetze konfiguriert.

Die Finanzgruppenrichtlinie hat folgende Einstellungen:

firepower# show run group-policy Finance-Group-Policy

group-policy Finance-Group-Policy internal

group-policy Finance-Group-Policy attributes

banner value You can access Finance resource

dhcp-network-scope none

vpn-simultaneous-logins 3

vpn-idle-timeout 30

vpn-idle-timeout alert-interval 1

vpn-session-timeout none

vpn-session-timeout alert-interval 1

vpn-filter none

vpn-tunnel-protocol ssl-client

split-tunnel-policy tunnelspecified

ipv6-split-tunnel-policy tunnelall

split-tunnel-network-list value Finance-Group-Policy|splitAcl

split-dns none

split-tunnel-all-dns disable

client-bypass-protocol disable

msie-proxy method no-modify

vlan none

address-pools none

ipv6-address-pools none

webvpn

<output omitted>

Ebenso hat HR-Group-Policy folgende Einstellungen:

firepower# show run group-policy HR-Group-Policy

group-policy HR-Group-Policy internal

group-policy HR-Group-Policy attributes

banner value You can access Finance resource

dhcp-network-scope none

vpn-simultaneous-logins 3

vpn-idle-timeout 30

vpn-idle-timeout alert-interval 1

vpn-session-timeout none

vpn-session-timeout alert-interval 1

vpn-filter none

vpn-tunnel-protocol ssl-client

split-tunnel-policy tunnelspecified

ipv6-split-tunnel-policy tunnelall

split-tunnel-network-list value HR-Group-Policy|splitAcl

split-dns none

split-tunnel-all-dns disable

client-bypass-protocol disable

msie-proxy method no-modify

vlan none

address-pools none

ipv6-address-pools none

webvpn

<output omitted>

Schließlich gibt es noch die folgenden Einstellungen für IT-Gruppenrichtlinien:

firepower# show run group-policy IT-Group-Policy

group-policy IT-Group-Policy internal

group-policy IT-Group-Policy attributes

banner value You can access Finance resource

dhcp-network-scope none

vpn-simultaneous-logins 3

vpn-idle-timeout 30

vpn-idle-timeout alert-interval 1

vpn-session-timeout none

vpn-session-timeout alert-interval 1

vpn-filter none

vpn-tunnel-protocol ssl-client

split-tunnel-policy tunnelspecified

ipv6-split-tunnel-policy tunnelall

split-tunnel-network-list value IT-Group-Policy|splitAcl

split-dns none

split-tunnel-all-dns disable

client-bypass-protocol disable

msie-proxy method no-modify

vlan none

address-pools none

ipv6-address-pools none

webvpn

<output omitted>

Schritt 6: Erstellen Sie einen Gruppenrichtlinien-NOACCESS, navigieren Sie zu Session Settings, und deaktivieren Sie die Option Simultane Anmeldung pro Benutzer. Damit wird der Wert vpn-simultan-logins auf 0 gesetzt.

Der Wert vpn-simultan-login in der Gruppenrichtlinie, wenn er auf 0 gesetzt ist, beendet die VPN-Verbindung des Benutzers sofort.  Dieser Mechanismus wird verwendet, um zu verhindern, dass Benutzer, die zu einer anderen als den konfigurierten AD-Benutzergruppe gehören (in diesem Beispiel Finanzen, Personalverwaltung oder IT), erfolgreiche Verbindungen zum FTD herstellen und auf sichere Ressourcen zugreifen, die nur für die zulässigen Benutzergruppenkonten verfügbar sind.

Benutzer, die zu richtigen AD-Benutzergruppen gehören, stimmen mit der LDAP-Attributzuordnung im FTD überein und erben die zugeordneten Gruppenrichtlinien, während Benutzer, die keiner der zulässigen Gruppen angehören, dann die Standardgruppenrichtlinie des Verbindungsprofils erben, in diesem Fall NOACCESS.

Die NOACCESS-Gruppenrichtlinie hat die folgenden Einstellungen:

firepower# show run group-policy NOACCESS

group-policy NOACCESS internal

group-policy NOACCESS attributes

dhcp-network-scope none

vpn-simultaneous-logins 0

vpn-idle-timeout 30

vpn-idle-timeout alert-interval 1

vpn-session-timeout none

vpn-session-timeout alert-interval 1

vpn-filter none

vpn-tunnel-protocol ssl-client

split-tunnel-policy tunnelall

ipv6-split-tunnel-policy tunnelall

split-dns none

split-tunnel-all-dns disable

client-bypass-protocol disable

msie-proxy method no-modify

vlan none

address-pools none

ipv6-address-pools none

webvpn

anyconnect ssl dtls none

anyconnect mtu 1406

anyconnect ssl keepalive 20

anyconnect ssl rekey time 4

anyconnect ssl rekey method new-tunnel

anyconnect dpd-interval client 30

anyconnect dpd-interval gateway 30

anyconnect ssl compression none

anyconnect dtls compression none

anyconnect profiles none

anyconnect ssl df-bit-ignore disable

always-on-vpn profile-setting

Schritt 7. Navigieren Sie zu Verbindungsprofile, und erstellen Sie ein Verbindungsprofil. In diesem Beispiel lautet der Profilname "Remote-Access-LDAP".  Wählen Sie Primary Identity Source AAA Only aus, und erstellen Sie einen neuen Authentifizierungsservertyp AD.

Geben Sie die Informationen des AD-Servers ein:

- Verzeichnisbenutzername

- Verzeichniskennwort

- Basis-DN

- AD-Hauptdomäne

- Hostname/IP-Adresse

- Anschluss

- Verschlüsselungstyp

Klicken Sie auf Weiter, und wählen Sie NOACCESS als Standardgruppenrichtlinie für dieses Verbindungsprofil aus.

Alle Änderungen speichern. Das Verbindungsprofil "Remote-Access-LDAP" wird nun unter der RA VPN-Konfiguration angezeigt.

Konfigurationsschritte für die LDAP-Attributzuordnung

Schritt 1: Starten Sie den API Explorer des FTD.

Der API Explorer enthält die gesamte Liste der API, die auf dem FTD verfügbar ist. Navigieren Sie zu https://<FTD Management IP>/api-explorer

Blättern Sie nach unten zum Abschnitt LDAPAttributeMap, und klicken Sie darauf, um alle unterstützten Optionen anzuzeigen.

Hinweis: In diesem Beispiel verwenden wir Postman als API-Tool zum Konfigurieren der LDAP-Attributzuordnung.

Schritt 2:Hinzufügen einer Postman-Sammlung für die LDAP-Autorisierung.

Geben Sie einen Namen für diese Sammlung ein.

Bearbeiten Sie die Autorisierung Registerkarte und Auswahl Der Typ OAuth 2.0

Schritt 3: Navigieren Sie zu Datei > Einstellungen, und deaktivieren Sie die SSL-Zertifikatsüberprüfung, um einen SSL-Handshake-Fehler beim Senden von API-Anfragen an den FTD zu vermeiden. Dies geschieht, wenn die FTD ein selbstsigniertes Zertifikat verwendet.

Alternativ dazu kann das vom FTD verwendete Zertifikat im Zertifikatabschnitt der Einstellungen als Zertifizierungsstellenzertifikat hinzugefügt werden.

Schritt 4: Fügen Sie eine neue POST-Anforderungsauthentifizierung hinzu, um eine Anmelde-POST-Anforderung an das FTD zu erstellen, damit das Token zur Autorisierung von POST-/GET-Anforderungen verwendet werden kann.

Alle Postman-Anforderungen für diese Sammlung müssen die folgenden Elemente enthalten:

Basis-URL: https://<FTD Management IP>/api/fdm/neueste/

Hängen Sie in der Anforderungs-URL die Basis-URL mit den entsprechenden Objekten an, die hinzugefügt oder geändert werden müssen.

Hier wird eine Authentifizierungsanforderung für ein Token erstellt, die von https://<FTD Management IP>/api-explorer verwiesen wird. Dies muss auf andere Objekte überprüft werden und die notwendigen Änderungen müssen für diese vorgenommen werden.

Navigieren Sie zu Headers, und klicken Sie auf Manage Presets (Voreinstellungen verwalten).

Erstellen Sie ein neues Voreingestelltes Header-LDAP, und fügen Sie das folgende Schlüssel-Wert-Paar hinzu:

Inhaltstyp

application/json

Akzeptieren

application/json

Navigieren Sie für alle anderen Anforderungen zu den entsprechenden Header-Registerkarten, und wählen Sie diesen Preset Header-Wert aus: Header-LDAP für die REST-API-Anforderungen, json als primären Datentyp zu verwenden.

Der Hauptteil der POST-Anforderung zum Abrufen des Tokens muss Folgendes enthalten:

Typ

raw - JSON (Anwendung/json)

Gewährungstyp

Kennwort

Benutzername

Admin-Benutzername zur Anmeldung beim FTD

Kennwort

Dem Administrator-Benutzerkonto zugeordnetes Kennwort

{

"grant_type": "password",

"username": "admin",

"password": "<enter the password>"

}

Wenn Sie auf Senden klicken, enthält der Text der Antwort das Zugriffstoken, das verwendet wird, um PUT-/GET-/POST-Anfragen an den FTD zu senden.

{

"access_token": "eyJhbGciOiJIUzI1[...output omitted...]dkrJakCXvP4Lyzdr-xap0",

"expires_in": 1800,

"token_type": "Bearer",

"refresh_token":"eyJhbGciOiJIUzI1[...output omitted...]dkrJakCXvP4Lyzdr-xap0",

"refresh_expires_in": 2400

}

Dieses Token wird dann verwendet, um alle nachfolgenden Anforderungen zu autorisieren.

Navigieren Sie zur Registerkarte "Autorisierung" für jede neue Anforderung, und wählen Sie die nächste aus:

Typ

OAuth 2.0

Token

Das Zugriffstoken, das beim Ausführen der POST-Anforderung für die Anmeldung empfangen wurde

Schritt 5: Fügen Sie eine neue GET-Anforderung Get Group-Policies hinzu, um den Gruppenrichtlinienstatus und die Gruppenrichtlinieneinstellungen abzurufen. Sammeln Sie den Namen und die ID für jede konfigurierte Gruppenrichtlinie (in diesem Beispiel: Finance-Group-Policy, HR-Group-Policy und IT-Group-Policy), die Sie im nächsten Schritt verwenden möchten.

Die URL zum Abrufen der konfigurierten Gruppenrichtlinien lautet: https://<FTD-Management-IP>/api/fdm/latest/object/ravpngrouppolicies

Im nächsten Beispiel wird Group-Policy Finance-Group-Policy hervorgehoben.

Schritt 6: Fügen Sie eine neue POST-Anforderung hinzu. Erstellen Sie eine LDAP-Attributzuordnung, um die LDAP-Attributzuordnung zu erstellen. In diesem Dokument wird das Modell LdapAttributeMapping verwendet. Andere Modelle verfügen ebenfalls über ähnliche Operationen und Methoden zum Erstellen einer Attributzuordnung. Beispiele für diese Modelle sind im api-explorer verfügbar, wie bereits in diesem Dokument erwähnt.

Die URL für den POST-Test der LDAP-Attributzuordnung lautet: https://<FTD-Management-IP>/api/fdm/latest/object/ldapattributemaps

Der Text der POST-Anforderung muss Folgendes enthalten:

name

Name für LDAP-Attributzuordnung

typ

ldapattrimapping

LDAP-Name

MitgliedVon

ciscoName

GRUPPENRICHTLINIE

ldapWert

memberOf-Wert für Benutzer von AD

CiscoWert

Gruppenrichtlinienname für jede Benutzergruppe in FDM

Der Text der POST-Anforderung enthält die LDAP-Attributzuordnungsinformationen, die eine bestimmte Gruppenrichtlinie einer AD-Gruppe basierend auf dem memberOf-Wert zuordnen:

{

"name": "Attribute-Map",

"ldapAttributeMaps":

[

{

"ldapName": "memberOf",

"ciscoName": "GROUP_POLICY",

"valueMappings":

[

{

"ldapValue": "CN=Finance-Group,CN=Users,DC=cisco,DC=com",

"ciscoValue": "Finance-Group-Policy",

"type": "ldaptociscovaluemapping"

},

{

"ldapValue": "CN=HR-Group,CN=Users,DC=cisco,DC=com",

"ciscoValue": "HR-Group-Policy",

"type": "ldaptociscovaluemapping"

},

{

"ldapValue": "CN=IT-Group,CN=Users,DC=cisco,DC=com",

"ciscoValue": "IT-Group-Policy",

"type": "ldaptociscovaluemapping"

}

],

"type": "ldapattributemapping"

}

],

"type": "ldapattributemap"

}

Hinweis: Das memberOf-Feld kann mit dem Befehl dsquery vom AD-Server abgerufen oder aus den LDAP-Debugs auf dem FTD abgerufen werden. Suchen Sie in den Debug-Protokollen nach memberOf-Wert:.

Die Antwort auf diese POST-Anforderung sieht ähnlich aus wie die nächste Ausgabe:

Schritt 7. Fügen Sie eine neue GET-Anforderung hinzu, um die aktuelle AD-Bereichskonfiguration für FDM abzurufen.

Die URL zum Abrufen der aktuellen AD-Bereichskonfiguration lautet: https://<FTD Management IP>/api/fdm/latest/object/realms

Beachten Sie, dass der Wert für key ldapAttributeMap null ist.

Schritt 8: Erstellen Sie eine neue PUT-Anforderung, um den AD-Bereich zu bearbeiten. Kopieren Sie die GET-Antwortausgabe aus dem vorherigen Schritt, und fügen Sie sie dem Hauptteil dieser neuen PUT-Anforderung hinzu. Dieser Schritt kann verwendet werden, um Änderungen an der aktuellen AD Realm-Konfiguration vorzunehmen, z. B.: Ändern des Kennworts, der IP-Adresse oder Hinzufügen eines neuen Werts für einen beliebigen Schlüssel wie ldapAttributeMap in diesem Fall.

Hinweis: Es ist wichtig, den Inhalt der Elementliste zu kopieren, anstatt die gesamte GET-Antwortausgabe. Die Anforderungs-URL für die PUT-Anforderung muss an die Element-ID des Objekts angehängt werden, für das Änderungen vorgenommen werden. In diesem Beispiel lautet der Wert: bf50a8ab-9819-11ea-ba77-d32ecc224295

Die URL zum Bearbeiten der aktuellen AD-Bereichskonfiguration lautet: https://<FTD-Management-IP>/api/fdm/latest/object/realms/<Bereichskennung>

Der Text der PUT-Anforderung muss Folgendes enthalten:

version

Version, die aus der Antwort auf die vorherige GET-Anforderung ermittelt wurde

ID

ID, die aus der Antwort der vorherigen GET-Anforderung ermittelt wurde.

ldapAttributeMap

ldap-id aus Antwort auf Anforderung LDAP-Attributzuordnung erstellen

Der Text für die Konfiguration in diesem Beispiel lautet:

{

"version": "ks3p4he5ixiyy",

"name": "LDAP-AD",

"directoryConfigurations": [

{

"hostname": "<IP Address>",

"port": 389,

"encryptionProtocol": "NONE",

"encryptionCert": null,

"type": "directoryconfiguration"

}

],

"enabled": true,

"systemDefined": false,

"realmId": 3,

"dirUsername": "administrator@example.com",

"dirPassword": "*********",

"baseDN": "dc=example, dc=com",

"ldapAttributeMap" :

{

"id": "b2147c0e-984a-11ea-ba77-5b2ed5c4ab8c",

"type": "ldapattributemap"

},

"adPrimaryDomain": "example.com",

"id": "bf50a8ab-9819-11ea-ba77-d32ecc224295",

"type": "activedirectoryrealm",

"links": {

"self": "https://

/api/fdm/latest/object/realms/bf50a8ab-9819-11ea-ba77-d32ecc224295"

}

}

Überprüfen Sie, ob die ldapAttributeMap-ID mit dem Antworttext für diese Anforderung übereinstimmt.

(Optional) Die LDAP-Attributzuordnung kann mit PUT-Anforderungen geändert werden. Erstellen Sie eine neue PUT-Anforderung Edit Attribute-Map und nehmen Sie alle Änderungen vor, z. B. den Namen der Attribute-Map oder memberOf-Wert. T

Im nächsten Beispiel wurde der Wert von ldapvalue für alle drei Gruppen von CN=Users in CN=UserGroup geändert.

(Optional) Um eine vorhandene LDAP-Attributzuordnung zu löschen, erstellen Sie eine DELETE-Anforderung, Attributzuordnung löschen. Schließen Sie die Map-ID der vorherigen HTTP-Antwort ein, und fügen Sie die Basis-URL der Löschanforderung an.

Hinweis: Wenn das memberOf-Attribut Leerzeichen enthält, muss es URL-codiert sein, damit der Webserver es analysieren kann. Andernfalls wird eine 400 Bad Request HTTP Response empfangen. Bei einer Zeichenfolge mit Leerzeichen kann entweder "%20" oder "+" verwendet werden, um diesen Fehler zu vermeiden.

Schritt 9. Navigieren Sie zurück zu FDM, wählen Sie das Bereitstellungssymbol aus, und klicken Sie auf Jetzt bereitstellen.

Überprüfung

Die Änderungen an der Bereitstellung können im Abschnitt Bereitstellungsverlauf des FDM überprüft werden.

Um diese Konfiguration zu testen, geben Sie die AD-Anmeldeinformationen in den Feldern Benutzername und Kennwort ein.

Wenn ein Benutzer, der zur AD-Gruppe Finance-Group gehört, versucht, sich anzumelden, ist der Versuch wie erwartet erfolgreich.

Wenn ein Benutzer, der zu der Verwaltungsgruppe in AD gehört, versucht, eine Verbindung mit dem Verbindungsprofil-RAS-LDAP herzustellen, da keine LDAP-Attributzuordnung eine Übereinstimmung zurückgegeben hat, ist die von diesem Benutzer auf dem FTD geerbte Gruppenrichtlinie NOACCESS, die den Wert 0 für die gleichzeitige VPN-Anmeldung hat. Daher schlägt der Anmeldeversuch für diesen Benutzer fehl.

Die Konfiguration kann mit den nächsten Befehlen zum Anzeigen über die FTD-CLI überprüft werden:

firepower# show vpn-sessiondb anyconnect

Session Type: AnyConnect

Username     : Finance-User           Index        : 26

Assigned IP  : 192.168.10.1           Public IP    : 10.1.1.1

Protocol     : AnyConnect-Parent SSL-Tunnel

License      : AnyConnect Premium

Encryption   : AnyConnect-Parent: (1)none  SSL-Tunnel: (1)AES-GCM-256

Hashing      : AnyConnect-Parent: (1)none  SSL-Tunnel: (1)SHA384

Bytes Tx     : 22491197               Bytes Rx     : 14392

Group Policy : Finance-Group-Policy   Tunnel Group : Remote-Access-LDAP

Login Time   : 11:14:43 UTC Sat Oct 12 2019

Duration     : 0h:02m:09s

Inactivity   : 0h:00m:00s

VLAN Mapping : N/A                    VLAN         : none

Audt Sess ID : 000000000001a0005da1b5a3

Security Grp : none                   Tunnel Zone  : 0

firepower# show run aaa-server LDAP-AD

aaa-server LDAP-AD protocol ldap

realm-id 3

aaa-server AD1 host 192.168.1.1

server-port 389

ldap-base-dn dc=example, dc=com

ldap-scope subtree

ldap-login-password *****

ldap-login-dn Administrator@example.com

server-type auto-detect

ldap-attribute-map Attribute-Map

firepower# show run ldap attribute-map

ldap attribute-map Attribute-Map

map-name  memberOf Group-Policy

map-value memberOf CN=Finance-Group,CN=Users,DC=cisco,DC=com Finance-Group-Policy

map-value memberOf CN=HR-Group,CN=Users,DC=cisco,DC=com HR-Group-Policy

map-value memberOf CN=IT-Group,CN=Users,DC=cisco,DC=com IT-Group-Policy

Fehlerbehebung

Eines der häufigsten Probleme bei der Konfiguration der REST-API ist die gelegentliche Erneuerung des Trägertokens. Die Ablaufzeit des Tokens wird in der Antwort für die Authentifizierungsanforderung angegeben. Wenn diese Zeit abläuft, kann ein zusätzliches Aktualisierungstoken für einen längeren Zeitraum verwendet werden. Wenn das Aktualisierungstoken ebenfalls abläuft, muss eine neue Auth-Anforderung gesendet werden, um ein neues Zugriffstoken abzurufen.

Hinweis: Lesen Sie Wichtige Informationen zu Debug-Befehlen, bevor Sie Debug-Befehle verwenden.

Sie können verschiedene Debugstufen festlegen. Standardmäßig wird Ebene 1 verwendet. Wenn Sie die Debug-Ebene ändern, kann die Ausführlichkeit der Debugs zunehmen. Gehen Sie dabei besonders in Produktionsumgebungen vorsichtig vor.

Die folgenden Fehlerbehebungen in der FTD-CLI sind hilfreich bei der Behebung von Problemen mit der LDAP-Attributzuordnung.

debug ldap 255

debug webvpn condition user <username>

debug webvpn anyconnect 255

debug aaa common 127

In diesem Beispiel wurden die nächsten Debugs gesammelt, um die Informationen zu veranschaulichen, die vom AD-Server empfangen wurden, wenn die Testbenutzer vor dem Herstellen der Verbindung eine Verbindung hergestellt haben.

LDAP-Debugging für Finance-User:

[48] Session Start

[48] New request Session, context 0x00002b0482c2d8e0, reqType = Authentication

[48] Fiber started

[48] Creating LDAP context with uri=ldap://192.168.1.1:389

[48] Connect to LDAP server: ldap://192.168.1.1:389, status = Successful

[48] supportedLDAPVersion: value = 3

[48] supportedLDAPVersion: value = 2

[48] LDAP server192.168.1.1 is Active directory

[48] Binding as Administrator@cisco.com

[48] Performing Simple authentication for Administrator@example.com to192.168.1.1

[48] LDAP Search:

Base DN = [dc=cisco, dc=com]

Filter  = [sAMAccountName=Finance-User]

Scope   = [SUBTREE]

[48] User DN = [CN=Finance-User,OU=Finance,OU=VPN,DC=cisco,DC=com]

[48] Talking to Active Directory server 192.168.1.1

[48] Reading password policy for Finance-User, dn:CN=Finance-User,OU=Finance,OU=VPN,DC=cisco,DC=com

[48] Read bad password count 0

[48] Binding as Finance-User

[48] Performing Simple authentication for Finance-User to 192.168.1.1

[48] Processing LDAP response for user Finance-User

[48] Message (Finance-User):

[48] Authentication successful for Finance-User to 192.168.1.1

[48] Retrieved User Attributes:

[48]    objectClass: value = top

[48]    objectClass: value = person

[48]    objectClass: value = organizationalPerson

[48]    objectClass: value = user

[48]    cn: value = Finance-User

[48]    givenName: value = Finance-User

[48]    distinguishedName: value = CN=Finance-User,OU=Finance,OU=VPN,DC=cisco,DC=com

[48]    instanceType: value = 4

[48]    whenCreated: value = 20191011094454.0Z

[48]    whenChanged: value = 20191012080802.0Z

[48]    displayName: value = Finance-User

[48]    uSNCreated: value = 16036

[48]    memberOf: value = CN=Finance-Group,CN=Users,DC=cisco,DC=com

[48]            mapped to Group-Policy: value = Finance-Group-Policy

[48]            mapped to LDAP-Class: value = Finance-Group-Policy

[48]    memberOf: value = CN=Users,CN=Builtin,DC=cisco,DC=com

[48]            mapped to Group-Policy: value = CN=Users,CN=Builtin,DC=cisco,DC=com

[48]            mapped to LDAP-Class: value = CN=Users,CN=Builtin,DC=cisco,DC=com

[48]    uSNChanged: value = 16178

[48]    name: value = Finance-User

[48]    objectGUID: value = .J.2...N....X.OQ

[48]    userAccountControl: value = 512

[48]    badPwdCount: value = 0

[48]    codePage: value = 0

[48]    countryCode: value = 0

[48]    badPasswordTime: value = 0

[48]    lastLogoff: value = 0

[48]    lastLogon: value = 0

[48]    pwdLastSet: value = 132152606948243269

[48]    primaryGroupID: value = 513

[48]    objectSid: value = .............B...a5/ID.dT...

[48]    accountExpires: value = 9223372036854775807

[48]    logonCount: value = 0

[48]    sAMAccountName: value = Finance-User

[48]    sAMAccountType: value = 805306368

[48]    userPrincipalName: value = Finance-User@cisco.com

[48]    objectCategory: value = CN=Person,CN=Schema,CN=Configuration,DC=cisco,DC=com

[48]    dSCorePropagationData: value = 20191011094757.0Z

[48]    dSCorePropagationData: value = 20191011094614.0Z

[48]    dSCorePropagationData: value = 16010101000000.0Z

[48]    lastLogonTimestamp: value = 132153412825919405

[48] Fiber exit Tx=538 bytes Rx=2720 bytes, status=1

[48] Session End

LDAP-Debugging für Management-User:

[51] Session Start

[51] New request Session, context 0x00002b0482c2d8e0, reqType = Authentication

[51] Fiber started

[51] Creating LDAP context with uri=ldap://192.168.1.1:389

[51] Connect to LDAP server: ldap://192.168.1.1:389, status = Successful

[51] supportedLDAPVersion: value = 3

[51] supportedLDAPVersion: value = 2

[51] LDAP server 192.168.1.1 is Active directory

[51] Binding as Administrator@cisco.com

[51] Performing Simple authentication for Administrator@example.com to 192.168.1.1

[51] LDAP Search:

Base DN = [dc=cisco, dc=com]

Filter  = [sAMAccountName=Management-User]

Scope   = [SUBTREE]

[51] User DN = [CN=Management-User,OU=Management,OU=VPN,DC=cisco,DC=com]

[51] Talking to Active Directory server 192.168.1.1

[51] Reading password policy for Management-User, dn:CN=Management-User,OU=Management,OU=VPN,DC=cisco,DC=com

[51] Read bad password count 0

[51] Binding as Management-User

[51] Performing Simple authentication for Management-User to 192.168.1.1

[51] Processing LDAP response for user Management-User

[51] Message (Management-User):

[51] Authentication successful for Management-User to 192.168.1.1

[51] Retrieved User Attributes:

[51]    objectClass: value = top

[51]    objectClass: value = person

[51]    objectClass: value = organizationalPerson

[51]    objectClass: value = user

[51]    cn: value = Management-User

[51]    givenName: value = Management-User

[51]    distinguishedName: value = CN=Management-User,OU=Management,OU=VPN,DC=cisco,DC=com

[51]    instanceType: value = 4

[51]    whenCreated: value = 20191011095036.0Z

[51]    whenChanged: value = 20191011095056.0Z

[51]    displayName: value = Management-User

[51]    uSNCreated: value = 16068

[51]    memberOf: value = CN=Management-Group,CN=Users,DC=cisco,DC=com

[51]            mapped to Group-Policy: value = CN=Management-Group,CN=Users,DC=cisco,DC=com

[51]            mapped to LDAP-Class: value = CN=Management-Group,CN=Users,DC=cisco,DC=com

[51]    memberOf: value = CN=Users,CN=Builtin,DC=cisco,DC=com

[51]            mapped to Group-Policy: value = CN=Users,CN=Builtin,DC=cisco,DC=com

[51]            mapped to LDAP-Class: value = CN=Users,CN=Builtin,DC=cisco,DC=com

[51]    uSNChanged: value = 16076

[51]    name: value = Management-User

[51]    objectGUID: value = i._(.E.O.....Gig

[51]    userAccountControl: value = 512

[51]    badPwdCount: value = 0

[51]    codePage: value = 0

[51]    countryCode: value = 0

[51]    badPasswordTime: value = 0

[51]    lastLogoff: value = 0

[51]    lastLogon: value = 0

[51]    pwdLastSet: value = 132152610365026101

[51]    primaryGroupID: value = 513

[51]    objectSid: value = .............B...a5/ID.dW...

[51]    accountExpires: value = 9223372036854775807

[51]    logonCount: value = 0

[51]    sAMAccountName: value = Management-User

[51]    sAMAccountType: value = 805306368

[51]    userPrincipalName: value = Management-User@cisco.com

[51]    objectCategory: value = CN=Person,CN=Schema,CN=Configuration,DC=cisco,DC=com

[51]    dSCorePropagationData: value = 20191011095056.0Z

[51]    dSCorePropagationData: value = 16010101000000.0Z

[51] Fiber exit Tx=553 bytes Rx=2688 bytes, status=1

[51] Session End

Zugehörige Informationen

Wenden Sie sich für weitere Unterstützung an das Cisco Technical Assistance Center (TAC). Ein gültiger Supportvertrag ist erforderlich: Weltweiter Kontakt zum Cisco Support.