Commutateurs : Dispositifs de sécurité de la gamme Cisco PIX 500

ASA/PIX/FWSM : Traitement des pings ICMP et commande Traceroute

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Des pings d'Internet Control Message Protocol (ICMP) et un traceroute sur le pare-feu PIX sont manipulés différemment selon la version de PIX et le code asa.

L'ICMP entrant par le PIX/ASA est refusé par défaut. L'ICMP en sortie est permis, mais la réponse entrante est refusée par défaut.

Remarque: Les information dans la section Faire apparaître le pare-feu dans un Traceroute dans ASA/PIX de ce document s'appliquent aux versions ASA 8.0(3) et plus. Les versions antérieures à 8.0(3) ne supportent pas la configuration indiquée dans cette section en raison du bogue CSCsk76401 (clients enregistrés uniquement).

Conditions préalables

Conditions requises

Aucune condition préalable spécifique n'est requise pour ce document.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • Logiciel PIX, version 4.1(6) et plus

  • Appliance de sécurité de la gamme Cisco ASA 5500 qui exécute 7.x et les versions postérieures pour des pings ICMP

  • L'appliance de sécurité de la gamme Cisco ASA 5500 qui exécute 8.0(3) et les versions postérieures pour le traceroute dans ASA

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Diagramme du réseau

http://www.cisco.com/c/dam/en/us/support/docs/security/pix-500-series-security-appliances/15246-31a.gif

Remarque: Les schémas d'adressage d'IP utilisés dans cette configuration ne sont pas légalement routables sur Internet. Ce sont des adresses RFC 1918 qui ont été utilisées dans un environnement de laboratoire.

Envoyer un ping par le PIX

Version 7.x du logiciel PIX/ASA

Pings d'arrivée

Des pings lancés de l'extérieur, ou d'une autre interface de basse sécurité de PIX, sont refusés par défaut. Les pings peuvent être autorisés par l'utilisation de listes statiques et de listes d'accès seul. Dans cet exemple, un serveur sur l'intérieur du PIX est rendu accessible aux pings externes. Une traduction statique est créée entre l'adresse interne (10.1.1.5) et l'adresse externe (192.168.1.5).

pix(config)#static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255
pix(config)#access-list 101 permit icmp any host 192.168.1.5 echo
pix(config)#access-group 101 in interface outside

Pings sortants

Il y a deux options dans PIX 7.x qui permettent aux utilisateurs intérieurs d'effectuer un ping à l'extérieur. La première option est la configuration d'une règle spécifique pour chaque type de message d'écho.

Exemple :

access-list 101 permit icmp any any echo-reply
access-list 101 permit icmp any any source-quench 
access-list 101 permit icmp any any unreachable  
access-list 101 permit icmp any any time-exceeded
access-group 101 in interface outside

Cela autorise seulement ces messages de retour à travers le pare-feu quand un utilisateur à l'intérieur envoie un ping à l'extérieur. Les autres types de messages d'état d'ICMP pourraient être hostiles et le pare-feu bloque tous les autres messages ICMP.

Une autre option consiste à configurer l'inspection ICMP. Ceci permet à une adresse IP de confiance de traverser le pare-feu et autorise les réponses en retour seulement à l'adresse de confiance. De cette manière, les hôtes sur toutes les interfaces à l'intérieur peuvent effectuer des pings à l'extérieur et le pare-feu autorise les réponses en retour. Ceci vous donne également l'avantage de surveiller le trafic ICMP qui traverse le pare-feu. Dans cet exemple, l'inspection icmp est ajouté à la politique par défaut de l'inspection globale.

Exemple :

policy-map global_policy
    class inspection_default
     inspect icmp

Envoyer un ping à une autre interface

La commande management-access permet aux utilisateurs de se connecter à l'interface des gestion d'accès de l'extérieur SEULEMENT quand l'utilisateur est connecté à PIX/ASA en utilisant un tunnel complet client IPSec VPN ou SSL VPN (client AnyConnect 2.x, SVC 1.x) ou à travers un tunnel IPsec de site-à-site.

L'interface interne du PIX ne peut pas être consultée de l'extérieur, et vice-versa, à moins que la gestion d'accès soit configurée dans le mode de configuration globale. Une fois que la gestion d'accès est activée, l'accès Telnet, SSH, ou HTTP doit être configuré pour les serveurs désirés.

pix(config)#management-access inside
pix(config)#show running-config management-access
management-access inside

Remarque:  Pour l'ASA, les types ICMP de 127 et moins ont une inspection hard-codée qui ne peut pas être arrêtée. La commande inspect icmp n'a aucun effet sur cette inspection quand il est allumé ou éteint.

