La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Sécurité - ASA7.x et IOS - VPN et Fragmentation

Présentations similaires


Présentation au sujet: "Sécurité - ASA7.x et IOS - VPN et Fragmentation"— Transcription de la présentation:

1 Sécurité - ASA7.x et IOS - VPN et Fragmentation
ccnp_cch

2 Sommaire ● Introduction ● Rappel ● Tâche principale
- Prérequis Schéma du réseau - Produits liés ● Rappel - Problèmes avec la fragmentation ● Tâche principale - Découverte de la fragmentation - Solutions pour les problèmes de fragmentation ● Résolution de problèmes Erreur de cryptage VPN Problèmes RDP et Citrix ccnp_cch

3 Introduction Ce document décrit les étapes requises pour éliminer les problèmes qui peuvent sur- venir à cause de la fragmentation d'un paquet. Un exemple de problème de fragmen- tation est la possibilité de tester la connectivité avec une ressource (par ping) et l'im- possibilité de se connecter à la même ressource pour une application spécifique com- me le courrier ou une base de données. Prérequis Assurez-vous que vous avez les prérequis suivants avant de tenter cette configuration:  Connectivité entre voisins VPN Schéma du réseau Routeur FAI Routeur FAI Tunnel VPN Agence Site Central PC demandant l'accès aux applications à l'autre extrémité du tunnel. Serveur d'Applications Produits liés Cette configuration peut être aussi utilisée avec les versions logicielles et matérielles suivantes:  Routeurs avec IOS  Equipements de sécurité PIX/ASA ccnp_cch

4 Rappel IP supporte une longueur maximale de octets pour un paquet IP, mais la majo- rité des protocoles de couche liaison supportent des longueurs plus faibles appelées MTU (Maximum Transmit Unit). Basé sur le MTU supporté il peut être nécessaire de fragmenter un paquet IP pour le transmettre sur un média de couche liaison particu- lier. La destination doit ensuite réassembler les fragments pour reconstituer le paquet original. Protocole Octets additionnels ESP (cryptage et hash) 56 AH 24+ GRE 24 NAT-T/TPSec sur UDP (partie UDP) 8 IPSec sur TCP (partie TCP) 20 L2TP 12 PPTP 48 En-tête IP externe en mode tunnel IPSec ou PPTP/L2TP PPPoE Quand vous utilisez un VPN pour protéger les données entre deux extrémités VPN, des en-têtes additionnels sont ajoutés aux données originales ce qui entraine que la frag- mentation peut survenir. Le tableau ci-dessus liste les champs qui peuvent être poten- tiellement ajoutés aux données protégées pour supporter une connexion VPN. Notez que plusieurs protocoles peuvent être nécessaires ce qui accroît la taille du paquet ori- ginal. Par exemple si vous utilisez une connexion DMVPN IPsec L2L entre deux rou- teurs Cisco sur lesquels vous avez implémenté GRE, vous aves besoin de ces en-têtes additionnels : ESP, GRE et l'en-tête IP externe. Si vous avez une connexion client VPN IPSec vers une passerelle VPN quand le trafic passe par une adresse d'équipement, vous avez besoin de cet en-tête additionnel pour NAT-T (NAT-Traversal) comme égale- ment de l'en-tête IP externe pour le mode de connexion tunnel. Problèmes avec la fragmentation Quand la source transmet un paquet vers la destination, elle place une valeur dans le champ drapeaux de contrôle de l'en-tête IP qui affecte la fragmentation du paquet IP par des équipements intermédiaires. Le champ drapeaux de contrôle a trois bits mais seuls les deux premiers sont utilisés pour la fragmentation. Si le deuxième bit est po- sitionné à 0, le paquet peut être fragmenté et s'il est positionné à 1 le paquet ne peut pas être fragmenté. Le deuxième bit appelé bit DF (Do not Fragment). Le troisième bit spécifie, quand la fragmentation est active, si ce fragment est dernier fragment (bit po- sitionné à 0) ou s'il y a d'autres fragments à suivre (bit positionné à 1) pour reconsti- tuer le paquet. ccnp_cch

