IPv6 et les extentions pour la vie privée, avec Debian GNU/Linux

Les extensions pour la vie privée (« IPv6 privacy extensions »), documentées dans le RFC 4941, est un mécanisme qui permet au système de s'assigner une adresse IP aléatoire qui est changée après une période de temps. L'adresse aléatoire est choisie par un algorithme, puis le système vérifie le réseau pour voir si l'adresse a déjà été allouée ailleurs (« duplicate address detection », DAD).

Ces extensions évitent, d'une part, d'être plus facilement «suivi» lorsqu'on navigue sur Internet, et d'autre part, ça évite de divulguer l'adresse MAC de notre carte réseau, un identifiant unique associé au fabriquant de l'ordinateur.

Est-ce que IPv6 augmente les risques d'atteinte à la vie privée? En IPv4, même si on avait une adresse dynamique qui nous était attribuée par notre fournisseur d'accès à Internet, on gardait généralement cette adresse pour une longue période de temps, entre un jour et plusieurs semaines. De plus, les compagnies de marketing utilisent des nombreuses méthodes pour observer nos habitudes sur Internet. Bref, une adresse dynamique IPv4 n'est pas du tout une garantie de vie privée sur Internet (surtout si on est connecté à Facebook ou Google en permanence..).

Ceci dit, si on peut protéger notre vie privée davantage, pourquoi pas.

Voici comment activer les extensions pour la vie privée en IPv6:

Ajouter les lignes suivantes dans /etc/sysctl.conf :

net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2
net.ipv6.conf.eth0.use_tempaddr=2

... où eth0 est mon interface réseau principale.

Ensuite appliquer les changements:

sysctl -p /etc/sysctl.conf

Après quelques secondes, si on exécute :

# ip addr

On devrait voir la 2e adresse globale s'ajouter à l'interface réseau :

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> [...]
    inet6 2607:f2c0:f00f:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic
       valid_lft 199sec preferred_lft 0sec
    inet6 2607:f2c0:f00f:xxxx:yyyy:yyyy:yyyy:yyyy/64 scope global dynamic 
       valid_lft 295sec preferred_lft 115sec
    inet6 fe80::zzzz:zzzz:zzzz:zzz/64 scope link 
       valid_lft forever preferred_lft forever

Un truc intéressant que l'on peut voir avec "ip", que l'on ne voit pas avec "ifconfig", c'est le « valid lifetime » et « preferred lifetime ».

ssh

Si on ne veut pas que les connexions ssh brisent une fois par jour, on peut spécifier à ssh de « binder » l'adresse statique de l'interface réseau:

ssh -b 2607:f2c0:f00f:xxxx:xxxx:xxxx:xxxx:xxxx  example.org

On peut aussi l'ajouter dans le fichier ".ssh/config":

bind_address  2607:f2c0:f00f:xxxx:xxxx:xxxx:xxxx:xxxx

Références

Archives