In diesem Dokument wird beschrieben, wie die Cisco Adaptive Security Appliance (ASA) so konfiguriert wird, dass WebVPN-Benutzeranmeldeinformationen sowie die sekundäre Authentifizierung automatisch an Server weitergegeben werden, die eine zusätzliche Anmeldevalidierung für Windows Active Directory mit NT LAN Manager Version 1 (NTLMv1) benötigen. Diese Funktion wird als Single-Sign-on (SSO) bezeichnet. Sie bietet Links, die für eine bestimmte WebVPN-Gruppe konfiguriert sind, die Möglichkeit, diese Benutzerauthentifizierungsinformationen weiterzugeben, sodass mehrere Authentifizierungsaufforderungen wegfallen. Diese Funktion kann auch auf globaler Ebene oder auf Ebene der Benutzerkonfiguration verwendet werden.
Stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind, bevor Sie diese Konfiguration ausprobieren:
Stellen Sie sicher, dass NTLMv1- und Windows-Berechtigungen für die Ziel-VPN-Benutzer konfiguriert sind. Weitere Informationen zu Windows-Domänenzugriffsrechten finden Sie in der Microsoft-Dokumentation.
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Cisco ASA 7.1(1)
Cisco Adaptive Security Device Manager (ASDM) 5.1(2)
Microsoft Internetinformationsdienste (IIS)
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 Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
In diesem Abschnitt werden Informationen zur Konfiguration der ASA als WebVPN-Server mit SSO angezeigt.
Hinweis: Verwenden Sie das Tool für die Suche nach Befehlen (nur registrierte Kunden), um weitere Informationen zu den in diesem Abschnitt verwendeten Befehlen zu erhalten.
Führen Sie diese Schritte aus, um die ASA so zu konfigurieren, dass sie einen Domänencontroller für die Authentifizierung verwendet.
Wählen Sie Configuration > Properties > AAA Setup > AAA Servers aus, und klicken Sie auf Add. Geben Sie einen Namen für die Servergruppe an, z. B. Windows_NT, und wählen Sie als Protokoll NT Domain (NT-Domäne) aus.
Einen Windows-Server hinzufügen.
Wählen Sie die neu erstellte Gruppe aus, und klicken Sie auf Hinzufügen. Wählen Sie die Schnittstelle aus, auf der sich der Server befindet, und geben Sie die IP-Adresse und den Namen des Domänencontrollers ein. Stellen Sie sicher, dass der Name des Domänencontrollers in Großbuchstaben eingegeben ist. Klicken Sie abschließend auf OK.
Dieses Fenster zeigt die abgeschlossene AAA-Konfiguration an:
Führen Sie diese Schritte aus, um die ASA für die Verwendung eines selbstsignierten Zertifikats zu konfigurieren.
Hinweis: In diesem Beispiel wird der Einfachheit halber ein selbstsigniertes Zertifikat verwendet. Weitere Optionen für die Zertifikatregistrierung, z. B. die Registrierung bei einer externen Zertifizierungsstelle, finden Sie unter Konfigurieren von Zertifikaten.
Wählen Sie Configuration > Properties > Certificate > Trustpoint > Configuration aus, und klicken Sie auf Add.
Geben Sie im nun angezeigten Fenster einen Vertrauenspunktnamen wie Local-TP ein, und aktivieren Sie Bei der Registrierung die Option Ein selbstsigniertes Zertifikat generieren. Bei anderen Optionen können die Standardeinstellungen beibehalten werden. Klicken Sie abschließend auf OK.
In diesem Fenster wird die abgeschlossene Vertrauenspunktkonfiguration angezeigt:
Führen Sie diese Schritte aus, damit Benutzer außerhalb Ihres Netzwerks eine Verbindung über WebVPN herstellen können.
Wählen Sie Configuration > VPN > WebVPN > WebVPN Access aus.
Wählen Sie die gewünschte Schnittstelle aus, klicken Sie auf Enable (Aktivieren), und aktivieren Sie das Kontrollkästchen Enable Tunnel Group Drop-down List (Tunnel-Gruppe aktivieren) auf der WebVPN-Anmeldeseite.
Hinweis: Wenn dieselbe Schnittstelle für den WebVPN- und ASDM-Zugriff verwendet wird, müssen Sie den Standardport für den ASDM-Zugriff von Port 80 in einen neuen Port wie 8080 ändern. Dies geschieht unter Konfiguration > Eigenschaften > Gerätezugriff > HTTPS/ASDM.
Hinweis: Sie können einen Benutzer automatisch an Port 443 weiterleiten, wenn der Benutzer anstelle von https://<ip_address> zu http://<ip_address> navigiert. Wählen Sie Konfiguration > Eigenschaften > HTTP/HTTPS aus, wählen Sie die gewünschte Schnittstelle aus, klicken Sie auf Bearbeiten, und wählen Sie HTTP an HTTPS umleiten aus.
Führen Sie diese Schritte aus, um eine Liste mit den Servern zu erstellen, für die Sie den WebVPN-Benutzern Zugriff gewähren möchten.
Wählen Sie Configuration > VPN > WebVPN > Servers and URLs aus, und klicken Sie auf Add.
Geben Sie einen Namen für die URL-Liste ein. Dieser Name ist für Endbenutzer nicht sichtbar. Klicken Sie auf Hinzufügen.
Geben Sie den Namen für die URL-Anzeige ein, wie er den Benutzern angezeigt werden soll. Geben Sie die URL-Informationen des Servers ein. So sollten Sie normalerweise auf den Server zugreifen.
Klicken Sie auf OK, OK und dann auf Apply.
Führen Sie diese Schritte aus, um eine Gruppenrichtlinie für Ihre WebVPN-Benutzer zu konfigurieren.
Wählen Sie Configuration > VPN > General > Group Policy aus, klicken Sie auf Add, und wählen Sie Internal Group Policy aus.
Geben Sie auf der Registerkarte Allgemein einen Richtliniennamen wie Internal-Group_POL_WEBVPN an. Deaktivieren Sie dann Vererben neben Tunneling-Protokolle, und aktivieren Sie WebVPN.
Wählen Sie auf der Registerkarte WebVPN die Unterregisterkarte Andere aus. Deaktivieren Sie Vererben neben Server und URL-Listen, und wählen Sie die von Ihnen konfigurierte URL-Liste aus der Dropdown-Liste aus. Klicken Sie abschließend auf OK.
Führen Sie diese Schritte aus, um eine Tunnelgruppe für Ihre WebVPN-Benutzer zu konfigurieren.
Wählen Sie Configuration > VPN > General > Tunnel Group aus, klicken Sie auf Add, und wählen Sie WebVPN Access...
Geben Sie einen Namen für die Tunnelgruppe ein, z. B. WEB_VPN-GRP. Wählen Sie auf der Registerkarte Basic (Grundlegend) die von Ihnen erstellte Gruppenrichtlinie aus, und überprüfen Sie, ob als Gruppentyp webvpn ausgewählt ist.
Wechseln Sie zur Registerkarte AAA.
Wählen Sie als Authentication Server Group (Authentifizierungsservergruppe) die Gruppe aus, die Sie konfiguriert haben, um die NTLMv1-Authentifizierung mit dem Domänencontroller zu aktivieren.
Optional: Aktivieren Sie Use LOCAL if Server Group Fail (LOKAL verwenden, falls die Servergruppe fehlschlägt), um die Verwendung der LOKALEN Benutzerdatenbank für den Fall zu aktivieren, dass die konfigurierte AAA-Gruppe ausfällt. Dies kann Ihnen bei der Fehlerbehebung zu einem späteren Zeitpunkt helfen.
Wechseln Sie zur Registerkarte WebVPN, und wechseln Sie dann zur Unterregisterkarte Gruppenaliase und URLs.
Geben Sie unter Gruppenaliase einen Alias ein, und klicken Sie auf Hinzufügen. Dieser Alias wird bei der Anmeldung in der Dropdown-Liste angezeigt, die den WebVPN-Benutzern angezeigt wird.
Klicken Sie auf OK und dann auf Apply (Übernehmen).
Wechseln Sie zur Befehlszeile, um SSO für Ihre internen Server zu aktivieren.
Hinweis: Dieser Schritt kann im ASDM nicht abgeschlossen werden und muss über die Befehlszeile durchgeführt werden. Weitere Informationen finden Sie unter Zugriff auf die Befehlszeilenschnittstelle.
Verwenden Sie den Befehl auto-signon, um die Netzwerkressource (z. B. einen Server) anzugeben, auf die die Benutzer Zugriff erhalten sollen. Hier wird eine einzelne Server-IP-Adresse konfiguriert, es kann jedoch auch ein Netzwerkbereich wie 10.1.1.0 /24 angegeben werden. Weitere Informationen finden Sie unter dem Befehl auto-signon.
ASA>enable ASA#configure terminal ASA(config)#webvpn ASA(config-webpvn)#auto-signon allow ip 10.1.1.200 255.255.255.255 auth-type ntlm ASA(config-webvpn)#quit ASA(config)#exit ASA#write memory
In diesem Beispiel wird der Befehl auto-signon global für WebVPN konfiguriert. Dieser Befehl kann auch im Konfigurationsmodus für die WebVPN-Gruppe oder den WebVPN-Benutzernamen verwendet werden. Die Verwendung dieses Befehls im WebVPN-Gruppenkonfigurationsmodus beschränkt ihn auf eine bestimmte Gruppe. Ebenso wird durch die Verwendung dieses Befehls im WebVPN-Konfigurationsmodus für Benutzernamen dieser auf einen einzelnen Benutzer beschränkt. Weitere Informationen finden Sie unter dem Befehl auto-signon.
In diesem Dokument wird diese Konfiguration verwendet:
ASA Version 7.1(1) |
---|
ASA# show running-config : Saved : ASA Version 7.1(1) ! terminal width 200 hostname ASA domain-name cisco.com enable password 8Ry2YjIyt7RRXU24 encrypted names ! interface GigabitEthernet0/0 nameif outside security-level 0 ip address 172.16.171.51 255.255.255.0 ! interface GigabitEthernet0/1 nameif inside security-level 100 ip address 10.1.1.1 255.255.255.0 ! interface GigabitEthernet0/2 shutdown no nameif no security-level no ip address ! interface GigabitEthernet0/3 shutdown no nameif no security-level no ip address ! interface Management0/0 shutdown no nameif no security-level no ip address ! passwd 2KFQnbNIdI.2KYOU encrypted ftp mode passive dns server-group DefaultDNS domain-name cisco.com pager lines 24 mtu inside 1500 mtu outside 1500 no failover asdm image disk0:/asdm512.bin no asdm history enable arp timeout 14400 route outside 0.0.0.0 0.0.0.0 172.16.171.1 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 timeout mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute !--- AAA server configuration aaa-server Windows_NT protocol nt aaa-server Windows_NT host 10.1.1.200 nt-auth-domain-controller ESC-SJ-7800 !--- Internal group policy configuration group-policy Internal-GRP_POL_WEBVPN internal group-policy Internal-GRP_POL_WEBVPN attributes vpn-tunnel-protocol webvpn webvpn url-list value webserver username cisco password Q/odgwmtmVIw4Dcm encrypted privilege 15 aaa authentication http console LOCAL aaa authentication ssh console LOCAL aaa authentication enable console LOCAL http server enable 8181 http 0.0.0.0 0.0.0.0 outside no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstart !--- Trustpoint/certificate configuration crypto ca trustpoint Local-TP enrollment self crl configure crypto ca certificate chain Local-TP certificate 31 308201b0 30820119 a0030201 02020131 300d0609 2a864886 f70d0101 04050030 1e311c30 1a06092a 864886f7 0d010902 160d4153 412e6369 73636f2e 636f6d30 1e170d30 36303333 30313334 3930345a 170d3136 30333237 31333439 30345a30 1e311c30 1a06092a 864886f7 0d010902 160d4153 412e6369 73636f2e 636f6d30 819f300d 06092a86 4886f70d 01010105 0003818d 00308189 02818100 e47a29cd 56becf8d 99d6d919 47892f5a 1b8fc5c0 c7d01ea6 58f3bec4 a60b2025 03748d5b 1226b434 561e5507 5b45f30e 9d65a03f 30add0b5 81f6801a 766c9404 9cabcbde 44b221f9 b6d6dc18 496fe5bb 4983927f adabfb17 68b4d22c cddfa6c3 d8802efc ec3af7c7 749f0aa2 3ea2c7e3 776d6d1d 6ce5f748 e4cda3b7 4f007d4f 02030100 01300d06 092a8648 86f70d01 01040500 03818100 c6f87c61 534bb544 59746bdb 4e01680f 06a88a15 e3ed8929 19c6c522 05ec273d 3e37f540 f433fb38 7f75928e 1b1b6300 940b8dff 69eac16b af551d7f 286bc79c e6944e21 49bf15f3 c4ec82d8 8811b6de 775b0c57 e60a2700 fd6acc16 a77abee6 34cb0cad 81dfaf5a f544258d cc74fe2d 4c298076 294f843a edda3a0a 6e7f5b3c quit !--- Tunnel group configuration tunnel-group WEB_VPN-GRP type webvpn tunnel-group WEB_VPN-GRP general-attributes authentication-server-group Windows_NT default-group-policy Internal-GRP_POL_WEBVPN tunnel-group WEB_VPN-GRP webvpn-attributes group-alias Group-Selection enable telnet timeout 5 ssh timeout 5 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map global_policy class inspection_default inspect dns maximum-length 512 inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy global_policy global !--- WebVPN Configuration webvpn enable outside url-list webserver "Internal Server" https://10.1.1.200 1 tunnel-group-list enable auto-signon allow ip 10.1.1.200 255.255.255.255 auth-type ntlm Cryptochecksum:c80ac5f6232df50fc1ecc915512c3cd6 : end |
Nutzen Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Das Output Interpreter-Tool (OIT) (nur registrierte Kunden) unterstützt bestimmte show-Befehle. Verwenden Sie das OIT, um eine Analyse der show-Befehlsausgabe anzuzeigen.
Melden Sie sich als Benutzer an, um Ihre Konfiguration zu testen.
Versuchen Sie, sich mit den Benutzerinformationen Ihrer NT-Domäne bei der ASA anzumelden. Wählen Sie den Gruppenalias aus, der in Schritt 5 unter Konfigurieren einer Tunnelgruppe konfiguriert wurde.
Suchen Sie nach den Verbindungen, die für den/die internen Server konfiguriert wurden. Klicken Sie auf den Link, um zu überprüfen.
Wählen Sie Monitoring > VPN > VPN Statistics > Sessions aus, und suchen Sie nach einer WebVPN-Sitzung, die zu der in diesem Dokument konfigurierten Gruppe gehört.
Diese Ausgabe ist ein Beispiel für das Debuggen einer erfolgreichen WebVPN-Sitzung.
Hinweis: Lesen Sie den Artikel Important Information on Debug Commands (Wichtige Informationen zu Debug-Befehlen), bevor Sie debug-Befehle verwenden.
ASA#debug webvpn 255 INFO: debug webvpn enabled at level 255 ASA# ASA# webvpn_portal.c:ewaFormServe_webvpn_login[1570] webvpn_portal.c:http_webvpn_kill_cookie[385] webvpn_auth.c:webvpn_auth[286] WebVPN: no cookie present!! webvpn_portal.c:ewaFormSubmit_webvpn_login[1640] webvpn_portal.c:http_webvpn_kill_cookie[385] webvpn_auth.c:http_webvpn_pre_authentication[1782] !--- Begin AAA WebVPN: calling AAA with ewsContext (78986968) and nh (78960800)! WebVPN: started user authentication... webvpn_auth.c:webvpn_aaa_callback[3422] WebVPN: AAA status = (ACCEPT) webvpn_portal.c:ewaFormSubmit_webvpn_login[1640] webvpn_auth.c:http_webvpn_post_authentication[1095] WebVPN: user: (test) authenticated. !--- End AAA webvpn_auth.c:http_webvpn_auth_accept[2093] webvpn_session.c:http_webvpn_create_session[159] webvpn_session.c:http_webvpn_find_session[136] WebVPN session created! webvpn_session.c:http_webvpn_find_session[136] webvpn_db.c:webvpn_get_server_db_first[161] webvpn_db.c:webvpn_get_server_db_next[202] traversing list: (webserver) webvpn_portal.c:ewaFormServe_webvpn_cookie[1421] webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. !--- Output supressed webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924]
In diesem Abschnitt finden Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.
Wenn das Dropdown-Feld Group (Gruppe) auf der WebVPN-Anmeldeseite nicht angezeigt wird, stellen Sie sicher, dass Sie Schritt 2 unter Enable WebVPN on the Outside Interface (WebVPN auf der externen Schnittstelle aktivieren) und Schritt 5 unter Configure a Tunnel Group (Tunnelgruppe konfigurieren) abgeschlossen haben. Wenn diese Schritte nicht durchgeführt werden und das Dropdown-Menü fehlt, fällt die Authentifizierung unter die Standardgruppe und schlägt wahrscheinlich fehl.
Sie können Benutzern in ASDM oder auf der ASA zwar keine Zugriffsrechte zuweisen, Sie können jedoch Benutzern mit Microsoft Windows-Zugriffsrechten auf dem Domänencontroller Beschränkungen auferlegen. Fügen Sie die erforderlichen NT-Gruppenberechtigungen für die Webseite hinzu, bei der sich der Benutzer authentifiziert. Sobald sich der Benutzer mit den Berechtigungen der Gruppe bei WebVPN anmeldet, wird der Zugriff auf die angegebenen Seiten entsprechend gewährt oder verweigert. Die ASA agiert nur als Proxy-Authentifizierungshost im Auftrag des Domänencontrollers, und die gesamte Kommunikation in diesem Fall erfolgt über NTLMv1.
Sie können SSO nicht für Sharepoint über WebVPN konfigurieren, da der Sharepoint Server keine formularbasierte Authentifizierung unterstützt. Daher sind die Lesezeichen mit Post oder das Post-Plugin-Verfahren hier nicht anwendbar.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
28-Apr-2006 |
Erstveröffentlichung |