5 Il y a quatre secteurs qui peuvent créer des problèmes quand la fragmentation est re- quise:  De la puissance CPU supplémentaire et de la mémoire sont requises par les deux équipements qui réalisent la fragmentation et le réassemblage.  Si un fragment est perdu sur le chemin vers la destination, le paquet ne peut pas être reconstitué et le paquet doit être retransmis dans son intégralité. Ceci crée des problèmes de débit tout spécialement dans les situations où le trafic en question est limité en débit et que la source transmet du trafic au-delà de la limite allouée.  Le filtrage de paquet et les pare-feux stateful peuvent avoir des difficultés pour trai ter les fragments. Quand la fragmentation se produit, le premier fragment contient l'en-tête IP externe, l'en-tête interne TCP ou UDP, ESP et autres plus une partie de la charge utile. Le problème avec ce processus est que certains pare-feux ont besoin de voir l'information d'en-tête interne dans chaque paquet pour réaliser un filtrage intelligent de décisions; si cette information manque, ils peuvent de toute évidence éliminer tous les fragments excepté le premier.  La source peut positionner le troisième bit de contrôle "do not fragment" dans l'en-tête IP du paquet ce qui signifie que si un équipement intermédiaire reçoit le paquet et doit fragmenter, celui-ci ne peut pas et par conséquent élimine le paquet. Tâche principale Découverte de la fragmentation La majorité des réseaux utilisent Ethernet avec une valeur de MTU par défaut de octets qui est typiquement utilisée pour les paquets IP. Pour trouver si la fragmenta- tion survient ou est nécessaire mais ne peut pas être faite (bit DF à 1), établissez d'abord votre connexion VPN. Vous pouvez alors utiliser une des quatre procédures suivantes pour découvrir la fragmentation "Pinguez" un équipement situé à l'autre extrémité à condition que le message icmp echo soit autorisé à passer dans le tunnel. Si cette action est réussie, essayez d'ac céder à une application sur le même équipement; par exemple si un serveur mail ou RDP (Remote Desktop Protocol) Microsoft est accessible par le tunnel, ouvrez Outlook puis essayez de lire votre courrier ou de vous connecter au serveur avec RDP. Si cela ne fonctionne pas et que vous avez la bonne résolution de nom, il y a beaucoup de chance pour que la fragmentation soit le problème A partir d'un équipement avec Windows, entrez ceci: C:\> ping −f −l packet_size_in_bytes destination_IP_address L'option -f est utilisée pour spécifier que le paquet ne peut pas être fragmenté. L'op tion -l est utilisée pour spécifier la longueur du paquet. Essayez d'abord avec un paquet de 1500 octets. Par exemple ping -f -l Si la fragmen- tation est requise mais ne peut pas être exécutée, vous recevez un message du type: Packets need to be fragmented but DF set. ccnp_cch

6 3. Sur les routeurs Cisco, exécutez la commande debug ip icmp et utilisez la com mande ping étendue. Si vous voyez ICMP: dst (x.x.x.x) fragmentation needed and DF set, unreachable sent to y.y.y.y où y.y.y.y est votre routeur, c'est qu'un équipe- ment intermédiaire vous indique que la fragmentation est nécessaire mais ne peut pas être faite à cause du bit DF positionné dans le message echo request et qu'il ne peut le fragmenter pour le transmettre vers le prochain saut. Dans ce cas, diminuer graduellement la taille du MTU des messages ping jusqu'à ce que vous en trouviez une qui fonctionne. 4. Sur les appliances de sécurité Cisco, utilisez un filtre de capture:  ciscoasa(config)#access−list outside_test permit tcp any host eq 80 Note: Quand vous laissez la source a any, cela permet à l'administrateur de superviser toute adresse avec NAT (Network Address Translation)  ciscoasa(config)#access−list outside_test permit tcp host eq 80 any Note: Quand vous inversez la source et la destination, cela permet au trafic retour d'être capturé  ciscoasa(config)# capture outside_interface access−list outside_test interface outside L'utilisateur doit initier une nouvelle session avec l'application X. Après que l'utilisateur ait initié une nouvelle session application X, l'administrateur de l'ASA doit entrer la commande show capture outside-interface. Solutions aux problèmes de fragmentation Il y a différentes manières de solutionner les problèmes de fragmentation. Elles sont traitées dans cette section: Méthode 1: Paramétrage Statique du MTU Le paramétrage statique du MTU peut résoudre les problèmes de fragmentation Modification du MTU sur le routeur: Notez que si vous changez manuellement le MTU sur l'équipement, vous indiquez à l'équipement qui agit comme passerelle VPN, de fragmenter les paquets reçus avant de les protéger en les transmettant dans le tunnel. Ceci est préférable par rapport à un routeur qui protège le trafic puis le fragmente Attention: Si vous changez la taille du MTU sur l'interface sur laquelle le VPN se termine, cela cause la fermeture et la reconstruction de tous les tunnels terminés sur cette interface Sur les routeurs Cisco, utilisez la commande ip mtu pour ajuster la taille du MTU sur l'interface sur laquelle se termine le VPN. ccnp_cch

