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 der externen Zwei-Faktor-Authentifizierung für AnyConnect IPSec-Verbindungen mit einem Cisco IOS® XE-Router beschrieben.
Beitrag von Sadhana K S und Rishabh Aggarwal Cisco TAC Engineers.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
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.
AnyConnect-Benutzer authentifiziert sich mit einem Benutzernamen und einem Kennwort auf dem ISE-Server. Der Duo Authentication Proxy-Server sendet außerdem eine zusätzliche Authentifizierung in Form einer Push-Benachrichtigung an das Mobilgerät des Benutzers.
Berücksichtigen Sie diese Abschnitte, um die Konfiguration abzuschließen.
1. Konfigurieren des RADIUS-Servers Die IP-Adresse des RADIUS-Servers muss die IP-Adresse des Duo-Authentifizierungsproxys sein.
radius server rad_server
address ipv4 10.197.243.97 auth-port 1812 acct-port 1813
timeout 120
key cisco
2. Konfigurieren Sie den RADIUS-Server als aaa
Authentifizierung und Autorisierung als lokal.
aaa new-model
aaa group server radius FlexVPN_auth_server
server name rad_server
aaa authentication login FlexVPN_auth group FlexVPN_auth_server
aaa authorization network FlexVPN_authz local
3. Erstellen Sie einen Vertrauenspunkt, um das Identitätszertifikat zu installieren, falls es nicht bereits für die lokale Authentifizierung vorhanden ist. Weitere Informationen zur Zertifikatserstellung finden Sie unter Zertifikatregistrierung für eine PKI.
crypto pki trustpoint TP_AnyConnect
enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
fqdn flexvpn-C8000V.cisco.com
ip-address none
subject-name cn=flexvpn-C8000V.cisco.com
revocation-check none
rsakeypair AnyConnect
4. (Optional) Konfigurieren Sie eine Standard-Zugriffsliste für den Split-Tunnel. Diese Zugriffsliste besteht aus den Zielnetzwerken, auf die über den VPN-Tunnel zugegriffen werden kann. Standardmäßig durchläuft der gesamte Datenverkehr den VPN-Tunnel, wenn der Split-Tunnel nicht konfiguriert ist.
ip access-list standard split-tunnel-acl
10 permit 192.168.11.0 0.0.0.255
20 permit 192.168.12.0 0.0.0.255
5. Erstellen Sie einen IPv4-Adresspool.
ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10
Der erstellte IP-Adresspool weist dem AnyConnect-Client während einer erfolgreichen AnyConnect-Verbindung eine IPv4-Adresse zu.
6. Konfigurieren einer Autorisierungsrichtlinie
crypto ikev2 authorization policy ikev2-authz-policy
pool SSLVPN_POOL
dns 10.106.60.12
route set access-list split-tunnel-acl
Der IP-Pool, DNS, die Split-Tunnel-Liste usw. werden in der Autorisierungsrichtlinie angegeben.
Hinweis: Wenn die benutzerdefinierte IKEv2-Autorisierungsrichtlinie nicht konfiguriert ist, wird die Standard-Autorisierungsrichtlinie mit dem Namen "default" für die Autorisierung verwendet. Die in der IKEv2-Autorisierungsrichtlinie angegebenen Attribute können auch über den RADIUS-Server übertragen werden.
7. Konfigurieren Sie einen IKEv2-Vorschlag und eine IKEv2-Richtlinie.
crypto ikev2 proposal FlexVPN_IKEv2_Proposal
encryption aes-cbc-128
integrity sha384
group 19
crypto ikev2 policy FlexVPN_IKEv2_Policy
match fvrf any
proposal FlexVPN_IKEv2_Proposal
8. Laden Sie das AnyConnect-Clientprofil in den Bootflash des Routers hoch, und definieren Sie das Profil wie folgt:
crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml
9. Deaktivieren des sicheren HTTP-Servers.
no ip http secure-server
10. Konfigurieren Sie die SSL-Richtlinie, und geben Sie die WAN-IP-Adresse des Routers als lokale Adresse für den Download des Profils an.
crypto ssl policy ssl-server
pki trustpoint TP_AnyConnect sign
ip address localport 443
11. Konfigurieren Sie eine virtuelle Vorlage, von der aus der virtuelle Zugriff intOberflächen werden geklont
interface Virtual-Template20 type tunnel
ip unnumbered GigabitEthernet1
Der Befehl unnumbered (nicht nummerierte) ruft die IP-Adresse von der konfigurierten Schnittstelle ab (GigabitEthernet1).
13. Konfigurieren Sie ein IKEv2-Profil, das alle verbindungsbezogenenInformationen.
crypto ikev2 profile Flexvpn_ikev2_Profile
match identity remote any
authentication local rsa-sig
authentication remote eap query-identity
pki trustpoint TP_AnyConnect
dpd 60 2 on-demand
aaa authentication eap FlexVPN_auth
aaa authorization group eap list FlexVPN_authz ikev2-authz-policy
aaa authorization user eap cached
virtual-template 20 mode auto
anyconnect profile Client_Profile
Diese werden im IKEv2-Profil verwendet:
match identity remote any
- Bezieht sich auf die Identität des Clients. Hier ist "any" konfiguriert, sodass jeder Client mit den richtigen Anmeldeinformationen eine Verbindung herstellen kann.authentication remote
- Gibt an, dass das EAP-Protokoll für die Client-Authentifizierung verwendet werden mussauthentication local
- Gibt an, dass Zertifikate für die lokale Authentifizierung verwendet werden müssen.aaa authentication eap
- Bei der EAP-Authentifizierung muss der RADIUS-Server FlexVPN_auth
wird verwendetaaa authorization group eap list
- Während der Autorisierung wird die Netzliste FlexVPN_authz
wird zusammen mit der Autorisierungsrichtlinie verwendet ikev2-authz-policy
aaa authorization user eap cached
- Ermöglicht implizite Benutzerautorisierungvirtual-template 20 mode auto
- Definiert die zu klonende virtuelle Vorlage.anyconnect profile Client_Profile
- Das in Schritt 8 definierte Client-Profil wird hier auf dieses IKEv2-Profil angewendet.14. Konfigurieren eines Transformationssatzes und eines IPSec-Profils
crypto ipsec transform-set TS esp-gcm 256
mode tunnel
crypto ipsec profile Flexvpn_IPsec_Profile
set transform-set TS
set ikev2-profile Flexvpn_ikev2_Profile
15. Fügen Sie das IPSec-Profil zur virtuellen Vorlage hinzu.
interface Virtual-Template20 type tunnel
tunnel mode ipsec ipv4
tunnel protection ipsec profile Flexvpn_IPsec_Profile
Vor Cisco IOS XE 16.9.1 ist kein automatischer Profildownload vom Headend möglich. Nach 16.9.1 kann das Profil vom Headend heruntergeladen werden.
!
!
false
true
false
All
All
false
Native
false
30
false
true
false
false
true
IPv4,IPv6
true
ReconnectAfterResume
false
true
Automatic
SingleLocalLogon
SingleLocalLogon
AllowRemoteUsers
LocalUsersOnly
false
Automatic
false
false
20
4
false
false
true
<ServerList>
<HostEntry>
<HostName>FlexVPN</HostName>
<HostAddress>flexvpn-csr.cisco.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
Hinweis: Der Duo-Authentifizierungsproxy unterstützt MS-CHAPv2 nur mit RADIUS-Authentifizierung.
Schritt 1: Laden Sie den Duo Authentication Proxy Server herunter, und installieren Sie ihn.
Melden Sie sich beim Windows-Computer an, und installieren Sie den Duo Authentication Proxy-Server.
Es wird empfohlen, ein System mit mindestens 1 CPU, 200 MB Festplattenspeicher und 4 GB RAM zu verwenden.
Schritt 2: Navigieren Sie zu C:\Program Files\Duo Security Authentication Proxy\conf\
und öffnen authproxy.cfg
um den Authentifizierungsproxy mit den entsprechenden Details zu konfigurieren.
[radius_client]
host=10.197.243.116
secret=cisco
Hinweis: Hier ist "10.197.243.116" die IP-Adresse des ISE-Servers, und "cisco" ist das Kennwort, das zur Validierung der primären Authentifizierung konfiguriert wurde.
Speichern Sie die Datei, nachdem Sie diese Änderungen vorgenommen haben.
Schritt 3: Offen Windows Services-Konsole (services.msc
). und neu starten Duo Security Authentication Proxy Service
.
Schritt 1: Navigieren Sie zu Administration > Network Devices
und klickeAdd
um das Netzwerkgerät zu konfigurieren.
Hinweis: Ersetzen x.x.x.x
mit der IP-Adresse Ihres Duo Authentifizierungsproxy-Servers.
Schritt 2: Konfigurieren Sie Shared Secret
wie in der authproxy.cfg
in secret
:
Schritt 3: Navigieren Sie zu Administration > Identities > Users
.Auswählen Add
So konfigurieren Sie den Identity-Benutzer für die primäre AnyConnect-Authentifizierung:
Schritt 1: Melden Sie sich bei Ihrem Duo-Konto an.
Navigieren Sie zu Applications > Protect an Application
. Klicken Sie auf Protect
für die Anwendung, die Sie verwenden möchten. (in diesem Fall RADIUS)
Schritt 2. Klicken Sie auf Protect
für die Anwendung, die Sie verwenden möchten. (in diesem Fall RADIUS)
Kopieren Sie den Integrationsschlüssel, den geheimen Schlüssel und den API-Hostnamen, und fügen Sie ihn in die Datei authproxy.cfg
des Duo Authentication-Proxys.
Kopieren Sie diese Werte, navigieren Sie zurück zum DUO-Authentifizierungsproxy, und öffnen Sie die authproxy.cfg
und fügen Sie die Werte wie dargestellt ein:
Integrationsschlüssel = Schlüssel
Geheimschlüssel = skey
API-Hostname = api_host
[radius_server_auto]
ikey=xxxxxxxx
skey=xxxxxxxv1zG
api_host=xxxxxxxx
radius_ip_1=10.106.54.143
radius_secret_1=cisco
failmode=safe
client=radius_client
port=1812
Hinweis: Die Schlüssel, die Schlüssel und der api_host müssen bei der Konfiguration des Servers vom Duo-Server kopiert werden, und "10.106.54.143" ist die IP-Adresse des C8000V-Routers, und "cisco" ist der Schlüssel, der auf dem Router in der Radius-Server-Konfiguration konfiguriert wurde.
Wenn Sie diese Änderungen vorgenommen haben, speichern Sie die Datei erneut, und starten Sie den Duo Security Authentication Proxy Service (in services.msc
).
Schritt 3: Erstellen von Benutzern für die sekundäre Authentifizierung auf dem DUO.
Navigieren Sie zu Users > Add User
und gebe den Benutzernamen ein.
Hinweis: Der Benutzername muss mit dem Benutzernamen für die primäre Authentifizierung übereinstimmen.
Klicken Sie auf Add User
. Nach der Erstellung unter Phones
, clecken Add Phone
, geben Sie die Telefonnummer ein, und klicken Sie auf Add Phone
.
Wählen Sie den Authentifizierungstyp aus.
Auswählen Generate Duo Mobile Activation Code
.
Auswählen Send Instructions by SMS
.
Klicken Sie auf den Link, der an das Telefon gesendet wird, und die DUO-App wird mit dem Benutzerkonto im Device Info
-Bereich, wie im Bild gezeigt:
Um die Authentifizierung zu testen, stellen Sie vom PC des Benutzers über AnyConnect eine Verbindung mit dem C8000V her.
Geben Sie den Benutzernamen und das Kennwort für die primäre Authentifizierung ein.
Dann akzeptieren die DUO schiebt auf dem Handy.
Die Verbindung wird hergestellt.
Sie können dies am VPN-Headend überprüfen:
1. IKEv2 parameters
R1#sh crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.54.143/4500 10.197.243.98/54198 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile
Life/Active Time: 86400/147 sec
CE id: 1108, Session-id: 15
Status Description: Negotiation done
Local spi: 81094D322A295C92 Remote spi: 802F3CC9E1C33C2F
Local id: 10.106.54.143
Remote id: cisco.com
Remote EAP id: sadks //AnyConnect username
Local req msg id: 0 Remote req msg id: 10
Local next msg id: 0 Remote next msg id: 10
Local req queued: 0 Remote req queued: 10
Local window: 5 Remote window: 1
DPD configured for 60 seconds, retry 2
Fragmentation not configured.
Dynamic Route Update: disabled
Extended Authentication not configured.
NAT-T is detected outside
Cisco Trust Security SGT is disabled
Assigned host addr: 192.168.13.5 //Assigned IP address from the address pool
Initiator of SA : No
2. Crypto session detail for the vpn session
R1#sh crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect, U - IKE Dynamic Route Update
S - SIP VPN
Interface: Virtual-Access2
Profile: FlexVPN-ikev2_Profile
Uptime: 00:01:07
Session status: UP-ACTIVE
Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)
Phase1_id: cisco.com
Desc: (none)
Session ID: 114
IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active
Capabilities:DN connid:1 lifetime:23:58:53
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532
Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532
3.Verification on ISE live logs
Navigieren Sie zu Operations > Live Logs
in der ISE. Sie können den Authentifizierungsbericht für die primäre Authentifizierung anzeigen.
4. Verification on DUO authentication proxy
Navigieren Sie zu dieser Datei auf DUO Authentication Proxy. C:\Program Files\Duo Security Authentication Proxy\log
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto //10.106.54.143 IP address of C8000V
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191 //Primary auth sent to ISE 10.197.243.116
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2 //ISE auth successful
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth // Proxy is sending secondary auth request to DUO server
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept //DUO push successful
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
Für IKEv2:
debug crypto ikev2
debug crypto ikev2 client flexvpn
debug crypto ikev2 internal
debug crypto ikev2 packet
debug crypto ikev2 error
Für IPSec:
debug crypto ipsec
debug crypto ipsec error
2. Für den DUO-Authentifizierungsproxy überprüfen Sie die Protokolldatei proxy-relatedd Protokolle. (C:\Program Files\Duo Security Authentication Proxy\log
)
Der Ausschnitt für ein Fehlerprotokoll, bei dem die ISE die primäre Authentifizierung ablehnt, wird angezeigt:
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
26-Jun-2023 |
Erstveröffentlichung |