Einleitung
In diesem Dokument werden VPN-Filter im Detail beschrieben. Es gilt für LAN-to-LAN (L2L), den Cisco VPN Client und den Cisco AnyConnect Secure Mobility Client.
Filter bestehen aus Regeln, die auf der Grundlage von Kriterien wie Quelladresse, Zieladresse und Protokoll festlegen, ob getunnelte Datenpakete zugelassen oder abgelehnt werden, die die Sicherheits-Appliance durchlaufen. Sie konfigurieren Zugriffskontrolllisten (Access Control Lists, ACLs), um verschiedene Arten von Datenverkehr zuzulassen oder abzulehnen. Der Filter kann für die Gruppenrichtlinie, die Attribute des Benutzernamens oder die Dynamic Access Policy (DAP) konfiguriert werden.
DAP ersetzt den Wert, der sowohl unter den Attributen des Benutzernamens als auch unter der Gruppenrichtlinie konfiguriert wurde. Der Attributwert "username" ersetzt den Gruppenrichtlinienwert, falls DAP keinen Filter zuweist.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Konfiguration von L2L-VPN-Tunneln
- Konfiguration von VPN Client Remote Access (RA)
- AnyConnect RA-Konfiguration
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf der Cisco Adaptive Security Appliance (ASA) der Serie 5500-X, Version 9.1(2).
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.
Hintergrundinformationen
Mit dem Befehl sysopt connection permit-vpn kann der gesamte über einen VPN-Tunnel in die Security Appliance gelangende Datenverkehr Schnittstellenzugriffslisten umgehen. Gruppenrichtlinien und benutzerspezifische Autorisierungszugriffslisten gelten weiterhin für den Datenverkehr.
Ein VPN-Filter wird auf postentschlüsselten Datenverkehr nach dem Verlassen eines Tunnels und auf vorverschlüsselten Datenverkehr vor dem Eintritt in einen Tunnel angewendet. Eine ACL, die für einen VPN-Filter verwendet wird, sollte NICHT auch für eine Schnittstellenzugriffsgruppe verwendet werden.
Wenn ein VPN-Filter auf eine Gruppenrichtlinie angewendet wird, die Remotezugriff-VPN-Clientverbindungen steuert, muss die ACL mit den dem Client zugewiesenen IP-Adressen in der src_ip-Position der ACL und das lokale Netzwerk in der dest_ip-Position der ACL konfiguriert werden. Wenn ein VPN-Filter auf eine Gruppenrichtlinie angewendet wird, die eine L2L-VPN-Verbindung steuert, muss die ACL so konfiguriert werden, dass sich das Remote-Netzwerk in der src_ip-Position der ACL und das lokale Netzwerk in der dest_ip-Position der ACL befindet.
Konfigurieren
VPN-Filter müssen für eingehenden Datenverkehr konfiguriert werden, die Regeln werden jedoch weiterhin bidirektional angewendet. Die Erweiterung CSCsf99428 wurde zur Unterstützung unidirektionaler Regeln geöffnet, wurde aber noch nicht für die Implementierung geplant/zugesagt.
Beispiel 1. VPN-Filter mit AnyConnect oder VPN Client
Angenommen, die vom Client zugewiesene IP-Adresse lautet 10.10.10.1/24 und das lokale Netzwerk ist 192.168.1.0/24.
Mit diesem Zugriffskontrolleintrag (Access Control Entry, ACE) kann der AnyConnect-Client eine Telnet-Verbindung zum lokalen Netzwerk herstellen:
access-list vpnfilt-ra permit tcp
10.10.10.1 255.255.255.255 192.168.1.0 255.255.255.0 eq 23
Anmerkung: Die ACE-Zugriffsliste vpnfilt-ra permit tcp 10.10.10.1 255.255.255.255 192.168.1.0 255.255.255.0 eq 23 ermöglicht außerdem dem lokalen Netzwerk, eine Verbindung herzustellen an den RA-Client an einem beliebigen TCP-Port, wenn dieser einen Quellport von 23 verwendet.
Dieser ACE ermöglicht dem lokalen Netzwerk die Telnet-Verbindung zum AnyConnect-Client:
access-list vpnfilt-ra permit tcp 10.10.10.1 255.255.255.255
eq 23 192.168.1.0 255.255.255.0
Anmerkung: Die ACE-Zugriffsliste vpnfilt-ra permit tcp 10.10.10.1 255.255.255.255 eq 23 192.168.1.0 255.255.255.0 ermöglicht dem RA-Client auch das Herstellen einer Verbindung auf das lokale Netzwerk über einen beliebigen TCP-Port zugreifen, wenn der Quellport 23 ist.
Vorsicht: Die VPN-Filterfunktion ermöglicht nur die Filterung des eingehenden Datenverkehrs, und die ausgehende Regel wird automatisch kompiliert. Wenn Sie eine ICMP-Zugriffsliste (Internet Control Message Protocol) erstellen, geben Sie den ICMP-Typ daher nicht in der Zugriffslistenformatierung an, wenn Sie Richtungsfilter wünschen.
Beispiel 2. VPN-Filter mit L2L-VPN-Verbindung
Angenommen, das Remote-Netzwerk ist 10.0.0.0/24 und das lokale Netzwerk ist 192.168.1.0/24.
Dieser ACE ermöglicht es dem Remote-Netzwerk, eine Telnet-Verbindung zum lokalen Netzwerk herzustellen:
access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 192.168.1.0
255.255.255.0 eq 23
Hinweis: Die ACE-Zugriffsliste vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 192.168.1.0 255.255.255.0 eq 23 ermöglicht dem lokalen Netzwerk auch, eine Verbindung herzustellen. an das Remote-Netzwerk über einen beliebigen TCP-Port, wenn dieser den Quellport 23 verwendet.
Dieser ACE ermöglicht es dem lokalen Netzwerk, eine Telnet-Verbindung zum entfernten Netzwerk herzustellen:
access-list vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 eq 23
192.168.1.0 255.255.255.0
Hinweis: Die ACE-Zugriffsliste vpnfilt-l2l permit tcp 10.0.0.0 255.255.255.0 eq 23 192.168.1.0 255.255.255.0 ermöglicht dem Remote-Netzwerk auch, eine Verbindung herzustellen. auf das lokale Netzwerk über einen beliebigen TCP-Port zugreifen, wenn der Quellport 23 ist.
Vorsicht: Die VPN-Filterfunktion ermöglicht nur die Filterung des eingehenden Datenverkehrs, und die ausgehende Regel wird automatisch kompiliert. Wenn Sie eine ICMP-Zugriffsliste erstellen, geben Sie den ICMP-Typ daher nicht in der Zugriffslistenformatierung an, wenn Sie Richtungsfilter benötigen.
VPN-Filter und Zugriffsgruppen nach Benutzer außer Kraft setzen
Der VPN-Datenverkehr wird nicht nach Schnittstellen-ACLs gefiltert. Der Befehl no sysopt connection permit-vpn kann verwendet werden, um das Standardverhalten zu ändern. In diesem Fall können zwei ACLs auf Benutzerdatenverkehr angewendet werden: Die Schnittstelle ACL wird zuerst überprüft, und dann der VPN-Filter.
Das Schlüsselwort per user-override (nur für eingehende ACLs) ermöglicht dynamische Benutzer-ACLs, die zur Benutzerautorisierung heruntergeladen werden, um die der Schnittstelle zugewiesene ACL zu überschreiben. Wenn beispielsweise die Schnittstelle ACL den gesamten Datenverkehr von 10.0.0.0 ablehnt, die dynamische ACL jedoch den gesamten Datenverkehr von 10.0.0.0 zulässt, überschreibt die dynamische ACL die Schnittstelle ACL für diesen Benutzer, und der Datenverkehr wird zugelassen.
Beispiele (wenn keine sysopt-Verbindung permit-vpn konfiguriert ist):
- keine benutzerspezifische Überschreibung, kein VPN-Filter - Datenverkehr wird mit der Schnittstelle ACL abgeglichen
- no per user-override, vpn-filter - Datenverkehr wird zuerst mit der Schnittstelle ACL abgeglichen, dann mit dem vpn-filter
- pro Benutzer außer Kraft setzen, vpn-filter - Datenverkehr wird nur mit vpn-filter abgeglichen
Überprüfung
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Der Cisco CLI Analyzer (nur registrierte Kunden) unterstützt bestimmte show-Befehle. Verwenden Sie den Cisco CLI Analyzer, um eine Analyse der Ausgabe des Befehls show anzuzeigen.
- show asp table filter [access-list <acl-name>] [hits]
Um die beschleunigten Sicherheitspfadfiltertabellen zu debuggen, verwenden Sie den Befehl show asp table filter im privilegierten EXEC-Modus. Wenn ein Filter auf einen VPN-Tunnel angewendet wurde, werden die Filterregeln in der Filtertabelle installiert. Wenn für den Tunnel ein Filter angegeben ist, wird die Filtertabelle vor der Verschlüsselung und nach der Entschlüsselung überprüft, um zu bestimmen, ob das innere Paket zugelassen oder abgelehnt werden soll.
USAGE
show asp table filter [access-list
] [hits]
SYNTAX <acl-name> Show installed filter for access-list <acl-name>
hits Show filter rules which have non-zero hits values
- clear asp table filter [access-list <acl-name>]
Dieser Befehl löscht die Trefferzähler für die Einträge in der ASP-Filtertabelle.
USAGE
clear asp table filter [access-list
]
SYNTAX
<acl-name> Clear hit counters only for specified access-list <acl-name>
Fehlerbehebung
Dieser Abschnitt enthält Informationen, die Sie zur Fehlerbehebung bei Ihrer Konfiguration verwenden können.
Der Cisco CLI Analyzer (nur registrierte Kunden) unterstützt bestimmte show-Befehle. Verwenden Sie den Cisco CLI Analyzer, um eine Analyse der Ausgabe des Befehls show anzuzeigen.
Anmerkung: Lesen Sie den Artikel Wichtige Informationen zu Debug-Befehlen, bevor Sie debug-Befehle verwenden.
- debug acl-Filter
Mit diesem Befehl wird VPN-Filterdebugging aktiviert. Es kann zur Fehlerbehebung bei Installationen/beim Entfernen von VPN-Filtern in der ASP-Filtertabelle verwendet werden. Beispiel 1: VPN-Filter mit AnyConnect oder VPN Client.
Debug-Ausgabe bei Verbindung von user1:
ACL FILTER INFO: first reference to inbound filter vpnfilt-ra(2): Installing
rule into NP.
ACL FILTER INFO: first reference to outbound filter vpnfilt-ra(2): Installing
rule into NP.
Debuggen Sie die Ausgabe, wenn user2 eine Verbindung herstellt (nach user1 und dem gleichen Filter):
ACL FILTER INFO: adding another reference to outbound filter vpnfilt-ra(2): refCnt=2
ACL FILTER INFO: adding another reference to inbound filter vpnfilt-ra(2): refCnt=2
Debug-Ausgabe, wenn user2 die Verbindung trennt:
ACL FILTER INFO: removing a reference from inbound filter vpnfilt-ra(2): remaining
refCnt=1
ACL FILTER INFO: removing a reference from outbound filter vpnfilt-ra(2): remaining
refCnt=1
Debug-Ausgabe, wenn user1 die Verbindung trennt:
ACL FILTER INFO: releasing last reference from inbound filter vpnfilt-ra(2): Removing
rule into NP.
ACL FILTER INFO: releasing last reference from outbound filter vpnfilt-ra(2): Removing
rule into NP.
- ASP-Tabelle anzeigen
Dies ist die Ausgabe von show asp table filter vor dem Verbinden von user1. Für IPv4 und IPv6 werden nur die impliziten Deny-Regeln in beide Richtungen installiert.
Global Filter Table:
in id=0xd616ef20, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd613ea60, filter_id=0x0(-implicit deny-), protocol=0
src ip=0.0.0.0, mask=0.0.0.0, port=0
dst ip=0.0.0.0, mask=0.0.0.0, port=0
in id=0xd616f420, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd615ef70, filter_id=0x0(-implicit deny-), protocol=0
src ip=::/0, port=0
dst ip=::/0, port=0
out id=0xd616f1a0, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd614d900, filter_id=0x0(-implicit deny-), protocol=0
src ip=0.0.0.0, mask=0.0.0.0, port=0
dst ip=0.0.0.0, mask=0.0.0.0, port=0
out id=0xd616f6d0, priority=11, domain=vpn-user, deny=true
hits=0, user_data=0xd6161638, filter_id=0x0(-implicit deny-), protocol=0
src ip=::/0, port=0
dst ip=::/0, port=0