In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird die Konfiguration des Remote Access-VPN für die Gruppenrichtlinienzuordnung mit der Cisco Identity Services Engine (ISE) beschrieben.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Der Inhalt dieses Dokuments basiert auf den Software- und Hardwareversionen.
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.
In diesem Konfigurationsbeispiel dürfen Remote-Benutzer, die über VPN mit Cisco Secure Client (AnyConnect) eine Verbindung mit der ASA herstellen, im Dropdown-Menü kein Verbindungsprofil (Tunnelgruppe) auswählen, da die Cisco ISE diese einer bestimmten Gruppenrichtlinie zuordnet, die auf den konfigurierten Richtlinien basiert.
Mit dieser Konfiguration können Sie jedem AnyConnect-Benutzer über die ISE eine Gruppenrichtlinie zuweisen. Da die Benutzer keine Option zur Auswahl der Tunnelgruppe haben, werden sie zunächst mit der DefaultWEBVPNGroup-Tunnelgruppe und der DfltGrpPolicy-Gruppenrichtlinie verbunden. Wenn nach der Authentifizierung das RADIUS Class-Attribut (Gruppenrichtlinie) von der ISE innerhalb der Authentifizierungsantwort gesendet wird, wird der Benutzer der entsprechenden Gruppenrichtlinie zugewiesen und erhält so die entsprechenden Berechtigungen. Wenn die ISE kein Class-Attribut zurückgibt oder ein Gruppenrichtlinienlabel zurückgibt, das nicht auf der ASA konfiguriert ist, bleibt der Benutzer der DfltGrpPolicy zugewiesen. Um zu verhindern, dass Benutzer ohne zugewiesene Gruppenrichtlinie eine Verbindung über das VPN herstellen, können Sie den Befehl vpn-simultan-logins 0 unter der DfltGrpPolicy-Gruppenrichtlinie konfigurieren.
AAA-Server
aaa-server ISE_AAA protocol radius
aaa-server ISE_AAA (Outside) host 10.31.124.82
key cisco123
Konfiguration des Remotezugriff-VPNs
webvpn
enable outside
anyconnect image disk0:/anyconnect-win-4.7.01076-webdeploy-k9.pkg 1
anyconnect enable
tunnel-group DefaultWEBVPNGroup general-attributes
address-pool Remote_users
authentication-server-group ISE_AAA
group-policy DfltGrpPolicy attributes
banner value ###YOU DON'T HAVE AUTHORIZATION TO ACCESS ANY INTERNAL RESOURCES###
vpn-simultaneous-logins 0
vpn-tunnel-protocol ssl-client
group-policy RADIUS-USERS internal
group-policy RADIUS-USERS attributes
banner value YOU ARE CONNECTED TO ### RADIUS USER AUTHENTICATION###
vpn-simultaneous-logins 3
vpn-tunnel-protocol ssl-client
split-tunnel-network-list value SPLIT_ACL
group-policy RADIUS-ADMIN internal
group-policy RADIUS-ADMIN attributes
banner value YOU ARE CONNECTED TO ###RADIUS ADMIN AUTHENTICATION ###
vpn-simultaneous-logins 3
vpn-tunnel-protocol ssl-client
split-tunnel-network-list none
Schritt 1: Registrieren Sie die ASA als gültiges Netzwerkgerät auf der ISE, und konfigurieren Sie den gemeinsamen geheimen Schlüssel für RADIUS. Navigieren Sie dazu zu Administration > Network Resources > Network Devices (Verwaltung > Netzwerkressourcen > Netzwerkgeräte).
Schritt 2: Erstellen Sie Identitätsgruppen.
Definieren Sie Identitätsgruppen, um Benutzer mit ähnlichen Merkmalen und Berechtigungen zuzuordnen. Diese werden in den nächsten Schritten verwendet. Navigieren Sie zu Administration > Groups > User Identity Groups.
Schritt 3: Zuordnen von Benutzern zu Identitätsgruppen
Zuordnen von Benutzern zur richtigen Identitätsgruppe Navigieren Sie zu Administration > Identities > Users.
Schritt 4: Policy Set erstellen.
Definieren Sie einen neuen Richtliniensatz und die Bedingungen, die mit der Richtlinie übereinstimmen. In diesem Beispiel sind alle Gerätetypen unter den Bedingungen zulässig. Navigieren Sie dazu zu Policy>Policy sets.
Schritt 5: Erstellen einer Autorisierungsrichtlinie
Definieren Sie eine neue Autorisierungsrichtlinie mit den erforderlichen Bedingungen, die mit der Richtlinie übereinstimmen. Stellen Sie sicher, dass Sie die in Schritt 2 erstellten Identitätsgruppen als Bedingung einschließen.
Schritt 6: Erstellen Sie ein Autorisierungsprofil.
Das Autorisierungsprofil enthält die Aktionen, die beim Abgleich der Autorisierungsrichtlinie ausgeführt werden. Erstellen Sie ein neues Autorisierungsprofil mit den folgenden Attributen:
Hinweis: Sie müssen die in den vorherigen Images angezeigte Konfiguration bearbeiten, damit sie mit dem Namen der Gruppenrichtlinien übereinstimmt, die Sie in Ihrer ASA-Konfiguration definiert haben.
Schritt 7. Überprüfen der Konfiguration des Autorisierungsprofils
Hinweis: Im gleichen Richtliniensatz können Sie keine Autorisierungsrichtlinien haben, um jede Identitätsgruppe einer bestimmten, auf der ASA definierten Gruppenrichtlinie zuzuordnen.
In diesem Konfigurationsbeispiel können Sie die Gruppenrichtlinie jedem Secure Client-Benutzer dynamisch über die ISE-Konfiguration zuweisen. Dies hängt von der Identitätsgruppe ab, der der Benutzer angehört.
Einer der nützlichsten Debugs ist der Debugradius. Sie enthält Details zur RADIUS-Authentifizierungsanforderung und der Authentifizierungsantwort zwischen dem AAA-Server (ISE) und der ASA.
debug radius
Ein weiteres nützliches Tool ist der Befehl test aaa-server. Sie sehen nun, ob die Authentifizierung AKZEPTIERT oder ABGELEHNT ist und welche Attribute (in diesem Beispiel das Attribut 'class') im Authentifizierungsprozess ausgetauscht wurden.
test aaa-server authentication <aaa_server_group> [host <name>|<host_ip>] username <user> password <password>
Im oben genannten Konfigurationsbeispiel gehört user1 zur RADIUS-ADMIN-Gruppenrichtlinie gemäß der ISE-Konfiguration. Es kann überprüft werden, wenn Sie den Test aaa-server ausführen und RADIUS-Debugging auf der ASA aktivieren. Die entsprechenden Zeilen aus den Debug-Meldungen sind fett markiert.
ASAv# debug radius
ASAv#test aaa-server authentication ISE_AAA host 10.31.124.82 username user1 password *****
INFO: Attempting Authentication test to IP address (10.31.124.82) (timeout: 12 seconds)
RADIUS packet decode (authentication request) -------------------------------------- Raw packet data (length = 84)..... 01 1e 00 54 ac b6 7c e5 58 22 35 5e 8e 7c 48 73 | ...T..|.X"5^.|Hs 04 9f 8c 74 01 07 75 73 65 72 31 02 12 ad 19 1c | ...t..user1..... 40 da 43 e2 ba 95 46 a7 35 85 52 bb 6f 04 06 0a | @.C...F.5.R.o... 1f 7c 55 05 06 00 00 00 06 3d 06 00 00 00 05 1a | .|U......=...... 15 00 00 00 09 01 0f 63 6f 61 2d 70 75 73 68 3d | .......coa-push= 74 72 75 65 | true Parsed packet data..... Radius: Code = 1 (0x01) Radius: Identifier = 30 (0x1E) Radius: Length = 84 (0x0054) Radius: Vector: ACB67CE55822355E8E7C4873049F8C74 Radius: Type = 1 (0x01) User-Name Radius: Length = 7 (0x07) Radius: Value (String) = 75 73 65 72 31 | user1 Radius: Type = 2 (0x02) User-Password Radius: Length = 18 (0x12) Radius: Value (String) = ad 19 1c 40 da 43 e2 ba 95 46 a7 35 85 52 bb 6f | ...@.C...F.5.R.o Radius: Type = 4 (0x04) NAS-IP-Address Radius: Length = 6 (0x06) Radius: Value (IP Address) = 10.31.124.85 (0x0A1F7C55) Radius: Type = 5 (0x05) NAS-Port Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x6 Radius: Type = 61 (0x3D) NAS-Port-Type Radius: Length = 6 (0x06) Radius: Value (Hex) = 0x5 Radius: Type = 26 (0x1A) Vendor-Specific Radius: Length = 21 (0x15) Radius: Vendor ID = 9 (0x00000009) Radius: Type = 1 (0x01) Cisco-AV-pair Radius: Length = 15 (0x0F) Radius: Value (String) = 63 6f 61 2d 70 75 73 68 3d 74 72 75 65 | coa-push=true send pkt 10.31.124.82/1645 rip 0x00007f03b419fb08 state 7 id 30 rad_vrfy() : response message verified rip 0x00007f03b419fb08 : chall_state '' : state 0x7 : reqauth: ac b6 7c e5 58 22 35 5e 8e 7c 48 73 04 9f 8c 74 : info 0x00007f03b419fc48 session_id 0x80000007 request_id 0x1e user 'user1' response '***' app 0 reason 0 skey 'cisco123' sip 10.31.124.82 type 1 RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 188)..... 02 1e 00 bc 9e 5f 7c db ad 63 87 d8 c1 bb 03 41 | ....._|..c.....A 37 3d 7a 35 01 07 75 73 65 72 31 18 43 52 65 61 | 7=z5..user1.CRea 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 31 66 37 | uthSession:0a1f7 63 35 32 52 71 51 47 52 72 70 36 5a 35 66 4e 4a | c52RqQGRrp6Z5fNJ 65 4a 39 76 4c 54 6a 73 58 75 65 59 35 4a 70 75 | eJ9vLTjsXueY5Jpu 70 44 45 61 35 36 34 66 52 4f 44 57 78 34 19 0e | pDEa564fRODWx4.. 52 41 44 49 55 53 2d 41 44 4d 49 4e 19 50 43 41 | RADIUS-ADMIN.PCA 43 53 3a 30 61 31 66 37 63 35 32 52 71 51 47 52 | CS:0a1f7c52RqQGR 72 70 36 5a 35 66 4e 4a 65 4a 39 76 4c 54 6a 73 | rp6Z5fNJeJ9vLTjs 58 75 65 59 35 4a 70 75 70 44 45 61 35 36 34 66 | XueY5JpupDEa564f 52 4f 44 57 78 34 3a 69 73 65 61 6d 79 32 34 2f | RODWx4:iseamy24/ 33 37 39 35 35 36 37 34 35 2f 33 31 | 379556745/31 Parsed packet data..... Radius: Code = 2 (0x02) Radius: Identifier = 30 (0x1E) Radius: Length = 188 (0x00BC) Radius: Vector: 9E5F7CDBAD6387D8C1BB0341373D7A35 Radius: Type = 1 (0x01) User-Name Radius: Length = 7 (0x07) Radius: Value (String) = 75 73 65 72 31 | user1 Radius: Type = 24 (0x18) State Radius: Length = 67 (0x43) Radius: Value (String) = 52 65 61 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 | ReauthSession:0a 31 66 37 63 35 32 52 71 51 47 52 72 70 36 5a 35 | 1f7c52RqQGRrp6Z5 66 4e 4a 65 4a 39 76 4c 54 6a 73 58 75 65 59 35 | fNJeJ9vLTjsXueY5 4a 70 75 70 44 45 61 35 36 34 66 52 4f 44 57 78 | JpupDEa564fRODWx 34 | 4 Radius: Type = 25 (0x19) Class Radius: Length = 14 (0x0E) Radius: Value (String) = 52 41 44 49 55 53 2d 41 44 4d 49 4e | RADIUS-ADMIN
Radius: Type = 25 (0x19) Class Radius: Length = 80 (0x50) Radius: Value (String) = 43 41 43 53 3a 30 61 31 66 37 63 35 32 52 71 51 | CACS:0a1f7c52RqQ 47 52 72 70 36 5a 35 66 4e 4a 65 4a 39 76 4c 54 | GRrp6Z5fNJeJ9vLT 6a 73 58 75 65 59 35 4a 70 75 70 44 45 61 35 36 | jsXueY5JpupDEa56 34 66 52 4f 44 57 78 34 3a 69 73 65 61 6d 79 32 | 4fRODWx4:iseamy2 34 2f 33 37 39 35 35 36 37 34 35 2f 33 31 | 4/379556745/31 rad_procpkt: ACCEPT RADIUS_ACCESS_ACCEPT: normal termination RADIUS_DELETE remove_req 0x00007f03b419fb08 session 0x80000007 id 30 free_rip 0x00007f03b419fb08 radius: send queue empty INFO: Authentication Successful
Eine andere Möglichkeit, um zu überprüfen, ob user1 von der ISE die richtige Gruppenrichtlinie zugewiesen wurde, wenn eine Verbindung über Secure Client hergestellt wurde, ist der Befehl show vpn-sessiondb anyconnect.
ASAv# show vpn-sessiondb anyconnect Session Type: AnyConnect Username : user1 Index : 28 Assigned IP : 10.100.2.1 Public IP : 10.100.1.3 Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel License : AnyConnect Premium Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256 Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1 Bytes Tx : 15604 Bytes Rx : 28706 Group Policy : RADIUS-ADMIN Tunnel Group : DefaultWEBVPNGroup Login Time : 04:14:45 UTC Wed Jun 3 2020 Duration : 0h:01m:29s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a6401010001c0005ed723b5 Security Grp : none
Sie können auch den Debugradius verwenden und aaa-server-Befehle testen, um Probleme zu beheben. Als Nächstes werden die häufigsten Probleme beschrieben.
Wenn die Authentifizierung bei AnyConnect fehlschlägt und die ISE mit einem REJECT antwortet. Sie müssen überprüfen, ob der Benutzer einer Benutzeridentitätsgruppe zugeordnet ist oder ob das Kennwort falsch ist. Navigieren Sie zu Vorgänge > Live-Protokolle > Details.
RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 20)..... 03 21 00 14 dd 74 bb 43 8f 0a 40 fe d8 92 de 7a | .!...t.C..@....z 27 66 15 be | 'f.. Parsed packet data..... Radius: Code = 3 (0x03) Radius: Identifier = 33 (0x21) Radius: Length = 20 (0x0014) Radius: Vector: DD74BB438F0A40FED892DE7A276615BE rad_procpkt: REJECT RADIUS_DELETE remove_req 0x00007f03b419fb08 session 0x80000009 id 33 free_rip 0x00007f03b419fb08 radius: send queue empty ERROR: Authentication Rejected: AAA failure
Hinweis: In diesem Beispiel ist user1 keiner Benutzeridentitätsgruppe zugeordnet. Daher wird die Standardauthentifizierungs- und Autorisierungsrichtlinie unter Neuer Richtliniensatz 1 mit der Aktion DenyAccess aufgerufen. Sie können diese Aktion in der Standard-Autorisierungsrichtlinie zu PermitAccess ändern, um Benutzern ohne die zugeordnete Benutzeridentitätsgruppe die Authentifizierung zu ermöglichen.
Wenn die Authentifizierung bei AnyConnect fehlschlägt und die Autorisierungsrichtlinie standardmäßig PermitAccess lautet, wird die Authentifizierung akzeptiert. Das class-Attribut wird jedoch nicht in der Radius-Antwort angezeigt, daher befindet sich der Benutzer in der DfltGrpPolicy und stellt aufgrund des konfigurierten Befehls keine Verbindung her: vpn-simultan-logins 0.
RADIUS packet decode (response) -------------------------------------- Raw packet data (length = 174)..... 02 24 00 ae 5f 0f bc b1 65 53 64 71 1a a3 bd 88 | .$.._...eSdq.... 7c fe 44 eb 01 07 75 73 65 72 31 18 43 52 65 61 | |.D...user1.CRea 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 31 66 37 | uthSession:0a1f7 63 35 32 32 39 54 68 33 47 68 6d 44 54 49 35 71 | c5229Th3GhmDTI5q 37 48 46 45 30 7a 6f 74 65 34 6a 37 50 76 69 4b | 7HFE0zote4j7PviK 5a 35 77 71 6b 78 6c 50 39 33 42 6c 4a 6f 19 50 | Z5wqkxlP93BlJo.P 43 41 43 53 3a 30 61 31 66 37 63 35 32 32 39 54 | CACS:0a1f7c5229T 68 33 47 68 6d 44 54 49 35 71 37 48 46 45 30 7a | h3GhmDTI5q7HFE0z 6f 74 65 34 6a 37 50 76 69 4b 5a 35 77 71 6b 78 | ote4j7PviKZ5wqkx 6c 50 39 33 42 6c 4a 6f 3a 69 73 65 61 6d 79 32 | lP93BlJo:iseamy2 34 2f 33 37 39 35 35 36 37 34 35 2f 33 37 | 4/379556745/37 Parsed packet data..... Radius: Code = 2 (0x02) Radius: Identifier = 36 (0x24) Radius: Length = 174 (0x00AE) Radius: Vector: 5F0FBCB1655364711AA3BD887CFE44EB Radius: Type = 1 (0x01) User-Name Radius: Length = 7 (0x07) Radius: Value (String) = 75 73 65 72 31 | user1 Radius: Type = 24 (0x18) State Radius: Length = 67 (0x43) Radius: Value (String) = 52 65 61 75 74 68 53 65 73 73 69 6f 6e 3a 30 61 | ReauthSession:0a 31 66 37 63 35 32 32 39 54 68 33 47 68 6d 44 54 | 1f7c5229Th3GhmDT 49 35 71 37 48 46 45 30 7a 6f 74 65 34 6a 37 50 | I5q7HFE0zote4j7P 76 69 4b 5a 35 77 71 6b 78 6c 50 39 33 42 6c 4a | viKZ5wqkxlP93BlJ 6f | o Radius: Type = 25 (0x19) Class Radius: Length = 80 (0x50) Radius: Value (String) = 43 41 43 53 3a 30 61 31 66 37 63 35 32 32 39 54 | CACS:0a1f7c5229T 68 33 47 68 6d 44 54 49 35 71 37 48 46 45 30 7a | h3GhmDTI5q7HFE0z 6f 74 65 34 6a 37 50 76 69 4b 5a 35 77 71 6b 78 | ote4j7PviKZ5wqkx 6c 50 39 33 42 6c 4a 6f 3a 69 73 65 61 6d 79 32 | lP93BlJo:iseamy2 34 2f 33 37 39 35 35 36 37 34 35 2f 33 37 | 4/379556745/37 rad_procpkt: ACCEPT RADIUS_ACCESS_ACCEPT: normal termination RADIUS_DELETE remove_req 0x00007f03b419fb08 session 0x8000000b id 36 free_rip 0x00007f03b419fb08 radius: send queue empty INFO: Authentication Successful ASAv#
Wenn vpn-simultan-logins 0 in '1' geändert wird, stellt der Benutzer die Verbindung wie in der Ausgabe gezeigt her:
ASAv# show vpn-sessiondb anyconnect Session Type: AnyConnect Username : user1 Index : 41 Assigned IP : 10.100.2.1 Public IP : 10.100.1.3 Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel License : AnyConnect Premium Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256 Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1 Bytes Tx : 15448 Bytes Rx : 15528 Group Policy : DfltGrpPolicy Tunnel Group : DefaultWEBVPNGroup Login Time : 18:43:39 UTC Wed Jun 3 2020 Duration : 0h:01m:40s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a640101000290005ed7ef5b Security Grp : none
Wenn die Authentifizierung erfolgreich ist, der Benutzer jedoch nicht über die richtigen Richtlinien verfügt, z. B. wenn die verbundene Gruppenrichtlinie den Split-Tunnel anstelle des vollständigen Tunnels aufweist, wie er sein muss. Der Benutzer kann sich in der falschen Benutzeridentitätsgruppe befinden.
ASAv# sh vpn-sessiondb anyconnect Session Type: AnyConnect Username : user1 Index : 29 Assigned IP : 10.100.2.1 Public IP : 10.100.1.3 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 : 15592 Bytes Rx : 0 Group Policy : RADIUS-USERS Tunnel Group : DefaultWEBVPNGroup Login Time : 04:36:50 UTC Wed Jun 3 2020 Duration : 0h:00m:20s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 0a6401010001d0005ed728e2 Security Grp : none
In diesem Video werden die Schritte zum Konfigurieren von SSL AnyConnect mit ISE-Authentifizierung und Klassenattribut für die Gruppenrichtlinienzuordnung beschrieben.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
2.0 |
08-Aug-2024 |
Rezertifizierung, aktualisierter Inhalt. |
1.0 |
15-Jun-2020 |
Erstveröffentlichung |