7 ccnp_cch router (config)# interface type [slot_#/] port_#
router (config−if)# ip mtu MTU_size_in_bytes 2. Modifier le MTU sur l'ASA/PIX Sur les équipements ASA/PIX, utilisez la commande mtu pour ajuster la taille du MTU en mode de configuration global. Par défaut, le MTU est fixé à Par exemple, si vous avez une interface nommée Outside (sur laquelle un VPN se ter- mine) sur votre appliance de sécurité et que vous avez déterminé (au travers des mesures listées dans la section Découverte de la fragmentation) que vous voulez utiliser une taille de fragment de 1380 octets, utilisez cette commande: security_appliance (config)# mtu Outside 1380 Méthode 2: Taille maximum du segment TCP La taille maximum du segment TCP peut résoudre les problèmes de fragmentation. Note: Cette fonctionnalité ne fonctionne qu'avec TCP; les autres protocoles IP doivent utiliser une autre solution pour résoudre les problèmes de fragmentation. Même si vous fixez le mtu ip sur le routeur, cela n'affecte pas ce que les deux hosts aux extré- mités négocient dans l'échange TCP en trois étapes avec le MSS TCP Modification du MSS sur le routeur La fragmentation se produit avec le trafic TCP car le trafic TCP est normalement utilisé pour transporter de grands volumes de données. TCP supporte une fonc tionnalité appelée TCP MSS (Maximum Segment Size) qui autorise les deux équipe ments à négocier une taille de segment optimale pour le trafic TCP. La valeur de MSS est configurée de manière statique sur chaque équipement et représente la taille du buffer à utiliser pour un paquet. Quand deux équipements établissent une connexion TCP, ils comparent la valeur du MSS local avec la valeur du MTU local pendant l'échange en trois étapes; la valeur la plus faible est transmise à l'autre extrémité. Les deux extrémités utilisent ensuite la plus faible des deux valeurs échangées. Pour configurer cette fonctionnalité, exécutez ceci: Sur les routeurs Cisco, utilisez la commande tcp adjust-mss sur l'interface sur laquelle se termine le VPN router (config)# interface type [slot_#/] port_# router (config−if)# ip tcp adjust−mss MSS_Size_in_bytes 2. Modifier le MSS sur l'ASA/PIX Pour assurer que la taille maximum du segment TCP n'excède pas la valeur que vous avez fixée et que le maximum n'est pas inférieur à la taille fixée, utilisez la commande sysopt connection en mode de configuration de configuration global Pour restaurer les valeurs par défaut, utilisez la forme no de cette commande. ccnp_cch

