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 eines FlexVPN-Headends für den Zugriff über eine Secure Client (AnyConnect) IKEv2/EAP-Authentifizierung mit einer lokalen Benutzerdatenbank beschrieben.
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-EAP oder die aggregierte Authentifizierung ermöglicht es einem FlexVPN-Server, den AnyConnect-Client über die proprietäre AnyConnect-EAP-Methode von Cisco zu authentifizieren.
Im Gegensatz zu standardbasierten Extensible Authentication Protocol (EAP)-Methoden wie EAP-Generic Token Card (EAP-GTC), EAP-Message Digest 5 (EAP-MD5) usw. funktioniert der FlexVPN-Server nicht im EAP-Passthrough-Modus.
Die gesamte EAP-Kommunikation mit dem Client endet auf dem FlexVPN-Server, und der erforderliche Sitzungsschlüssel für die Erstellung der AUTH-Nutzlast wird lokal vom FlexVPN-Server berechnet.
Der FlexVPN-Server muss sich gegenüber dem Client mit Zertifikaten entsprechend der IKEv2 RFC-Anforderung authentifizieren.
Die lokale Benutzerauthentifizierung wird jetzt auf dem Flex Server unterstützt, und die Remote-Authentifizierung ist optional.
Dies ist ideal für kleinere Bereitstellungen mit weniger Remote-Benutzern und Umgebungen ohne Zugriff auf einen externen AAA-Server (Authentication, Authorization, Accounting).
Für umfangreiche Bereitstellungen und in Szenarien, in denen benutzerspezifische Attribute gewünscht werden, wird jedoch weiterhin empfohlen, einen externen AAA-Server für die Authentifizierung und Autorisierung zu verwenden.
Die AnyConnect-EAP-Implementierung ermöglicht die Verwendung von Radius für Remote-Authentifizierung, -Autorisierung und -Accounting.
Hinweis: Um Benutzer anhand der lokalen Datenbank auf dem Router zu authentifizieren, muss EAP verwendet werden. Um EAP verwenden zu können, muss die lokale Authentifizierungsmethode jedoch rsa-sig sein. Der Router benötigt daher ein entsprechendes Identitätszertifikat und kann kein selbstsigniertes Zertifikat verwenden.
Beispielkonfiguration für die lokale Benutzerauthentifizierung, Remote-Benutzer- und Gruppenautorisierung und Remote-Accounting.
Schritt 1: Aktivieren Sie AAA, konfigurieren Sie Authentifizierungs-, Autorisierungs- und Abrechnungslisten, und fügen Sie der lokalen Datenbank einen Benutzernamen hinzu:
aaa new-model
!
aaa authentication login a-eap-authen-local local
aaa authorization network a-eap-author-grp local
!
username test password cisco123
Schritt 2: Konfigurieren Sie einen Vertrauenspunkt, der das Routerzertifikat enthalten soll. In diesem Beispiel wird der PKCS12-Dateiimport verwendet. Weitere Optionen finden Sie im Sicherheits- und VPN-Konfigurationsleitfaden, IOS XE 17.x, Kapitel: Konfigurieren der Zertifikatregistrierung für ein PKI-Dokument.
Router(config)# crypto pki import IKEv2-TP pkcs12 bootflash:IKEv2-TP.p12 password cisco123
Schritt 3: Definieren Sie einen lokalen IP-Pool, um AnyConnect VPN-Clients Adressen zuzuweisen:
ip local pool ACPOOL 192.168.10.5 192.168.10.10
Schritt 4: Erstellen Sie eine lokale IKEv2-Autorisierungsrichtlinie:
crypto ikev2 authorization policy ikev2-auth-policy
pool ACPOOL
dns 10.0.1.1
Schritt 5 (optional). Erstellen des gewünschten IKEv2-Angebots und der gewünschten IKEv2-Richtlinie Wenn diese Option nicht konfiguriert ist, werden intelligente Standardeinstellungen verwendet:
crypto ikev2 proposal IKEv2-prop1
encryption aes-cbc-256
integrity sha256
group 14
!
crypto ikev2 policy IKEv2-pol
proposal IKEv2-prop1
Schritt 6: AnyConnect-Profil erstellen
Hinweis: Das AnyConnect-Profil muss auf dem Client-Computer bereitgestellt werden. Weitere Informationen finden Sie im nächsten Abschnitt.
Konfigurieren Sie das Client-Profil mit dem AnyConnect Profile Editor, wie im Bild gezeigt:
Klicken Sie auf Hinzufügen, um einen Eintrag für das VPN-Gateway zu erstellen. Wählen Sie IPsec als primäres Protokoll aus. Deaktivieren Sie die Option ASA-Gateway.
Profil speichern: FIle -> Speichern unter. Das XML-Äquivalent des Profils:
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectProfile xmlns="http://schemas.xmlsoap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap/encoding/ AnyConnectProfile.xsd">
<ClientInitialization>
<UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon>
<AutomaticCertSelection UserControllable="true">false</AutomaticCertSelection>
<ShowPreConnectMessage>false</ShowPreConnectMessage>
<CertificateStore>All</CertificateStore>
<CertificateStoreMac>All</CertificateStoreMac>
<CertificateStoreOverride>false</CertificateStoreOverride>
<ProxySettings>Native</ProxySettings>
<AllowLocalProxyConnections>true</AllowLocalProxyConnections>
<AuthenticationTimeout>12</AuthenticationTimeout>
<AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart>
<MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect>
<LocalLanAccess UserControllable="true">false</LocalLanAccess>
<DisableCaptivePortalDetection UserControllable="true">false</DisableCaptivePortalDetection>
<ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin>
<IPProtocolSupport>IPv4,IPv6</IPProtocolSupport>
<AutoReconnect UserControllable="false">true
<AutoReconnectBehavior UserControllable="false">ReconnectAfterResume</AutoReconnectBehavior>
</AutoReconnect>
<AutoUpdate UserControllable="false">true</AutoUpdate>
<RSASecurIDIntegration UserControllable="false">Automatic</RSASecurIDIntegration>
<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>
<WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment>
<AutomaticVPNPolicy>false</AutomaticVPNPolicy>
<PPPExclusion UserControllable="false">Disable
<PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP>
</PPPExclusion>
<EnableScripting UserControllable="false">false</EnableScripting>
<EnableAutomaticServerSelection UserControllable="false">false
<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>
<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>
</EnableAutomaticServerSelection>
<RetainVpnOnLogoff>false
</RetainVpnOnLogoff>
<AllowManualHostInput>true</AllowManualHostInput>
</ClientInitialization>
<ServerList>
<HostEntry>
<HostName>VPN IOS-XE</HostName>
<HostAddress>vpn.example.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-AnyConnect</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
</AnyConnectProfile>
Hinweis: AnyConnect verwendet *$AnyConnectClient$* als Standard-IKE-Identität des Typs Schlüssel-ID. Diese Identität kann jedoch im AnyConnect-Profil manuell geändert werden, um den Bereitstellungsanforderungen zu entsprechen.
Hinweis: Zum Hochladen des XML-Profils auf den Router ist Version 16.9.1 oder höher erforderlich. Wenn eine ältere Softwareversion verwendet wird, muss die Funktion zum Herunterladen von Profilen auf dem Client deaktiviert werden. Weitere Informationen finden Sie im Abschnitt Deaktivieren der AnyConnect Downloader-Funktion.
Laden Sie das erstellte XML-Profil in den Flash-Speicher des Routers hoch, und definieren Sie das Profil:
crypto vpn anyconnect profile acvpn bootflash:/acvpn.xml
Hinweis: Der für das XML-Profil von AnyConnect verwendete Dateiname ist immer acvpn.xml. Selbst wenn ein anderer Dateiname verwendet wird, erhält das an den PC gesendete Profil den Namen acvpn.xml. Daher wird empfohlen, den Namen in der Routerkonfiguration nicht zu ändern.
Schritt 7. Erstellen Sie ein IKEv2-Profil für die AnyConnect-EAP-Methode der Client-Authentifizierung.
crypto ikev2 profile AnyConnect-EAP
match identity remote key-id *$AnyConnectClient$*
authentication local rsa-sig
authentication remote anyconnect-eap aggregate
pki trustpoint IKEv2-TP
aaa authentication anyconnect-eap a-eap-authen-local
aaa authorization group anyconnect-eap list a-eap-author-grp ikev2-auth-policy
aaa authorization user anyconnect-eap cached
virtual-template 100
anyconnect profile acvpn
Hinweis: Stellen Sie für den Befehl aaa authentication eap / anyconnect-eap sicher, dass die lokale Authentifizierungsmethode als rsa-sig konfiguriert ist, bevor die Remote-Authentifizierungsmethode konfiguriert wird.
Schritt 8: Deaktivieren Sie die HTTP-URL-basierte Zertifikatssuche und den HTTP-Server auf dem Router:
no crypto ikev2 http-url cert
no ip http server
no ip http secure-server
Hinweis: Überprüfen Sie im Dokument Next Generation Encryption Support, ob Ihre Router-Hardware die NGE-Algorithmen unterstützt (z. B. sha-256, aes-gcm, ecdh, ecdsa), andernfalls schlägt die IPSec SA-Installation auf der Hardware in der letzten Phase des Tunnelaufbaus fehl.
Schritt 9. Definieren der Verschlüsselungs- und Hash-Algorithmen, die zum Schutz von Daten verwendet werden
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
mode tunnel
Schritt 10. Erstellen Sie ein IPSec-Profil:
crypto ipsec profile AnyConnect-EAP
set transform-set TS
set ikev2-profile AnyConnect-EAP
Schritt 11. Konfigurieren Sie eine Loopback-Schnittstelle mit einigen Dummy-IP-Adressen. Die Virtual-Access-Schnittstellen leihen sich die IP-Adresse daraus.
interface loopback100
ip address 10.0.0.1 255.255.255.255
Schritt 12: Konfigurieren einer virtuellen Vorlage (ordnen Sie die Vorlage dem IKEv2-Profil zu)
interface Virtual-Template100 type tunnel
ip unnumbered Loopback100
ip mtu 1400
tunnel mode ipsec ipv4
tunnel protection ipsec profile AnyConnect-EAP
Schritt 13 (optional). Standardmäßig wird der gesamte Datenverkehr vom Client über den Tunnel gesendet (vollständiger Tunnel). Sie können einen Split-Tunnel konfigurieren, bei dem nur ausgewählter Datenverkehr durch den Tunnel geleitet werden kann.
ip access-list standard split_tunnel
permit 10.0.0.0 0.255.255.255
!
crypto ikev2 authorization policy ikev2-auth-policy
route set access-list split_tunnel
Schritt 14 (optional). Wenn der gesamte Datenverkehr durch den Tunnel fließen muss, konfigurieren Sie NAT, um die Internetverbindung für Remote-Clients zu ermöglichen.
ip access-list extended NAT
permit ip 192.168.10.0 0.0.0.255 any
!
ip nat inside source list NAT interface GigabitEthernet1 overload
!
interface GigabitEthernet1
ip nat outside
!
interface Virtual-Template 100
ip nat inside
Dieses Beispiel zeigt, wie die Funktion zum Herunterladen des FlexVPN AnyConnect-Profils konfiguriert wird:
Hinweis: Sie müssen die Datei "Lokale Richtlinie" auf dem AnyConnect-Client-Computer nicht ändern. Nach der Konfiguration der Funktion zum Downloaden von Anyconnect-Profilen mit IKEv2 funktioniert das VPN Downloader-Modul einwandfrei - das erforderliche XML-Profil wird automatisch auf dem Client-Gerät aktualisiert, falls das XML-Profil aktualisiert wird.
Hinweis: Sie dürfen den HTTPS-Server und die SSL-Richtlinie nicht zusammen verwenden. Bevor die SSL-Richtlinie aktiviert wird, entfernen Sie den Befehl ip http secure-server. Wenn beide Funktionen gleichzeitig aktiviert sind und das Gerät eine eingehende SSL VPN-Verbindung erhält, kann das Gerät abstürzen.
no ip http secure-server
crypto ssl policy ssl-policy
pki trustpoint IKEv2-TP sign
ip address local 10.0.0.1 port 443
no shutdown
crypto ssl profile ssl_prof
match policy ssl-policy
Dieser Schritt ist nur erforderlich, wenn eine ältere Version als 16.9.1 verwendet wird. Vor dieser Version war die Funktion zum Hochladen des XML-Profils auf den Router nicht verfügbar. Der Secure Client (AnyConnect) versucht, den Download des XML-Profils nach erfolgreicher Anmeldung standardmäßig durchzuführen. Wenn das Profil nicht verfügbar ist, schlägt die Verbindung fehl. Als Problemumgehung ist es möglich, die Download-Funktion für AnyConnect-Profile auf dem Client selbst zu deaktivieren. Um dies zu tun, kann diese Datei geändert werden:
For Windows:
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\AnyConnectLocalPolicy.xml
For MAC OS:
/opt/cisco/anyconnect/AnyConnectLocalPolicy.xml
Die Option BypassDownloader ist auf true festgelegt. Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectLocalPolicy xmlns="http://schemas.xmlsoap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap/encoding/ AnyConnectLocalPolicy.xsd" acversion="4.6.03049">
<BypassDownloader>true</BypassDownloader>
<EnableCRLCheck>false</EnableCRLCheck>
<ExcludeFirefoxNSSCertStore>false</ExcludeFirefoxNSSCertStore>
<ExcludeMacNativeCertStore>false</ExcludeMacNativeCertStore>
<ExcludePemFileCertStore>false</ExcludePemFileCertStore>
<ExcludeWinNativeCertStore>false</ExcludeWinNativeCertStore>
<FipsMode>false</FipsMode>
<RestrictPreferenceCaching>false</RestrictPreferenceCaching>
<RestrictTunnelProtocols>false</RestrictTunnelProtocols>
<RestrictWebLaunch>false</RestrictWebLaunch>
<StrictCertificateTrust>false</StrictCertificateTrust>
<UpdatePolicy>
<AllowComplianceModuleUpdatesFromAnyServer>true</AllowComplianceModuleUpdatesFromAnyServer>
<AllowISEProfileUpdatesFromAnyServer>true</AllowISEProfileUpdatesFromAnyServer>
<AllowServiceProfileUpdatesFromAnyServer>true</AllowServiceProfileUpdatesFromAnyServer>
<AllowSoftwareUpdatesFromAnyServer>true</AllowSoftwareUpdatesFromAnyServer>
<AllowVPNProfileUpdatesFromAnyServer>true</AllowVPNProfileUpdatesFromAnyServer></UpdatePolicy>
</AnyConnectLocalPolicy>
Nach der Änderung muss der AnyConnect-Client neu gestartet werden.
Nach der Neuinstallation von AnyConnect (ohne Hinzufügen von XML-Profilen) kann der Benutzer den FQDN des VPN-Gateways manuell in die Adressleiste des AnyConnect-Clients eingeben. Daraus ergibt sich die SSL-Verbindung zum Gateway. Der AnyConnect-Client versucht nicht, standardmäßig den VPN-Tunnel mit IKEv2/IPsec-Protokollen einzurichten. Aus diesem Grund ist die Installation des XML-Profils auf dem Client-PC erforderlich, um den IKEv2/IPsec-Tunnel mit dem FlexVPN-Gateway einzurichten.
Das Profil wird verwendet, wenn es in der Dropdown-Liste der AnyConnect-Adressleiste ausgewählt ist.
Der Name, der in der Liste angezeigt wird, wird im Feld Anzeigename im AnyConnect-Profil-Editor -> Serverliste -> Serverlisteneintrag angegeben.
Das XML-Profil kann je nach Client-Betriebssystem manuell in einem Verzeichnis abgelegt werden:
For Windows:
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile
For MAC OS:
/opt/cisco/anyconnect/profile
Der AnyConnect-Client muss neu gestartet werden, damit das Profil in der GUI sichtbar wird. Es reicht nicht aus, das AnyConnect-Fenster zu schließen. Der Prozess kann neu gestartet werden, indem Sie mit der rechten Maustaste auf das AnyConnect-Symbol in der Windows-Taskleiste klicken und die Option Beenden auswählen:
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
! Check IKEv2 SA parameters
Router# show crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 192.0.2.1/4500 192.0.2.100/50899 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: RSA, Auth verify: AnyConnect-EAP
Life/Active Time: 86400/758 sec
CE id: 1004, Session-id: 4
Status Description: Negotiation done
Local spi: 413112E83D493428 Remote spi: 696FA78292A21EA5
Local id: 192.0.2.1
Remote id: *$AnyConnectClient$*
Remote EAP id: test <------ username
Local req msg id: 0 Remote req msg id: 31
Local next msg id: 0 Remote next msg id: 31
Local req queued: 0 Remote req queued: 31
Local window: 5 Remote window: 1
DPD configured for 0 seconds, retry 0
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.10.8. <---- Assigned IP
Initiator of SA : No
! Check the crypto session information
Router# show 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-Access1. <----- Virtual interface associated with the client
Profile: AnyConnect-EAP
Uptime: 00:14:54
Session status: UP-ACTIVE
Peer: 192.0.2.100 port 50899 fvrf: (none) ivrf: (none). <----- Public IP of the remote client
Phase1_id: *$AnyConnectClient$*
Desc: (none)
Session ID: 8
IKEv2 SA: local 192.0.2.1/4500 remote 192.0.2.100/50899 Active
Capabilities:N connid:1 lifetime:23:45:06
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.10.8
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 89 drop 0 life (KB/Sec) 4607990/2705. <------ Packets received from the client
Outbound: #pkts enc'ed 2 drop 0 life (KB/Sec) 4607999/2705. <------ Packets sent to the client
! Check the actual configuration applied for the Virtual-Acces interface associated with client
Router# show derived-config interface virtual-access 1.
Building configuration...
Derived configuration : 258 bytes
!
interface Virtual-Access1
ip unnumbered Loopback100
ip mtu 1400
ip nat inside
tunnel source 192.0.2.1
tunnel mode ipsec ipv4
tunnel destination 192.0.2.100
tunnel protection ipsec profile AnyConnect-EAP
no tunnel protection ipsec initiate
end
In diesem Abschnitt finden Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.
debug crypto ikev2
debug crypto ikev2 packet
debug crypto ikev2 error
debug aaa authorization
debug aaa authentication
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
2.0 |
24-Apr-2023 |
Rezertifizierung |
1.0 |
08-Jul-2016 |
Erstveröffentlichung |