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 beschrieben, wie Sie die Sicherheit Ihrer Remote Access VPN-Implementierung verbessern können.
Cisco empfiehlt Ihnen, sich mit folgenden Themen vertraut zu machen:
Der Leitfaden mit Best Practices basiert auf den folgenden Hardware- und Softwareversionen:
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.
Achtung: Dieses Dokument enthält keine Schritte für den FirePOWER Geräte-Manager (FDM). Der FDM unterstützt nur das Ändern der Authentifizierungsmethode in der DefaultWEBVPNGroup-Gruppe. Verwenden Sie Kontrollebenen-ACLs oder einen benutzerdefinierten Port im Abschnitt "Globale Einstellungen" des Remote Access-VPN in der FDM-Benutzeroberfläche. Wenden Sie sich bei Bedarf an das Cisco Technical Assistance Center (TAC).
Mit diesem Dokument soll sichergestellt werden, dass die Cisco Secure Client AnyConnect VPN-Konfiguration den Best Practices für die Sicherheit in einer modernen Welt entspricht, in der Cyberangriffe weit verbreitet sind.
Brute-Force-Angriffe beinhalten in der Regel wiederholte Versuche, über eine Kombination aus Benutzername und Passwort Zugriff auf eine Ressource zu erhalten. Angreifer versuchen, ihren Internet-Browser, die Secure Client-Benutzeroberfläche oder andere Tools zu verwenden, um mehrere Benutzernamen und Kennwörter einzugeben, in der Hoffnung, dass sie mit einer legitimen Kombination in einer AAA-Datenbank übereinstimmen. Bei Verwendung von AAA für die Authentifizierung erwarten wir, dass der Endbenutzer seinen Benutzernamen und sein Kennwort eingibt, da dies für die Herstellung der Verbindung erforderlich ist. Gleichzeitig überprüfen wir erst, wer der Benutzer ist, wenn er seine Anmeldeinformationen eingegeben hat. Dadurch können Angreifer die folgenden Szenarien ausnutzen:
Gruppenaliase:
Gruppen-URLs:
Der Unterschied besteht darin, dass bei der Implementierung von Gruppenaliasen ein Benutzer eine Verbindung to vpn_gateway.example.com herstellt und Aliase erhält, die ihn zu einem Verbindungsprofil führen. Mit Gruppen-URLs stellt ein Benutzer eine Verbindung zu vpn_gateway.example.com/example_group her und leitet diese direkt zum Verbindungsprofil weiter, ohne dass ein Dropdown-Menü erforderlich oder verfügbar wäre.
Diese Methoden basieren auf der Zuordnung legitimer Benutzer zu entsprechenden Tunnelgruppen/Verbindungsprofilen, während potenziell böswillige Benutzer an eine Trap-Tunnelgruppe gesendet werden, die wir so konfigurieren, dass sie keine Kombinationen von Benutzernamen und Kennwort zulassen. Obwohl nicht alle Kombinationen implementiert werden müssen, müssen Gruppenaliase deaktiviert und die Authentifizierungsmethode von DefaultWEBVPNGroup und DefaultRAGroup geändert werden, damit die Empfehlungen wirksam funktionieren.
Hinweis: Weitere Informationen zur Gruppenalias-Funktion finden Sie im ASA VPN-Konfigurationshandbuch unter "Tabelle 1. Connection Profile Attributes for SSL VPN'.
Brute-Force-Angriffe stellen die vorherrschende Methode zur Kompromittierung von Remote Access-VPNs dar. Dabei werden schwache Passwörter ausgenutzt, um sich unbefugten Zugriff zu verschaffen. Es ist wichtig zu wissen, wie man Anzeichen eines Angriffs erkennt, indem man die Verwendung von Protokollierung und Auswertung von Syslogs nutzt. Gängige Syslogs-IDs, die auf einen Angriff hinweisen können, wenn ein ungewöhnliches Volume auftritt, sind:
%ASA-6-113015
%ASA-6-113015: AAA user authentication Rejected : reason = User was not found : local database : user = admin : user IP = x.x.x.x
%ASA-6-113005
%ASA-6-113005: AAA user authentication Rejected : reason = Unspecified : server = x.x.x.x : user = ***** : user IP = x.x.x.x
%ASA-6-716039
%ASA-6-716039: Group <DfltGrpPolicy> User <admin> IP <x.x.x.x> Authentication: rejected, Session Type: WebVPN
Der Benutzername wird immer ausgeblendet, bis der Befehl no logging hide username auf der ASA konfiguriert wird.
Hinweis: Hinweis: Dies gibt Aufschluss darüber, ob gültige Benutzer von IP-Adressen mit Sicherheitsverletzungen erstellt wurden oder bekannt sind. Seien Sie jedoch vorsichtig, da die Benutzernamen in den Protokollen angezeigt werden.
Cisco ASA-Protokollierung:
Protokollierung des Kapitels Cisco Secure Firewall ASA-Serie Allgemeiner CLI-Konfigurationsleitfaden für den Betrieb
Cisco FTD-Protokollierung:
Konfigurieren der Protokollierung auf FTD über FMC
Konfigurieren Sie den Abschnitt Syslog im Kapitel "Plattform-Einstellungen" des Cisco Secure Firewall Management Center Gerätekonfigurationsleitfadens.
Konfiguration und Überprüfung des Syslog im FirePOWER Geräte-Manager
Konfigurieren der Systemprotokollierungseinstellungen im Kapitel "Systemeinstellungen" des Cisco Firepower Threat Defense Configuration Guide for Firepower Device Manager
Melden Sie sich zur Überprüfung bei der ASA- oder FTD-Befehlszeilenschnittstelle (CLI) an, führen Sie den Befehl show aaa-server aus, und untersuchen Sie die Anzahl der Authentifizierungsanforderungen, die an einen der konfigurierten AAA-Server gesendet wurden, auf ungewöhnlich viele, versucht oder abgelehnt wurden:
ciscoasa# show aaa-server
Server Group: LOCAL - - - - - >>>> Sprays against the LOCAL database
Server Protocol: Local database
Server Address: None
Server port: None
Server status: ACTIVE, Last transaction at 16:46:01 UTC Fri Mar 22 2024
Number of pending requests 0
Average round trip time 0ms
Number of authentication requests 8473575 - - - - - >>>> Unusual increments
Number of authorization requests 0
Number of accounting requests 0
Number of retransmissions 0
Number of accepts 0
Number of rejects 8473574 - - - - - >>>> Unusual increments
ciscoasa# show aaa-server
Server Group: LDAP-SERVER - - - - - >>>> Sprays against the LDAP server
Server Protocol: ldap
Server Hostname: ldap-server.example.com
Server Address: 10.10.10.10
Server port: 636
Server status: ACTIVE, Last transaction at unknown
Number of pending requests 0
Average round trip time 0ms
Number of authentication requests 2228536 - - - - - >>>> Unusual increments
Number of authorization requests 0
Number of accounting requests 0
Number of retransmissions 0
Number of accepts 1312
Number of rejects 2225363 - - - - - >>>> Unusual increments
Number of challenges 0
Number of malformed responses 0
Number of bad authenticators 0
Number of timeouts 1
Number of unrecognized responses 0
Navigieren Sie zu Geräte > Remotezugriff.
Bearbeiten Sie die vorhandene VPN-Richtlinie für den Remote-Zugriff, und erstellen Sie ein Verbindungsprofil mit dem Namen "DefaultRAGroup".
Bearbeiten Sie die Verbindungsprofile 'DefaultWEBVPNGroup' und 'DefaultRAGroup'.
Navigieren Sie zur Registerkarte AAA, und wählen Sie das Dropdown-Menü Authentication Method aus. Wählen Sie 'Nur Client-Zertifikat' und dann Speichern.
Bearbeiten Sie DefaultRAGroup, und navigieren Sie zur Registerkarte AAA, und wählen Sie das Dropdown-Menü Authentication Method (Authentifizierungsmethode) aus. Wählen Sie 'Nur Client-Zertifikat' und dann Speichern aus.
Hinweis: Bei der Authentifizierungsmethode kann es sich auch um einen Sinkhole-AAA-Server handeln. Wenn diese Methode verwendet wird, ist die AAA-Serverkonfiguration gefälscht und verarbeitet keine Anforderungen. Außerdem muss auf der Registerkarte "Client Address Assignment" (Client-Adressenzuweisung) ein VPN-Pool definiert werden, um die Änderungen zu speichern.
Dies ist nur erforderlich, wenn Sie Hostscan/Secure Firewall Posture in Ihrer Umgebung haben. Dieser Schritt verhindert, dass Angreifer die durch den Endpunkt-Scanvorgang verursachte Ressourcennutzung auf der Firewall erhöhen. Im FMC wird dies durch das Erstellen eines FlexConfig-Objekts mit dem Befehl without-csd erreicht, um die Endpunkt-Scanfunktion zu deaktivieren.
Navigieren Sie zu Objekte > Objektverwaltung > FlexConfig-Objekt > FlexConfig-Objekt hinzufügen.
Nennen Sie das FlexConfig-Objekt, und legen Sie die Bereitstellung auf Everytime mit dem Typ Append fest. Geben Sie dann die Syntax genau wie dargestellt ein, und speichern Sie das Objekt.
Navigieren Sie zu Devices > FlexConfig, und klicken Sie dann auf den Bleistift, um die FlexConfig-Richtlinie zu bearbeiten.
Suchen Sie das Objekt, das Sie im Abschnitt Benutzerdefiniert erstellt haben. Klicken Sie anschließend auf den Pfeil, um es zu "Ausgewählte FlexConfigs anhängen" hinzuzufügen. Wählen Sie abschließend Speichern, um die FlexConfig-Richtlinie zu speichern.
Wählen Sie Policy Assignments (Richtlinienzuweisungen) und das FTD aus, auf das Sie diese FlexConfig-Richtlinie anwenden möchten. Wählen Sie anschließend OK. Wählen Sie erneut Speichern, wenn es sich um eine neue FlexConfig-Zuweisung handelt, und stellen Sie die Änderungen bereit. Überprüfen Sie nach der Bereitstellung
Geben Sie die FTD-CLI ein, und geben Sie den Befehl show run tunnel-group für DefaultWEBVPNGroup und DefaultRAGroup aus. Vergewissern Sie sich, dass "without-csd" in der Konfiguration vorhanden ist.
FTD72# show run tunnel-group DefaultRAGroup
tunnel-group DefaultRAGroup general-attributes
address-pool TEST-POOL
tunnel-group DefaultRAGroup webvpn-attributes
authentication certificate
without-csd
FTD72# show run tunnel-group DefaultWEBVPNGroup
tunnel-group DefaultWEBVPNGroup general-attributes
address-pool TEST-POOL
tunnel-group DefaultWEBVPNGroup webvpn-attributes
authentication certificate
without-csd
Navigieren Sie zu einem Verbindungsprofil und wählen Sie die Registerkarte 'Aliase'. Löschen Sie den Gruppenalias, und klicken Sie auf das Pluszeichen, um einen URL-Alias hinzuzufügen.
Konfigurieren Sie einen Objektnamen für den URL-Alias, und geben Sie den FQDN und/oder die IP-Adresse der Firewall für die URL ein, gefolgt vom Namen, mit dem Sie das Verbindungsprofil verknüpfen möchten. In diesem Beispiel haben wir 'aaaldap' gewählt. Je obskurer, desto sicherer, da es für Angreifer weniger wahrscheinlich ist, die vollständige URL zu erraten, selbst wenn sie Ihren FQDN erhalten haben. Wählen Sie anschließend Speichern aus.
Wählen Sie aus dem Dropdown-Menü den URL-Alias aus, aktivieren Sie das Kontrollkästchen Enabled (Aktiviert), und wählen Sie OK.
Vergewissern Sie sich, dass der Gruppenalias gelöscht wurde, und stellen Sie sicher, dass der URL-Alias jetzt aktiviert ist. Wählen Sie anschließend Speichern.
Bei Bedarf können URL-Aliase auch als Teil des XML-Codes weitergegeben werden. Dies wird durch die Bearbeitung des XML-Codes mit dem VPN Profile Editor oder dem ASA Profile Editor erreicht. Navigieren Sie zu diesem Zweck zur Registerkarte "Serverliste", und stellen Sie sicher, dass das Feld "Benutzergruppe" bei Verwendung von SSL mit dem URL-Alias des Verbindungsprofils übereinstimmt. Stellen Sie bei IKEv2 sicher, dass das Feld User Group (Benutzergruppe) mit dem genauen Namen des Verbindungsprofils übereinstimmt.
Navigieren Sie zur Registerkarte Advanced (Erweitert) in der VPN-Richtlinie für den Remote-Zugriff. Wählen Sie je nach Präferenz eine allgemeine Einstellungsoption aus. Wählen Sie anschließend Zuordnung hinzufügen aus.
Geben Sie dem Zertifikatzuordnungsobjekt einen Namen, und wählen Sie Regel hinzufügen aus. Definieren Sie in dieser Regel die Eigenschaften des Zertifikats, das Sie identifizieren möchten, um den Benutzer einem bestimmten Verbindungsprofil zuzuordnen. Wählen Sie anschließend OK und anschließend Speichern.
Wählen Sie aus dem Dropdown-Menü das Zertifikatzuordnungsobjekt und das Verbindungsprofil aus, dem die Zertifikatzuordnung zugeordnet werden soll. Wählen Sie dann OK aus.
Vergewissern Sie sich, dass das Standardverbindungsprofil als DefaultWEBVPNGroup konfiguriert ist. Wenn ein Benutzer die Zuordnung nicht bekommt, wird er an DefaultWEBVPNGroup gesendet. Wählen Sie anschließend Speichern und verteilen Sie die Änderungen.
Wählen Sie das gewünschte IPsec-IKEv2-Verbindungsprofil aus, und navigieren Sie zu Gruppenrichtlinie bearbeiten.
Navigieren Sie auf der Registerkarte General (Allgemein) zum Abschnitt VPN Protocols (VPN-Protokolle), und stellen Sie sicher, dass das Kontrollkästchen IPsec-IKEv2 aktiviert ist.
Navigieren Sie im VPN Profile Editor oder ASA Profile Editor zur Registerkarte Server List (Serverliste). Der Benutzername für die Benutzergruppe MUSS exakt mit dem Namen des Verbindungsprofils auf der Firewall übereinstimmen. In diesem Beispiel war IKEV2 der Name des Verbindungsprofils/der Benutzergruppe. Das primäre Protokoll wird als IPsec konfiguriert. Der Anzeigename in wird dem Benutzer in der Secure Client-Benutzeroberfläche angezeigt, wenn eine Verbindung mit diesem Verbindungsprofil hergestellt wird.
Vorsicht: Eine SSL-Verbindung ist erforderlich, um XML-Profile von der Firewall an den Client zu übertragen. Wenn nur IKEV2-IPsec verwendet wird, müssen die XML-Profile über eine Out-of-Band-Methode an die Clients übertragen werden.
Sobald das XML-Profil an den Client übertragen wurde, verwendet der sichere Client die Benutzergruppe aus dem XML-Profil, um eine Verbindung mit dem IKEV2-IPsec-Verbindungsprofil herzustellen.
Geben Sie den Abschnitt "webvpn-attribute" für die Tunnelgruppe "DefaultWEBVPNGroup" ein, und geben Sie die Authentifizierung als zertifikatbasiert an. Wiederholen Sie diesen Vorgang für die DefaultRAGroup. Benutzer, die auf diesen Standard-Verbindungsprofilen landen, müssen ein Zertifikat für die Authentifizierung vorlegen. Sie erhalten keine Möglichkeit, Benutzernamen und Kennwörter einzugeben.
ASA# configure terminal
ASA(config)# tunnel-group DefaultWEBVPNGroup webvpn-attributes
ASA(config-tunnel-webvpn)# authentication certificate
ASA# configure terminal
ASA(config)# tunnel-group DefaultRAGroup webvpn-attributes
ASA(config-tunnel-webvpn)# authentication certificate
Dies ist nur erforderlich, wenn Sie Hostscan/Secure Firewall Posture in Ihrer Umgebung haben. Dieser Schritt verhindert, dass Angreifer die durch den Endpunkt-Scanvorgang verursachte Ressourcennutzung auf der Firewall erhöhen. Öffnen Sie den Abschnitt "webvpn-attribute" für die DefaultWEBVPNGroup- und DefaultRAGroup- sowie die Verbindungsprofile, und implementieren Sie without-csd, um die Funktion zum Scannen von Endpunkten zu deaktivieren.
ASA# configure terminal
ASA(config)# tunnel-group DefaultWEBVPNGroup webvpn-attributes
ASA(config-tunnel-webvpn)# without-csd
ASA# configure terminal
ASA(config)# tunnel-group DefaultRAGroup webvpn-attributes
ASA(config-tunnel-webvpn)# without-csd
Geben Sie die Tunnelgruppe(n) ein, mit der Benutzer eine Verbindung herstellen. Wenn bereits ein Gruppenalias vorhanden ist, entfernen Sie diesen. In diesem Beispiel wird sie entfernt. Erstellen Sie anschließend eine Gruppen-URL, die den FQDN oder die IP-Adresse der RAVPN-Terminierungsschnittstelle verwendet. Der Name am Ende der Gruppen-URL muss unklar sein. Vermeiden Sie gängige Werte wie VPN, AAA, RADIUS oder LDAP, da diese es Angreifern erleichtern, die vollständige URL zu erraten, wenn sie den FQDN erhalten. Verwenden Sie stattdessen intern relevante Namen, mit denen Sie die Tunnelgruppe identifizieren können.
ASA# configure terminal
ASA(config)# tunnel-group NAME webvpn-attributes
ASA(config-tunnel-webvpn)# no group-alias NAME
ASA(config-tunnel-webvpn)# group-url https://FQDN/name enable
Erstellen Sie im globalen Konfigurationsmodus eine Zertifikatszuordnung, und weisen Sie ihr einen Namen und eine Sequenznummer zu. Definieren Sie dann eine Regel, die die Benutzer zur Verwendung der Zuordnung abgleichen müssen. In diesem Beispiel müssen Benutzer die Kriterien eines gemeinsamen Namenswerts erfüllen, der "customvalue" entspricht. Geben Sie dann die WebVPN-Konfiguration ein, und wenden Sie die Zertifikatszuordnung auf die gewünschte Tunnelgruppe an. Geben Sie nach Abschluss des Vorgangs die DefaultWEBVPNGroup (Standard-WEBVPN-Gruppe) ein, und legen Sie diese Tunnelgruppe als Standard für Benutzer fest, die die Zertifikatszuordnung nicht erfüllen. Wenn die Zuordnung für Benutzer fehlschlägt, werden sie an die DefaultWEBVPNGroup weitergeleitet. Während die DefaultWEBVPNGroup mit Zertifikatsauthentifizierung konfiguriert ist, haben Benutzer keine Möglichkeit, Benutzernamen oder Kennwörter weiterzugeben.
ASA(config)# crypto ca certificate map NAME 1
ASA(config-ca-cert-map)# subject-name attr cn eq customvalue
ASA(config)# webvpn
ASA(config-webvpn)# certificate-group-map NAME 1 TG-NAME
ASA(config)# tunnel-group DefaultWEBVPNGroup webvpn-attributes
ASA(config-tunnel-webvpn)# tunnel-group-map default-group
Im globalen Konfigurationsmodus können Sie eine vorhandene Gruppenrichtlinie bearbeiten oder eine neue erstellen und die Attribute für diese Gruppenrichtlinie eingeben. Aktivieren Sie IKEv2 im Attributabschnitt als einziges VPN-Tunnelprotokoll. Stellen Sie sicher, dass diese Gruppenrichtlinie mit einer Tunnelgruppe verknüpft ist, die für IPsec-IKEV2-VPN-Verbindungen für den Remotezugriff verwendet wird. Ähnlich wie bei den FMC-Schritten müssen Sie das XML-Profil über den VPN Profile Editor oder den ASA Profile Editor bearbeiten und das Feld User Group so ändern, dass es mit dem Namen der Tunnelgruppe auf der ASA übereinstimmt, und das Protokoll in IPsec ändern.
ASA# configure terminal
ASA(config)# group-policy GP-NAME internal
ASA(config)# group-policy GP-NAME attributes
ASA(config-group-policy)# vpn-tunnel-protocol ikev2
ASA(config)# tunnel-group TG-NAME general-attributes
ASA(config-tunnel-general)# default-group-policy GP-NAME
Navigieren Sie im VPN Profile Editor oder ASA Profile Editor zur Registerkarte Server List (Serverliste). Der Benutzername für die Benutzergruppe MUSS exakt mit dem Namen des Verbindungsprofils auf der Firewall übereinstimmen. Das primäre Protokoll wird als IPsec konfiguriert. Der Anzeigename wird dem Benutzer in der Secure Client-Benutzeroberfläche angezeigt, wenn eine Verbindung mit diesem Verbindungsprofil hergestellt wird.
Vorsicht: Eine SSL-Verbindung ist erforderlich, um XML-Profile von der Firewall an den Client zu übertragen. Wenn nur IKEV2-IPsec verwendet wird, müssen die XML-Profile über eine Out-of-Band-Methode an die Clients übertragen werden.
Zusammenfassend besteht der Zweck der Härtungspraktiken in diesem Dokument darin, legitime Benutzer benutzerdefinierten Verbindungsprofilen zuzuordnen, während Angreifer zur DefaultWEBVPNGroup und zur DefaultRAGroup gezwungen werden. In einer optimierten Konfiguration verfügen die beiden Standardverbindungsprofile über keine benutzerdefinierte AAA-Serverkonfiguration. Darüber hinaus wird durch das Entfernen von Gruppen-Aliasen verhindert, dass Angreifer auf einfache Weise benutzerdefinierte Verbindungsprofile identifizieren können, indem sie die Dropdown-Sichtbarkeit beim Navigieren zum FQDN oder zur öffentlichen IP-Adresse der Firewall entfernen.
Technischer Support und Downloads von Cisco
Angriffe durch Passwortverbreitung
Sicherheitslücke bei nicht autorisiertem Zugriff September 2023
FMC-/FDM-Konfigurationsanleitungen
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
3.0 |
27-Sep-2024 |
Korrigierte FMC-Screenshots ohne CSD. Empfehlung für Gruppenaliase von "Entfernen oder Deaktivieren" in "Entfernen" geändert. |
2.0 |
24-Apr-2024 |
Claryifing-Informationen für FDM hinzugefügt. Die Unterschiede zwischen einem Gruppenalias und einer Gruppen-URL werden erweitert. |
1.0 |
12-Apr-2024 |
Erstveröffentlichung |