8 La valeur par défaut maximum est de 1380 octets
La valeur par défaut maximum est de 1380 octets. La fonction minimum est déva- lidée par défaut (fixée à 0). Pour changer la limite de la valeur maximum par défaut du MSS, exécutez ceci: security_appliance (config)# sysopt connection tcp−mss MSS_size_in_bytes Note: Si vous fixez la taille maximum supérieure à 1380, les paquets peuvent être fragmentés selon la taille du MTU (qui est de 1500 octets par défaut). Un grand nombre de fragments peut impacter les performances de l'appliance de sécurité quand elle utilise la fonctionnalité Frag Guard. Si vous fixez la taille minimum, cela évite que le serveur transmette beaucoup de petits paquets de données TCP au client minimise l'impact sur les performances du réseau et du serveur Pour changer la limite de la taille minimum, exécutez ceci: security_appliance(config)# sysopt connection tcp−mss minimum MSS_size_in_bytes Note: Référez-vous à la section "MPF configuration to allow Packets that Exceed MSS" du document PIX/ASA7.X Issue: MSS Exceeded - HTTP Clients Cannot Browse to Somme Web Sites pour plus d'information sur une autre méthode pour autoriser les paquets avec un MSS trop grand. Méthode 3: Path MTU Discovery (PMTUD) PMTUD peut résoudre les problèmes de fragmentation. Le problème principal avec le MSS TCP est que l'administrateur doit connaître quelle valeur configurer sur votre routeur pour éviter l'apparition de fragmentation. Ceci peut être un problème si plusieurs chemins existent entre vous et l'extrémité VPN distante ou quand vous faites votre requête initiale. Vous trouvez le deuxième ou troisième plus petit MTU au lieu du plus petit à cause de la décision de routage utilisée pour votre requête initiale. Avec PMTUD, vous pouvez déterminer une valeur de MTU qui évite la fragmentation. Si les messages ICMP sont bloqués par un routeur, le chemin de MTU est rompu et les paquets avec le bit DF positionné sont éliminés. Utilisez la commande set ip df 0 pour effacer le bit DF et autoriser un paquet à être fragmenté et transmis. La fragmentation peut ralentir la vitesse de l'acheminement du paquet dans le réseau mais des listes d'accès peuvent être utilisées pour limiter le nombre de pa- quets sur lesquels le bit DF doit être effacé Ces problèmes peuvent causer le non fonctionnement de PMTUD  Un routeur intermédiaire peut éliminer le paquet et ne pas répondre avec un message ICMP. Ceci n'est pas très commun sur Internet mais peut être courant à l'intérieur d'un réseau dans lequel les routeurs sont configurés pour ne pas répondre avec des messages ICMP unreachable  Un routeur intermédiaire peut répondre avec un message ICMP unreachable mais sur le chemin de retour un pare-feu bloque ce message. C'est un cas plus courant.  ccnp_cch

9  Un routeur intermédiaire peut répondre avec un message ICMP unreachable mais sur le chemin de retour un pare-feu bloque ce message. C'est un cas plus courant.  Le message ICMP unreachable revient vers la source mais la source ignore le message fragmenté. C'est le plus commun des trois problèmes Si vous rencontrez le premier problème, vous pouvez soit effacer le bit DF dans l'en tête IP où la source l'a placé ou ajuster manuellement la taille du MSS TCP. Pour ef facer le dit DF, un routeur intermédiaire doit changer la valeur de 1 à 0. Normale ment ceci est fait par un routeur dans votre réseau avant que le paquet quitte le réseau. Ceci est un exemple de configuration fait sur un routeur Cisco avec IOS: Router (config) # access−list ACL_# permit tcp any any Router (config) # route−map route_map_name permit seq# Router (config−route−map) # match ip address ACL_# Router (config−route−map) # set ip df 0 Router (config−route−map) # exit Router (config) # interface type [slot#/]port # Router (config−if) # ip policy route−map route_map_name 2. PMTUD et Tunnels GRE Par défaut, un routeur ne pas de PMTUD sur des paquets de tunnel GRE qu'il gé nère lui-même. Pour valider PMTUD sur des interfaces tunnel GRE et avoir le rou teur qui participe au processus de réglage du MTU pour des équipements source/ destination et pour du trafic qui passe dans le tunnel, utilisez cette configuration:  Router (config) # interface tunnel tunnel_#  Router (config−if) # tunnel path−mtu−discovery La commande tunnel path−mtu−discovery valide le PMTUD pour l'interface tunnel GRE d'un routeur. Le paramètre optionnel age-timer indique le nombre de minutes après lesquelles l'interface réinitialise la taille MTU maximum décou- verte moins 24 octets pour l'en-tête GRE. Si vous spécifiez infinite pour le timer, le timer n'est pas utilisé. Le paramètre min-mtu spécifie le nombre minimum d'octets qui doit être dans la valeur MTU PIX/ASA7.x - Clear Don't Fragment (DF) ou gérer des fichiers de grandes tailles Vous ne pouvez toujours pas accéder correctement à Internet, à de grands fichiers ou à des applications à travers le tunnel car il y a des messages MTU size-error PMTU−D packet 1440 bytes greater than effective mtu 1434, dest_addr= , src_addr= , prot=TCP Pour résoudre cela, assurez-vous d'effacer le bit DF à partir de l'interface externe de l'équipement. Configurez la politique DF-bit pour les paquets IPSec avec la com- mande crypto ipsec df-bit en mode de configuration global pix(config)# crypto ipsec df−bit clear−df outside ccnp_cch

