Ce document décrit comment configurer la caractéristique de contournement d'état de TCP. Cette fonction autorise les flux sortants et entrants via des appareils de sécurité adaptatifs Cisco ASA 5500 distincts.
Les appareils de sécurité adaptatifs de la gamme Cisco ASA 5500 doivent posséder au moins la licence de base.
Les informations contenues dans ce document sont basées sur Cisco Adaptive Security Appliance (ASA) avec les versions 8.2(1) et ultérieures.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Reportez-vous aux Conventions relatives aux conseils techniques Cisco pour obtenir des informations sur les conventions relatives aux documents.
Par défaut, tout le trafic qui passe par le dispositif de sécurité adaptatif Cisco (ASA) est inspecté à l'aide de l'algorithme de sécurité adaptatif et est autorisé à passer ou abandonné en fonction de la stratégie de sécurité. Afin d'optimiser les performances du pare-feu, l'ASA vérifie l'état de chaque paquet (par exemple, s'agit-il d'une nouvelle connexion ou d'une connexion établie ?) et l'attribue soit au chemin de gestion de session (un nouveau paquet SYN de connexion), soit au chemin rapide (une connexion établie), soit au chemin du plan de contrôle (inspection avancée).
Les paquets TCP qui correspondent aux connexions existantes sur le chemin rapide peuvent traverser l'appliance de sécurité adaptative sans revérifier chaque aspect de la stratégie de sécurité. Cette fonction optimise les performances. Cependant, la méthode utilisée pour établir la session sur le chemin rapide (qui utilise le paquet SYN) et les vérifications qui se produisent sur le chemin rapide (telles que le numéro de séquence TCP) peuvent faire obstacle aux solutions de routage asymétrique : le flux sortant et le flux entrant d'une connexion doivent passer par le même ASA.
Par exemple, une nouvelle connexion va à ASA 1. Le paquet SYN passe par le chemin de gestion de session, et une entrée pour la connexion est ajoutée à la table de chemin rapide. Si les paquets suivants de cette connexion passent par ASA 1, les paquets correspondront à l'entrée dans le chemin rapide et sont passés par. Si les paquets suivants vont à ASA 2, où il n'y avait pas un paquet SYN qui a traversé le chemin de gestion de session, alors il n'y a pas d'entrée dans le chemin rapide pour la connexion, et les paquets sont abandonnés.
Si le routage asymétrique est configuré sur les routeurs en amont et que le trafic alterne entre deux ASA, vous pouvez configurer le contournement d'état TCP pour un trafic spécifique. Le contournement d’état TCP modifie la façon dont les sessions sont établies sur le chemin rapide et désactive les vérifications de chemin rapide. Cette fonctionnalité traite le trafic TCP comme une connexion UDP : lorsqu'un paquet non SYN correspondant aux réseaux spécifiés entre dans l'ASA et qu'il n'y a pas d'entrée de chemin rapide, alors le paquet passe par le chemin de gestion de session pour établir la connexion dans le chemin rapide. Une fois sur le chemin rapide, le trafic contourne les vérifications de chemin rapide.
Cette image fournit un exemple de routage asymétrique, où le trafic sortant passe par un ASA différent du trafic entrant :
Remarque : la fonction de contournement d'état TCP est désactivée par défaut sur les appareils de sécurité adaptatifs de la gamme Cisco ASA 5500.
Cette section fournit des informations sur la prise en charge de la fonctionnalité de contournement d'état TCP.
Mode contexte : pris en charge en mode contexte unique et multiple.
Firewall Mode : pris en charge en mode routé et transparent.
Basculement : prend en charge le basculement.
Ces fonctionnalités ne sont pas prises en charge lorsque vous utilisez le contournement d'état TCP :
Inspection d'application : l'inspection d'application nécessite que le trafic entrant et sortant passe par le même ASA, de sorte que l'inspection d'application n'est pas prise en charge avec le contournement d'état TCP.
Sessions authentifiées AAA : lorsqu'un utilisateur s'authentifie auprès d'un ASA, le trafic revenant via l'autre ASA est refusé car l'utilisateur ne s'est pas authentifié auprès de cet ASA.
Interception TCP, limite de connexion embryonnaire maximale, randomisation des numéros de séquence TCP : l'ASA ne conserve pas la trace de l'état de la connexion, de sorte que ces fonctionnalités ne sont pas appliquées.
Normalisation TCP : le normalisateur TCP est désactivé.
Fonctionnalités SSM et SSC : vous ne pouvez pas utiliser le contournement d'état TCP ni aucune application s'exécutant sur un SSM ou un SSC, comme IPS ou CSC.
Directives NAT : Étant donné que la session de traduction est établie séparément pour chaque ASA, assurez-vous de configurer la NAT statique sur les deux ASA pour le trafic de contournement d'état TCP ; si vous utilisez la NAT dynamique, l'adresse choisie pour la session sur ASA 1 sera différente de l'adresse choisie pour la session sur ASA 2.
Cette section décrit comment configurer la fonctionnalité de contournement d'état TCP sur l'appliance de sécurité adaptatif (ASA) de la gamme Cisco ASA 5500.
Complétez ces étapes afin de configurer la fonctionnalité de contournement d'état TCP sur le dispositif de sécurité adaptatif de la gamme Cisco ASA 5500 :
Utilisez la commande class-map class_map_name afin de créer une carte de classe. La carte de classe est utilisée pour identifier le trafic pour lequel vous voulez désactiver l'inspection de pare-feu avec état. La carte de classe utilisée dans cet exemple est tcp_bypass.
ASA(config)#class-map tcp_bypass
Utilisez la commande match parameter afin de spécifier le trafic intéressant dans la carte de classe. Lors de l'utilisation de Modular Policy Framework, utilisez la commande match access-list en mode de configuration class-map afin d'utiliser une liste d'accès pour identifier le trafic auquel vous voulez appliquer des actions. Voici un exemple de cette configuration :
ASA(config)#class-map tcp_bypass ASA(config-cmap)#match access-list tcp_bypass
tcp_bypass est le nom de la liste d'accès utilisée dans cet exemple. Référez-vous à Identifying Traffic (Layer 3/4 Class Map) pour plus d'informations sur la spécification du trafic intéressant.
Utilisez la commande policy-map name afin d'ajouter une carte de stratégie ou de modifier une carte de stratégie (qui est déjà présente) qui définit les actions à entreprendre avec le trafic de carte de classe déjà spécifié. Lors de l'utilisation de Modular Policy Framework, utilisez la commande policy-map (sans le mot clé type) en mode de configuration globale afin d'attribuer des actions au trafic que vous avez identifié avec une carte de classe de couche 3/4 (la commande class-map ou class-map type management). Dans cet exemple, la carte de stratégie est tcp_bypass_policy :
ASA(config-cmap)#policy-map tcp_bypass_policy
Utilisez la commande class en mode de configuration policy-map afin d'attribuer la carte de classe (tcp_bypass) déjà créée à la carte de stratégie (tcp_bypass_policy) où vous pouvez attribuer des actions au trafic de la carte de classe . Dans cet exemple, la carte de classe est tcp_bypass :
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass
Utilisez la commande set connection advanced-options tcp-state-bypass en mode de configuration de classe afin d'activer la fonctionnalité de contournement d'état TCP. Cette commande a été introduite dans la version 8.2(1). Le mode de configuration class est accessible à partir du mode de configuration policy-map, comme indiqué dans cet exemple :
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
Utilisez la stratégie de service policymap_name [ global | interface intf ] en mode de configuration globale afin d'activer une carte de stratégie globalement sur toutes les interfaces ou sur une interface ciblée. Afin de désactiver la stratégie de service, utilisez la forme no de cette commande. Utilisez la commande service-policy pour activer un ensemble de stratégies sur une interface.global applique le mappage de stratégie à toutes les interfaces, et l'interface applique la stratégie à une interface. Une seule stratégie globale est autorisée. Vous pouvez remplacer la stratégie globale sur une interface en appliquant une stratégie de service à cette interface. Vous ne pouvez appliquer qu'un seul mappage de stratégie à chaque interface.
ASA(config-pmap-c)#service-policy tcp_bypass_policy outside
Voici un exemple de configuration pour le contournement d'état TCP :
!--- 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
La commande show conn affiche le nombre de connexions TCP et UDP actives et fournit des informations sur les connexions de différents types. Afin d'afficher l'état de connexion pour le type de connexion désigné, utilisez la commande show conn en mode d'exécution privilégié. Cette commande prend en charge les adresses IPv4 et IPv6. L'affichage des résultats pour les connexions qui utilisent le contournement d'état TCP inclut l'indicateur b.
ASA affiche ce message d'erreur même après l'activation de la fonctionnalité TCP-state-bypass.
%PIX|ASA-4-313004:Denied ICMP type=icmp_type, from source_address oninterface interface_name to dest_address:no matching session
Les paquets ICMP ont été abandonnés par l'appliance de sécurité en raison de contrôles de sécurité ajoutés par la fonctionnalité ICMP avec état qui sont généralement soit des réponses d'écho ICMP sans une requête d'écho valide déjà passée à travers l'appliance de sécurité, soit des messages d'erreur ICMP non liés à une session TCP, UDP ou ICMP déjà établie dans l'appliance de sécurité.
ASA affiche ce journal même si le contournement d'état TCP est activé car la désactivation de cette fonctionnalité (c'est-à-dire, la vérification des entrées de retour ICMP pour le type 3 dans la table de connexion) n'est pas possible. Mais la fonctionnalité de contournement d'état TCP fonctionne correctement.
Utilisez cette commande afin d'empêcher ces messages d'apparaître :
hostname(config)#no logging message 313004
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
10-May-2010
|
Première publication |