Remarque: Un message d'inaccessibilité de destination étant envoyé par une voie à travers l'ASA en référençant un paquet qui n'a pas déjà traversé l'ASA sera marqué et arrêté. Cette capacité de protection ne peut pas être désactivée.

Logiciel PIX, versions 5.0.1 à 6.3.3

L'ICMP entrant par le PIX/ASA est refusé par défaut ; L'ICMP en sortie est permis, mais la réponse entrante est refusée par défaut.

Remarque: La version 6.3.3 est la version la plus récente du code disponible au moment de la publication. Pour des versions postérieures, référez-vous aux notes de version pour tout changement éventuel.

Pings d'arrivée

L'ICMP entrant peut être autorisé soit avec une déclaration de conduit, soit avec une déclaration de liste d'accès, basée sur ce que vous utilisez sur PIX. Ne mélangez pas les conduits et les listes d'accès.

Cet exemple montre comment autoriser l'ICMP du périphérique 10.1.1.5 à l'intérieur (statique 192.168.1.5) par tous les périphériques externes :

static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0

!--- and either


conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo

!--- or


access-list 101 permit icmp any host 192.168.1.5 echo
access-group 101 in interface outside

Pings sortants

Les réponses aux ICMP sortants peuvent être autorisées soit par une déclaration de conduit, soit par une déclaration de liste d'accès, basée sur ce que vous utilisez sur PIX. Ne mélangez pas les conduits et les listes d'accès.

Cet exemple montre comment autoriser les réponses aux requêtes ICMP lancé par le dispositif de 10.1.1.5 à l'intérieur (statique 192.168.1.5) de tous les périphériques externes :

static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0

!--- and either


conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo-reply
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 source-quench
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 unreachable
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 time-exceeded

!--- or 


access-list 101 permit icmp any host 192.168.1.5 echo-reply
access-list 101 permit icmp any host 192.168.1.5 source-quench
access-list 101 permit icmp any host 192.168.1.5 unreachable
access-list 101 permit icmp any host 192.168.1.5 time-exceeded
access-group 101 in interface outside

Logiciel PIX, versions 4.2(2) à 5.0.1

L'ICMP entrant par le PIX/ASA est refusé par défaut. L'ICMP en sortie est permis, mais la réponse entrante est refusée par défaut.

Pings d'arrivée

Les ICMP entrants peuvent être autorisés avec une déclaration de conduit.

Cet exemple montre comment autoriser l'ICMP du périphérique 10.1.1.5 à l'intérieur (statique 192.168.1.5) par tous les périphériques externes :

static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo

Pings sortants

Les réponses à l'ICMP sortant peuvent être autorisées avec une déclaration de conduit.

Cet exemple montre comment autoriser les réponses aux requêtes ICMP lancé par le dispositif de 10.1.1.5 à l'intérieur (statique 192.168.1.5) de tous les périphériques externes :

static (inside,outside) 192.168.1.5 10.1.1.5 netmask 255.255.255.255 0 0
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 echo-reply
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 source-quench
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 unreachable
conduit permit icmp 192.168.1.5 255.255.255.255 0.0.0.0 0.0.0.0 time-exceeded

Logiciel PIX, versions 4.1(6) à 4.2(2)

L'ICMP entrant par le PIX/ASA est refusé par défaut. L'ICMP sortant est autorisé par défaut.

Pings d'arrivée

Les ICMP entrants peuvent être autorisés avec une déclaration de conduit.

Cet exemple montre comment autoriser l'ICMP du périphérique 10.1.1.5 à l'intérieur (statique 192.168.1.5) par tous les périphériques externes :

static (inside), outside) 192.168.1.5 10.1.1.5
conduit 192.168.1.5 8 icmp 0.0.0.0 0.0.0.0


!--- The 8 is for echo request; these are from RFC 792.

Consultez la section Types de message ICMP (RFC 792) de ce document pour plus d'informations.

Pings sortants

L'ICMP sortant et les réponses sont autorisés par défaut.

Envoyez les pings aux interfaces PIX

Dans les versions du logiciel PIX on permet 4.1(6) à 5.2.1, le trafic d'ICMP à l'interface PIX. PIX ne peut pas être configuré pour ne pas répondre. Vous ne pouvez pas envoyer des pings vers des interfaces sur la « face cachée » du PIX, quelle que soit la version. Basé sur le diagramme de réseau dans ce document :

  • Vous ne pouvez pas effectuer des pings 10.1.1.1 de 10.1.1.5.

  • Vous ne pouvez pas effecteur des pings 192.168.1.1 de l'extérieur.

  • Vous ne devez pas pouvoir effectuer de pings 192.168.1.1 de 10.1.1.5.

  • Vous ne pouvez pas effecteur des pings 10.1.1.1 de l'extérieur.