10 Pour résoudre cela, assurez-vous d'effacer le bit DF à partir de l'interface externe de l'équipement. Configurez la politique DF-bit pour les paquets IPSec avec la com- mande crypto ipsec df-bit en mode de configuration global pix(config)# crypto ipsec df−bit clear−df outside Le bit DF avec la fonctionnalité des tunnels IPSec vous permet de spécifier si l'ap pliance de sécurité peut effacer, positionner ou copier le bit DF (Don't Fragment) à partir de l'en-tête d'encapsulation. Le bit DF dans l'en-tête IP détermine si l'équipe ment peut ou non fragmenter un paquet. Utilisez la commande crypto ipsec df-bit en mode de configuration global pour configurer l'appliance de sécurité pour spécifier le bit DF dans l'en-tête encapsulé Quand vous encapsulez du trafic IPSec en mode tunnel, utilisez la configuration clear-df pour le bit DF. Cette configuration laisse l'équipement transmettre des pa quets plus grands que la taille du MTU disponible. Cette configuration est égale- ment appropriée si vous ne connaissez pas la taille de MTU disponible. Note: Si vous avez toujours des problèmes de fragmentation et des paquets éliminés, optionnellement vous pouvez ajuster manuellement la taille du MTU avec la comman- de ip mtu tunnel interface. Dans ce cas, le routeur fragmente le paquet avant de le protéger. Cette commande peut être utilisée en conjonction avec PMTUD et/ou TCP MSS. Résolution de problèmes Erreur de cryptage VPN Supposons que le tunnel IPSec ait été établi entre le routeur et le PIX. Si vous voyez des messages d'erreur de cryptage et que des paquets sont éliminés, exécutez ces éta- pes pour résoudre le problème: 1. Réalisez une trace avec un analyseur depuis le client vers le serveur pour trouver quel est le meilleur MTU à utiliser Vous pouvez utiliser également un test ping: ping −l −f est l'adresse IP de l'équipement distant Continuez de réduire la valeur de 1400 par pas de 20 jusqu'à ce que vous ayez une réponse Note: La valeur magique qui fonctionne dans tous les cas est 1300. ccnp_cch

11 2. Continuez de réduire la valeur de 1400 par pas de 20 jusqu'à ce que vous ayez une réponse Note: La valeur magique qui fonctionne dans tous les cas est 1300. 3. Après que la taille maximum de segment appropriée soit trouvée, ajustez la sur les équipements utilisés: Sur le PIX: sysopt connection tcpmss 1300 Sur le routeur: ip tcp adjust−mss 1300 Problèmes RDP et Citrix Problème: Vous pouvez "pinguer" entre réseaux VPN mais RDP (Remote Desktop Protocol) et les connexions Citrix ne peuvent pas être établies à travers le tunnel. Solution: Le problème peut être la taille du MTU sur le PC situé derrière le PIX ou l'ASA. Fixez le MTU à 1300 pour la machine client et tentez d'établir la connexion Citrix à travers le tunnel VPN. ccnp_cch


Télécharger ppt "Sécurité - ASA7.x et IOS - VPN et Fragmentation"

Présentations similaires


Annonces Google