Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
bloc3s1:fragip [2022/09/13 09:22] techer.charles_educ-valadon-limoges.fr |
bloc3s1:fragip [2022/09/13 20:29] (Version actuelle) techer.charles_educ-valadon-limoges.fr [MTU discovery (PMTUD)] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Fiche savoir : la fragmentation IP ====== | ====== Fiche savoir : la fragmentation IP ====== | ||
===== Présentation ===== | ===== Présentation ===== | ||
- | La taille maximale d’u paquet IP est définie par la valeur de la MTU (Maximum transmission unit). | + | La taille maximale d’un paquet IP qui est envoyé sur le réseau |
Ce paramètre permet à l' | Ce paramètre permet à l' | ||
* d' | * d' | ||
- | * te tenir compte de l’utilisation d’encapsqulation | + | * de tenir compte de l’utilisation d’encapsulation |
- | Quand le paquet | + | Lors de l' |
* En IPv4, la fragmentation d’un paquet est **interdite*** lorsque le bit **DF** est positionné dans l’en-tête IP. La MTU minimale est de 576 octets. | * En IPv4, la fragmentation d’un paquet est **interdite*** lorsque le bit **DF** est positionné dans l’en-tête IP. La MTU minimale est de 576 octets. | ||
* En IPv6, la fragmentation par un équipement intermédiaire est **interdite**. La MTU minimale est de 1280 octets. | * En IPv6, la fragmentation par un équipement intermédiaire est **interdite**. La MTU minimale est de 1280 octets. | ||
Ligne 13: | Ligne 13: | ||
<WRAP center round info> | <WRAP center round info> | ||
Un paquet IP qui ne peut être acheminé compte tenu de la MTU de l' | Un paquet IP qui ne peut être acheminé compte tenu de la MTU de l' | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info> | ||
+ | Une valeur **optimale** de MTU correspond à la valeur maximale que le réseau accepte. S’il est trop bas, cela ajoute de la **latence**. | ||
</ | </ | ||
L’option **offset** indique la position de chaque portion des données qui ont dû être fragmentées. | L’option **offset** indique la position de chaque portion des données qui ont dû être fragmentées. | ||
+ | {{ : | ||
+ | <WRAP center round info> | ||
+ | Lors de la fragmentation d'un paquet, seul le **premier fragment contient les ports (TCP/UDP) utilisés** par la connexion. Pour que le pare-feu puisse analyser tous les fragments celui-ci doit reconstituer le paquet original. | ||
+ | </ | ||
+ | |||
+ | ==== MTU discovery (PMTUD) ==== | ||
+ | Lien : https:// | ||
+ | |||
+ | MTU discovery (PMTUD) est une méthode qui permet d’obtenir le MTU de tous les équipements que traversent un paquet : | ||
+ | * on envoie des paquets jusqu’à ce que ce dernier ne soit plus droppé par un des routeurs le long du chemin. | ||
+ | * Lorsqu’un périphérique le long du chemin abandonne le paquet, il renvoie un message ICMP avec son MTU. | ||
+ | * Le périphérique source abaisse son MTU et envoie un autre paquet de test. | ||
+ | * Ce processus est répété jusqu’à ce que les paquets de test soient suffisamment petits pour traverser tout le chemin du réseau sans être abandonnés. | ||
+ | |||
+ | Le site [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | Des ajustements supplémentaires doivent alors être faits pour la partie **Données utiles**. | ||
+ | === Optimiser le MTU === | ||
+ | La commande **ping** permet de déterminer le meilleur **MTU**, en utilisant le même principe que le **path MTU discovery** : envoyer des paquets **fragmentés de différentes tailles** pour voir si un équipement **drop** ou **fragmente** le paquet. | ||
+ | |||
+ | Paramètres de la commande ping : | ||
+ | * envoyer des paquets **non fragmentés** avec l’option -f | ||
+ | * envoyer des paquets avec une taille de MTU différente avec -l | ||
+ | |||
+ | < | ||
+ | ping www.yahoo.com -f -l 1500 | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info> | ||
+ | La commande netsh de Windows permet de modifier la valeur de la MTU du PC. | ||
+ | </ | ||
+ | |||
+ | === Attaque par fragmentation IP === | ||
+ | |||
+ | Le mécanisme de fragmentation IP peut être détourné pour véhiculer des attaques : | ||
+ | * la menace est répartie sur **plusieurs fragments**. | ||
+ | * Le code malveillant est découpé puis inséré dans des fragments consécutifs , | ||
+ | * l’analyse unitaire des fragments par le PC ou le serveur pare-feu **ne révèle pas l’attaque**. | ||
+ | * C’est au moment du **réassemblage** des fragments que la menace est **reconstituée**. | ||
+ | === Attaque par recouvrement === | ||
+ | Détournement de l’usage de l’option **offset** : | ||
+ | * utilisation de deux fragments consécutifs avec des valeurs d’offset qui se **chevauchent** , | ||
+ | * l' | ||
+ | {{ : |