In diesem Dokument wird beschrieben, wie Sie die Funktion zur TCP-Zustandsumgehung konfigurieren. Diese Funktion ermöglicht ausgehende und eingehende Datenflüsse über separate Cisco Adaptive Security Appliances der Serie ASA 5500.
Die Cisco Adaptive Security Appliances der Serie ASA 5500 müssen über mindestens die Basislizenz verfügen.
Die in diesem Dokument enthaltenen Informationen basieren auf der Cisco Adaptive Security Appliance (ASA) der Version 8.2(1) und höher.
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.
Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Standardmäßig wird der gesamte Datenverkehr, der über die Cisco Adaptive Security Appliance (ASA) läuft, mithilfe des Adaptive Security Algorithm geprüft und entweder zugelassen oder gemäß der Sicherheitsrichtlinie blockiert. Um die Firewall-Leistung zu maximieren, überprüft die ASA den Status jedes Pakets (handelt es sich z. B. um eine neue Verbindung oder um eine hergestellte Verbindung?) und weist ihn entweder dem Sitzungsmanagementpfad (ein neues Verbindungs-SYN-Paket), dem schnellen Pfad (eine hergestellte Verbindung) oder dem Steuerungsebenenpfad (erweiterte Überprüfung) zu.
TCP-Pakete, die bestehenden Verbindungen im Fast Path entsprechen, können die Adaptive Security Appliance passieren, ohne dass alle Aspekte der Sicherheitsrichtlinie erneut überprüft werden müssen. Diese Funktion maximiert die Leistung. Die Methode, die verwendet wird, um die Sitzung im schnellen Pfad einzurichten (der das SYN-Paket verwendet), und die Prüfungen, die im schnellen Pfad stattfinden (z. B. TCP-Sequenznummer), können asymmetrischen Routing-Lösungen im Wege stehen: sowohl der ausgehende als auch der eingehende Datenfluss einer Verbindung müssen über dieselbe ASA verlaufen.
Beispiel: Eine neue Verbindung geht zu ASA 1. Das SYN-Paket durchläuft den Sitzungsmanagementpfad, und ein Eintrag für die Verbindung wird zur Tabelle für schnelle Pfade hinzugefügt. Wenn nachfolgende Pakete dieser Verbindung die ASA 1 durchlaufen, stimmen die Pakete mit dem Eintrag im Fast Path überein und werden weitergeleitet. Wenn nachfolgende Pakete an die ASA 2 weitergeleitet werden, bei der kein SYN-Paket den Sitzungsmanagementpfad durchlaufen hat, gibt es keinen Eintrag im schnellen Pfad für die Verbindung, und die Pakete werden verworfen.
Wenn auf Upstream-Routern asymmetrisches Routing konfiguriert ist und der Datenverkehr zwischen zwei ASAs wechselt, können Sie für bestimmten Datenverkehr die TCP-Zustandsumgehung konfigurieren. Die TCP-Zustandsumgehung ändert die Art und Weise, wie Sitzungen im Fast Path eingerichtet werden, und deaktiviert die Fast Path-Prüfungen. Diese Funktion behandelt TCP-Datenverkehr genauso wie UDP-Verbindungen: Wenn ein Nicht-SYN-Paket, das mit den angegebenen Netzwerken übereinstimmt, auf die ASA zugreift und kein Fast Path-Eintrag vorhanden ist, durchläuft das Paket den Sitzungsmanagementpfad, um die Verbindung auf dem Fast Path herzustellen. Sobald der Datenverkehr auf dem Fast Path ist, umgeht er die Fast Path Checks.
Dieses Bild zeigt ein Beispiel für asymmetrisches Routing, bei dem der ausgehende Datenverkehr eine andere ASA durchläuft als der eingehende:
Hinweis: Die Funktion zur TCP-Zustandsumgehung ist auf den Adaptive Security Appliances der Serie Cisco ASA 5500 standardmäßig deaktiviert.
In diesem Abschnitt finden Sie Informationen zur Unterstützung der TCP-Statusumgehungsfunktion.
Kontextmodus - Wird im Einzel- und Mehrfachkontextmodus unterstützt.
Firewall Mode (Firewall-Modus): Wird im Routing- und transparenten Modus unterstützt.
Failover: Unterstützt Failover.
Diese Funktionen werden nicht unterstützt, wenn Sie die TCP-Zustandsumgehung verwenden:
Anwendungsinspektion - Bei der Anwendungsinspektion muss ein- und ausgehender Datenverkehr dieselbe ASA passieren, sodass die Anwendungsinspektion nicht mit TCP-Zustandsumgehung unterstützt wird.
AAA-authentifizierte Sitzungen: Wenn sich ein Benutzer bei einer ASA authentifiziert, wird der über die andere ASA zurückgegebene Datenverkehr abgelehnt, da sich der Benutzer bei dieser ASA nicht authentifiziert hat.
TCP-Intercept, maximale embryonale Verbindungsgrenze, Randomisierung der TCP-Sequenznummer - Die ASA verfolgt den Verbindungsstatus nicht, daher werden diese Funktionen nicht angewendet.
TCP-Normalisierung - Der TCP-Normalisierer ist deaktiviert.
SSM- und SSC-Funktionalität - Sie können keine TCP-Zustandsumgehung und keine Anwendung verwenden, die auf einem SSM oder SSC ausgeführt wird, z. B. IPS oder CSC.
NAT-Richtlinien: Da die Übersetzungssitzung für jede ASA separat eingerichtet wird, müssen Sie auf beiden ASAs eine statische NAT für den TCP-Status-Umgehungsverkehr konfigurieren. Wenn Sie dynamische NAT verwenden, unterscheidet sich die für die Sitzung auf der ASA 1 gewählte Adresse von der für die Sitzung auf der ASA 2 gewählten Adresse.
In diesem Abschnitt wird beschrieben, wie Sie die Funktion zur TCP-Zustandsumgehung auf der Cisco Adaptive Security Appliance (ASA) der Serie ASA 5500 konfigurieren.
Gehen Sie wie folgt vor, um die Funktion zur Umgehung des TCP-Status auf der Cisco Adaptive Security Appliance der Serie ASA 5500 zu konfigurieren:
Verwenden Sie den Befehl class_map_name, um eine Klassenzuordnung zu erstellen. Die Klassenzuordnung wird verwendet, um den Datenverkehr zu identifizieren, für den Sie die Stateful-Firewall-Inspektion deaktivieren möchten. Die in diesem Beispiel verwendete Klassenzuordnung lautet tcp_bypass.
ASA(config)#class-map tcp_bypass
Verwenden Sie den Befehl match parameter, um interessanten Datenverkehr in der Klassenzuordnung anzugeben. Verwenden Sie bei Verwendung des Modular Policy Framework den Befehl match access-list im Konfigurationsmodus class-map, um mithilfe einer Zugriffsliste den Datenverkehr zu identifizieren, auf den Aktionen angewendet werden sollen. Nachfolgend finden Sie ein Beispiel für diese Konfiguration:
ASA(config)#class-map tcp_bypass ASA(config-cmap)#match access-list tcp_bypass
tcp_bypass ist der Name der in diesem Beispiel verwendeten Zugriffsliste. Weitere Informationen zum Festlegen des interessanten Datenverkehrs finden Sie unter Identifying Traffic (Layer 3/4 Class Map).
Verwenden Sie den Befehl policy-map name, um eine Richtlinienzuordnung hinzuzufügen oder eine (bereits vorhandene) Richtlinienzuordnung zu bearbeiten, mit der die Aktionen festgelegt werden, die mit dem bereits angegebenen Klassenzuordnungsverkehr ausgeführt werden sollen. Verwenden Sie bei Verwendung des Modular Policy Framework den Befehl policy-map (ohne das Schlüsselwort type) im globalen Konfigurationsmodus, um dem Datenverkehr, den Sie mit einer Layer-3/4-Klassenzuordnung identifiziert haben, Aktionen zuzuweisen (der Befehl class-map oder class-map type management). In diesem Beispiel lautet die Richtlinienzuordnung tcp_bypass_policy:
ASA(config-cmap)#policy-map tcp_bypass_policy
Verwenden Sie den Befehl class im Konfigurationsmodus policy-map, um die bereits erstellte Klassenzuordnung (tcp_bypass) der Richtlinienzuordnung (tcp_bypass_policy) zuzuweisen, wo Sie dem Klassenzuordnungsverkehr Aktionen zuweisen können. In diesem Beispiel lautet die Klassenzuordnung tcp_bypass:
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass
Verwenden Sie den Befehl set connection advanced-options tcp-state-bypass im Klassenkonfigurationsmodus, um die Funktion zur Umgehung des TCP-Status zu aktivieren. Dieser Befehl wurde in Version 8.2(1) eingeführt. Der Zugriff auf den Klassenkonfigurationsmodus erfolgt über den Konfigurationsmodus für die Richtlinienzuweisung, wie in diesem Beispiel gezeigt:
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
Verwenden Sie service-policy policy_map_name [ global | interface intf ] im globalen Konfigurationsmodus verwendet, um eine Richtlinienzuordnung global auf allen Schnittstellen oder auf einer Zielschnittstelle zu aktivieren. Um die Dienstrichtlinie zu deaktivieren, verwenden Sie die Form no dieses Befehls. Mit dem Befehl service-policy können Sie eine Reihe von Richtlinien auf einer Schnittstelle aktivieren.global wendet die Richtlinienzuordnung auf alle Schnittstellen an, und die Schnittstelle wendet die Richtlinie auf eine Schnittstelle an. Es ist nur eine globale Richtlinie zulässig. Sie können die globale Richtlinie für eine Schnittstelle überschreiben, indem Sie eine Dienstrichtlinie auf diese Schnittstelle anwenden. Sie können auf jede Schnittstelle nur eine Richtlinienzuordnung anwenden.
ASA(config-pmap-c)#service-policy tcp_bypass_policy outside
Nachfolgend finden Sie eine Beispielkonfiguration für die TCP-Zustandsumgehung:
!--- Configure the access list to specify the TCP traffic !--- that needs to by-pass inspection to improve the performance.
ASA(config)#access-list tcp_bypass extended permit tcp 10.1.1.0 255.255.255.224 any
!--- Configure the class map and specify the match parameter for the !--- class map to match the interesting traffic.
ASA(config)#class-map tcp_bypass
ASA(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map !--- inside this policy map for the class map.
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass !--- command in order to enable TCP state bypass feature.
ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ] !--- command in global configuration mode in order to activate a policy map !--- globally on all interfaces or on a targeted interface.
ASA(config-pmap-c)#service-policy tcp_bypass_policy outside
ASA(config-pmap-c)#static (inside,outside) 192.168.1.224 10.1.1.0 netmask
255.255.255.224
Der Befehl show conn zeigt die Anzahl der aktiven TCP- und UDP-Verbindungen sowie Informationen zu Verbindungen verschiedener Typen an. Um den Verbindungsstatus für den angegebenen Verbindungstyp anzuzeigen, verwenden Sie den Befehl show conn im privilegierten EXEC-Modus. Dieser Befehl unterstützt IPv4- und IPv6-Adressen. Die Ausgabeanzeige für Verbindungen, die den TCP-Zustandsumgehung verwenden, enthält das Flag b.
ASA zeigt diese Fehlermeldung auch dann an, wenn die Funktion zur Umgehung des TCP-Status aktiviert wurde.
%PIX|ASA-4-313004:Denied ICMP type=icmp_type, from source_address oninterface interface_name to dest_address:no matching session
ICMP-Pakete wurden von der Sicherheits-Appliance aufgrund von durch die zustandsbehaftete ICMP-Funktion hinzugefügten Sicherheitsprüfungen verworfen. Dabei handelt es sich in der Regel entweder um ICMP-Echo-Antworten ohne gültige Echo-Anfrage, die bereits über die Sicherheits-Appliance weitergeleitet wurde, oder um ICMP-Fehlermeldungen, die sich nicht auf bereits in der Sicherheits-Appliance eingerichtete TCP-, UDP- oder ICMP-Sitzungen beziehen.
ASA zeigt dieses Protokoll auch dann an, wenn die TCP-Zustandsumgehung aktiviert ist, da die Deaktivierung dieser Funktion (d. h. das Überprüfen der ICMP-Rückgabeeinträge für Typ 3 in der Verbindungstabelle) nicht möglich ist. Die Funktion zur TCP-Zustandsumgehung funktioniert jedoch ordnungsgemäß.
Verwenden Sie diesen Befehl, um zu verhindern, dass diese Meldungen angezeigt werden:
hostname(config)#no logging message 313004
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
10-May-2010
|
Erstveröffentlichung |