Dans les versions 5.2.1 du logiciel PIX, l'ICMP est encore autorisé par défaut, mais les réponses ping PIX de ses propres interfaces peuvent être désactivées avec la commande icmp (qui est une "infiltration PIX").

icmp permit|deny [host] src_addr [src_mask] [type] int_name

Dans cet exemple, PIX ne peut pas envoyer de réponses d'écho en réponse aux demandes écho :

icmp deny any echo outside

Comme avec des listes d'accès, en cas d'absence de déclaration de permission, il y a également un refus implicite de tout autre trafic ICMP.

Cette commande autorise les pings de réseau immédiatement à l'extérieur du PIX :

icmp permit 192.168.1.0 255.255.255.0 echo outside

Comme avec des listes d'accès, en cas d'absence de déclaration de permission, il y a également un refus implicite de tout autre trafic ICMP.

La commande traceroute d'arrivée par le PIX

Problème : Le pare-feu PIX cache tous les réseaux internes dans la sortie des traceroutes d'arrivée.

Résolution :

PIX ne supporte pas la commande traceroute. Quand un traceroute est émis de l'extérieur, PIX n'affiche pas ses propres adresses IP d'interface et n'affiche pas les adresses IP des réseaux intérieurs. L'adresse de destination est affichée plusieurs fois pour chaque tronçon interne.

Les traceroutes fonctionnent seulement avec des traductions d'adresses de réseau statique (NATs) et non avec des adresses IP de traduction d'adresse de port (PAT). Par exemple, un client sur Internet avec l'adresse 209.165.202.130 exécute un traceroute vers un serveur Web à l'intérieur du PIX avec une adresse publique de 209.165.201.25 et une adresse privée de 10.1.3.25. Il y a deux routeurs entre le PIX et le serveur Web interne. La sortie traceroute sur l'ordinateur client apparaît de cette façon :

Target IP address: 209.165.201.25 Source address: 209.165.202.130

 Tracing the route to 209.165.201.25 
  1 209.165.202.128 4 msec 3 msec 4 msec 
  2 209.165.201.25 3 msec 5 msec 0 msec 
  3 209.165.201.25 4 msec 6 msec 3 msec 
  4 209.165.201.25 3 msec 2 msec 2 msec 

Dans la version 6.3 de PIX et plus, ce comportement peut être évité si l'erreur de commande protocole de correction est émise. Quand cette fonctionnalité est activée, PIX créé des xlates pour les tronçons intermédiaires qui envoient des messages d'erreur Internet Control Message Protocol (ICMP), basés sur la configuration NAT statique. Le PIX remplace le paquet avec les adresses IP traduites.

Quand le NAT est activé dans PIX 7.0, les adresses IP des interfaces PIX et les véritables adresses IP des tronçons intermédiaires ne peuvent pas être vues. Cependant, dans PIX 7.0, le NAT n'est pas essentiel et peut être désactivé avec la commande no nat-control. Si la règle NAT est retirée, la véritable adresse IP peut être vue si elle est routable.

Configurez le PIX/ASA pour montrer son réseau interne depuis le réseau externe :

ciscoasa#config t 
ciscoasa(config)#access-list internal-out permit icmp any any echo-reply 
ciscoasa(config)#access-list internal-out permit icmp any any time-exceeded 
ciscoasa(config)#access-list internal-out permit icmp any any unreachable 
ciscoasa(config)#policy-map global_policy 
ciscoasa(config-pmap)#class inspection_default 
ciscoasa(config-pmap-c)#
inspect icmp
 
ciscoasa(config-pmap-c)#
inspect icmp error
 
ciscoasa(config-pmap-c)#end 
ciscoasa(config)#service-policy global_policy global
ciscoasa(config)#access-group internal-out in interface outside

Pour plus d'informations, référez-vous à la section La commande traceroute d'arrivée par PIX de La commande PIX et le traceroute.

Faire apparaître le pare-feu dans un Traceroute dans ASA/PIX

ciscoasa(config)#class-map class-default
ciscoasa(config)#match any


!--- This class-map exists by default.


ciscoasa(config)#policy-map global_policy


!--- This Policy-map exists by default.


ciscoasa(config-pmap)#class class-default


