Deux captures d’écran à une heure d’intervalle montrent des adresses source IPv6 différentes, et la lecture évidente est que le tunnel a fuité ou s’est reconnecté. En général, ni l’un ni l’autre ne s’est produit. L’hôte utilise des adresses temporaires, une fonction de confidentialité du système d’exploitation qui fait tourner l’identificateur d’interface selon une minuterie. La comparaison semblait concluante uniquement parce qu’elle supposait un champ qui n’avait jamais été stable.

Ce qu’une adresse temporaire fait réellement tourner

Une adresse temporaire se construit à partir du préfixe de l’interface et d’un identificateur que l’hôte modifie, et elle porte une durée de vie préférée et une durée de vie valide. Avant l’expiration de la durée valide, l’hôte génère un remplacement, si bien que deux connexions peuvent légitimement partir de sources différentes. L’adresse lien local et le préfixe lui-même restent en place, et c’est ainsi que le réseau reconnaît encore la machine.

Rien dans cette rotation ne rend anonymes un compte, un cookie ou un schéma de navigation. Un site qui veut vous reconnaître dispose de cookies, de connexions et d’empreintes, et une adresse source changeante ne pèse presque rien face à cela. La rotation change un champ dans l’en-tête du paquet, et ce champ n’a jamais été le seul identifiant sur le chemin.

Le site web voit une adresse, l’hôte en détient plusieurs

Un serveur enregistre la source de la requête qu’il a reçue, rien de plus. L’hôte peut détenir plusieurs adresses avec des portées et des durées de vie différentes, et celle qui l’emporte dépend des règles de sélection d’adresse et de la destination. Lire la valeur du site web comme l’adresse de la machine, voilà où commence cette confusion. Un seul hôte peut ressembler à deux machines pour deux sites au même instant, simplement parce que chaque connexion a choisi une adresse différente.

Regardez l’interface pendant un test avec ip -6 addr show dev eth0 : plusieurs adresses avec leurs durées de vie signifient que la rotation est présente par conception. Demandez ensuite au noyau quelle route il utiliserait avec ip -6 route get 2001:db8:10::5, ce qui affiche l’appareil et la source préférée pour cette destination.

Comparez préfixe, interface et route, pas la chaîne

Lors d’un test VPN, la question est de savoir si le paquet est sorti par le tunnel, et c’est une question de routage et de politique. L’adresse source en est un indicateur faible : une adresse qui tourne sur l’interface du tunnel reste sur le tunnel. Un tunnel qui se reconnecte décale généralement plutôt le préfixe ou l’appareil, et ces changements sont visibles sans lire l’adresse complète.

Comparez donc la route sélectionnée, l’interface par laquelle le paquet est sorti et le préfixe qu’il portait. Ces trois restent assez stables d’une exécution à l’autre, et chacun signifie quelque chose de différent lorsqu’il change.

Un changement compte lorsque le préfixe change, lorsque l’interface change ou lorsque la route vers la destination cesse d’utiliser le tunnel. Un changement uniquement dans l’identificateur d’interface, avec le même préfixe et le même appareil, est un comportement de confidentialité qui fonctionne comme prévu. Si seul l’identificateur a bougé, le test a mesuré la minuterie de confidentialité plutôt que la couverture. Notez lequel des trois a bougé avant d’accuser le tunnel.

Ne désactivez pas IPv6 pour faire concorder les captures

Désactiver IPv6 fait concorder les tests répétés, et retire aussi toute une famille d’adresses du réseau que votre tunnel est censé couvrir. Quand la politique est de transporter IPv6, le désactiver masque une lacune de couverture au lieu de la combler.

Si la politique est de bloquer IPv6 jusqu’à sa prise en charge, bloquez-le délibérément et consignez la décision. Le prochain administrateur doit voir la différence entre un blocage documenté et une pile désactivée.

Quoi consigner, et ce qu’un seul test peut prouver

Consignez le préfixe, le nom de l’interface, la route sélectionnée, la destination et l’horodatage, avec l’adresse complète à côté. La spécification des adresses temporaires explique les durées de vie qui entraînent la rotation, et c’est pourquoi l’adresse complète est le champ le moins stable de la note. Que deux des trois champs stables concordent d’une exécution à l’autre est une preuve plus forte que n’importe quelle correspondance d’adresse isolée.

Un seul test est une observation d’une seule requête. La note est ce qui transforme l’observation suivante en comparaison. Gardez les deux, et le prochain désaccord coûtera un coup d’œil au lieu d’un après-midi.

Articles similaires