Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment configurer la fonctionnalité de contournement de l'état TCP, qui permet au trafic sortant et entrant de circuler à travers des appareils de sécurité adaptatifs (ASA) de la gamme Cisco ASA 5500 distincts.
La licence de base de Cisco ASA doit être installée au minimum pour que vous puissiez poursuivre la configuration décrite dans ce document.
Les informations contenues dans ce document sont basées sur la gamme Cisco ASA 5500 qui exécute la version 9.x du logiciel.
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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Pour plus d’informations sur les conventions utilisées dans ce document, reportez-vous aux Conventions relatives aux conseils techniques Cisco.
Cette section fournit une vue d'ensemble de la fonctionnalité de contournement d'état TCP et des informations de support associées.
Par défaut, tout le trafic qui passe par l'ASA est inspecté via 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, il vérifie s'il s'agit d'une nouvelle connexion ou d'une connexion établie) et l'attribue soit au chemin de gestion de session (un paquet SYN (new connection Synchronize)), 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 actuelles sur le chemin rapide peuvent passer par l'ASA sans revérifier chaque aspect de la stratégie de sécurité. Cette fonction optimise les performances. Toutefois, la méthode utilisée pour établir la session sur le chemin rapide (qui utilise le paquet SYN) et les vérifications qui ont lieu sur le chemin rapide (telles que le numéro de séquence TCP) peuvent faire obstacle à des solutions de routage asymétriques ; les flux sortants et entrants 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 sur cette connexion passent par ASA 1, les paquets correspondent à 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 la fonctionnalité de contournement d'état TCP pour un trafic spécifique. La fonction de contournement de l'état TCP modifie la façon dont les sessions sont établies dans 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 qui correspond 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 afin d'é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 de l'état TCP est désactivée par défaut sur la gamme Cisco ASA 5500. En outre, la configuration de contournement d'état TCP peut entraîner un nombre élevé de connexions si elle n'est pas correctement implémentée.
Cette section décrit les informations de prise en charge de la fonctionnalité de contournement d'état TCP.
Ces fonctionnalités ne sont pas prises en charge lorsque vous utilisez la fonctionnalité de contournement d'état TCP :
Remarque : Étant donné que la session de traduction est établie séparément pour chaque ASA, assurez-vous de configurer la traduction d'adresses de réseau (NAT) statique sur les deux ASA pour le trafic de contournement d'état TCP. Si vous utilisez la NAT dynamique, l'adresse qui est choisie pour la session sur ASA 1 sera différente de l'adresse qui est choisie pour la session sur ASA 2.
Cette section décrit comment configurer la fonctionnalité de contournement d'état TCP sur la gamme ASA 5500 dans deux scénarios différents.
Remarque : Utilisez l’outil de recherche de commandes (clients enregistrés seulement) pour en savoir plus sur les commandes employées dans cette section.
Voici la topologie utilisée pour le premier scénario :
Remarque : Vous devez appliquer la configuration décrite dans cette section aux deux ASA.
Complétez ces étapes afin de configurer la fonctionnalité de contournement d'état TCP :
Remarque : La carte de classe utilisée dans cet exemple est tcp_bypass.
ASA(config)#class-map tcp_bypass
ASA(config)#class-map tcp_bypass ASA(config-cmap)#match access-list tcp_bypass
Remarque : Le tcp_bypass est le nom de la liste d'accès qui est utilisée dans cet exemple. Référez-vous à Identifying Traffic (Layer 3/4 Class Map) pour plus d'informations sur la façon de spécifier le trafic d'intérêt.
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass
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
ASA(config-pmap-c)#service-policy tcp_bypass_policy outside
Voici un exemple de configuration pour la fonctionnalité de contournement d'état TCP sur ASA1 :
!--- Configure the access list to specify the TCP traffic
!--- that needs to by-pass inspection to improve the performance.
ASA1(config)#access-list tcp_bypass extended permit tcp 10.1.1.0 255.255.255.0
172.16.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA1(config)#class-map tcp_bypass
ASA1(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA1(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA1(config-cmap)#policy-map tcp_bypass_policy
ASA1(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA1(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.
ASA1(config-pmap-c)#service-policy tcp_bypass_policy outside
!--- NAT configuration
ASA1(config)#object network obj-10.1.1.0
ASA1(config-network-object)#subnet 10.1.1.0 255.255.255.0
ASA1(config-network-object)#nat(inside,outside) static 192.168.1.0
Voici un exemple de configuration pour la fonctionnalité de contournement d'état TCP sur ASA2 :
!--- Configure the access list to specify the TCP traffic
!--- that needs to by-pass inspection to improve the performance.
ASA2(config)#access-list tcp_bypass extended permit tcp 172.16.1.0 255.255.255.0
10.1.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA2(config)#class-map tcp_bypass
ASA2(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA2(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA2(config-cmap)#policy-map tcp_bypass_policy
ASA2(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA2(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.
ASA2(config-pmap-c)#service-policy tcp_bypass_policy outside
!--- NAT configuration
ASA2(config)#object network obj-10.1.1.0
ASA2(config-network-object)#subnet 10.1.1.0 255.255.255.0
ASA1(config-network-object)#nat(inside,outside) static 192.168.1.0
Cette section décrit comment configurer la fonctionnalité de contournement d'état TCP sur l'ASA pour les scénarios qui utilisent le routage asymétrique, où le trafic entre et sort de l'ASA à partir de la même interface (retournement en U).
Voici la topologie utilisée dans ce scénario :
Complétez ces étapes afin de configurer la fonctionnalité de contournement d'état TCP :
ASA(config)#access-list tcp_bypass extended permit tcp 192.168.2.0 255.255.255.0
192.168.1.0 255.255.255.0
Remarque : La carte de classe utilisée dans cet exemple est tcp_bypass.
ASA(config)#class-map tcp_bypass
ASA(config)#class-map tcp_bypass ASA(config-cmap)#match access-list tcp_bypass
Remarque : Le tcp_bypass est le nom de la liste d'accès qui est utilisée dans cet exemple. Référez-vous à Identification du trafic (carte de classe de couche 3/4) pour plus d'informations sur la façon de spécifier le trafic d'intérêt.
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass
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
ASA(config-pmap-c)#service-policy tcp_bypass_policy inside
ASA(config)#same-security-traffic permit intra-interface
Voici un exemple de configuration pour la fonctionnalité de contournement d'état TCP sur l'ASA :
!--- Configure the access list to specify the TCP traffic
!--- that needs to bypass inspection to improve the performance.
ASA(config)#access-list tcp_bypass extended permit tcp 192.168.2.0 255.255.255.0
192.168.1.0 255.255.255.0
!--- 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 inside
!--- Permit same security level traffic on the ASA to support U-turning
ASA(config)#same-security-traffic permit intra-interface
Saisissez la commande show conn afin d'afficher le nombre de connexions TCP et UDP actives et des informations sur les connexions de différents types. Afin d'afficher l'état de connexion pour le type de connexion désigné, entrez la show conn en mode d’exécution privilégié.
Remarque : Cette commande prend en charge les adresses IPv4 et IPv6. Le résultat affiché pour les connexions qui utilisent la fonctionnalité de contournement d'état TCP inclut l'indicateur b.
Voici un exemple de résultat :
ASA(config)show conn
1 in use, 3 most used
TCP tcp 10.1.1.1:49525 tcp 172.16.1.1:21, idle 0:01:10, bytes 230, flags b
Il n'existe pas d'informations de dépannage spécifiques pour cette fonctionnalité. Reportez-vous à ces documents pour obtenir des informations générales sur le dépannage de connectivité :
Remarque : Les connexions de contournement d'état TCP ne sont pas répliquées sur l'unité en veille dans une paire de basculement.
L'ASA affiche ce message d'erreur même après l'activation de la fonctionnalité de contournement d'état TCP :
%PIX|ASA-4-313004:Denied ICMP type=icmp_type, from source_address oninterface interface_name to dest_address:no matching session
Les paquets ICMP (Internet Control Message Protocol) sont abandonnés par l'ASA en raison des contrôles de sécurité qui sont ajoutés par la fonctionnalité ICMP avec état. Il s'agit généralement soit de réponses d'écho ICMP sans requête d'écho valide déjà passée à travers l'ASA, soit de messages d'erreur ICMP qui ne sont pas liés à une session TCP, UDP ou ICMP actuellement établie dans l'ASA.
L'ASA affiche ce journal même si la fonctionnalité de contournement de l'état TCP est activée parce que 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. Cependant, la fonctionnalité de contournement d'état TCP fonctionne correctement.
Entrez cette commande afin d'empêcher l'apparition de ces messages :
hostname(config)#no logging message 313004
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
15-Jun-2015 |
Première publication |