!--- Add another class-map to this policy.


ciscoasa(config-pmap-c)#set connection decrement-ttl


!--- Decrement the IP TTL field for packets traversing the firewall.
!--- By default, the TTL is not decrement hiding (somewhat) the firewall.


ciscoasa(config-pmap-c)#exit
ciscoasa(config-pmap)#exit
ciscoasa(config)#service-policy global_policy global


!--- This service-policy exists by default.

WARNING: Policy map global_policy is already configured as a service policy

ciscoasa(config)#icmp unreachable rate-limit 10 burst-size 5


!--- Adjust ICMP unreachable replies:
!--- The default is rate-limit 1 burst-size 1.
!--- The default will result in timeouts for the ASA hop:


ciscoasa(config)#access-list outside-in-acl remark Allow ICMP Type 11 for Windows tracert
ciscoasa(config)#access-list outside-in-acl extended permit icmp any any time-exceeded


!--- The access-list is for the far end of the ICMP traffic (in this case
!---the outside interface) needs to be modified in order to allow ICMP type 11 replies
!--- time-exceeded):

ciscoasa(config)#access-group outside-in-acl in interface outside


!--- Apply access-list to the outside interface.

ciscoasa(config)#

Exemple

Topologie

http://www.cisco.com/c/dam/en/us/support/docs/security/pix-500-series-security-appliances/15246-31b.gif

Remarque: Les systèmes d'adresse IP utilisés dans cette configuration ne sont pas légalement routables sur Internet. Ce sont des adresses RFC 1918 qui ont été utilisées dans un environnement de laboratoire.

Avant d'appliquer la modification de police :

C:\>tracert -d www.yahoo.com.

Tracing route to www.yahoo-ht3.akadns.net [192.168.93.52]
over a maximum of 30 hops:

  1     1 ms    <1 ms    <1 ms  172.16.2.1

!--- First shown hop is Router 1
     
  2     6 ms     6 ms     5 ms  192.168.100.101
(etc...)

Après avoir appliqué la modification de police :

C:\>tracert -d www.yahoo.com.

Tracing route to www.yahoo-ht3.akadns.net [192.168.93.52]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  172.16.2.254
  
!--- First shown hop is ASA

  2    <1 ms    <1 ms    <1 ms  172.16.2.1

!---  Router 1 is now second hop

  3     6 ms     6 ms     6 ms  192.168.100.101
 (etc...)

Message d'erreur - 313005

Message d'erreur

%PIX|ASA-4-313005: No matching connection for ICMP error message: 
icmp_msg_info on interface_name interface. Original IP payload: 
embedded_frame_info icmp_msg_info = icmp src src_interface_name:src_address dst 
dest_interface_name:dest_address (type icmp_type, code icmp_code) 
embedded_frame_info = prot src source_address/source_port dst 
dest_address/dest_port

Explication

Les paquets d'erreur ICMP sont ignorés par l'appliance de sécurité car les messages d'erreur ICMP ne sont pas liés aux sessions déjà établies dans l'appliance de sécurité.

Action recommandée

Si la cause est une attaque, vous pouvez refuser le serveur avec ACLs.

Types de message ICMP (RFC 792)

Numéro du message Message
0 Réponse d'écho
3 Destination inaccessible
4 La source éteignent
5 Réorientez
8 Écho
11 Temps dépassé
12 Problème de paramètre
13 Horodateur
14 Réponse d'horodateur
15 Demande de l'information
16 Réponse de l'information

Informations à recueillir si vous ouvrez une demande de service

Si vous avez encore besoin d'aide après avoir suivi les étapes de dépannage ci-dessus et voulez ouvrir une demande de service avec le TAC Cisco, n'oubliez pas d'inclure les informations suivantes pour le dépannage de votre pare-feu PIX.
  • Description du problème et des détails topologiques pertinents
  • Dépannage exécuté avant d'ouvrir la demande de service
  • Sortie de la commande show tech-support
  • Sortie de la commande show log après l'exécution avec la commande logging buffered debugging , ou les captures de console qui expliquent le problème (si disponible)
Veuillez joindre les données rassemblées à votre demande de service en format non compressé et texte clair (.txt). Vous pouvez joindre des informations à votre demande de service en la téléchargeant à l'aide de l'outil de requête de demande de service (clients enregistrés uniquement). Si vous ne pouvez pas accéder à l'outil de requête de demande de service, vous pouvez envoyer l'information en pièce jointe dans un e-mail à attach@cisco.com avec votre numéro de demande de service dans le sujet du message.


Informations connexes


Document ID: 15246