Due schermate a un’ora di distanza mostrano indirizzi di origine IPv6 diversi, e la lettura ovvia è che il tunnel abbia perso o si sia riconnesso. Di solito non è accaduto né l’uno né l’altro. L’host usa indirizzi temporanei, una funzione di privacy del sistema operativo che ruota l’identificatore dell’interfaccia con un timer. Il confronto sembrava conclusivo solo perché dava per scontato un campo che non è mai stato stabile.

Che cosa ruota davvero un indirizzo temporaneo

Un indirizzo temporaneo si costruisce dal prefisso dell’interfaccia più un identificatore che l’host cambia, e porta una durata preferita e una valida. Prima che la durata valida scada, l’host genera un sostituto, così due connessioni possono uscire legittimamente da origini diverse. L’indirizzo di collegamento locale e il prefisso stesso restano al loro posto, ed è così che la rete riconosce ancora la macchina.

Nulla in quella rotazione rende anonimi un account, un cookie o uno schema di navigazione. Un sito che vuole riconoscervi ha cookie, accessi e impronte, e un indirizzo di origine che cambia quasi non pesa al confronto. La rotazione cambia un campo nell’intestazione del pacchetto, e quel campo non è mai stato l’unico identificatore sul percorso.

Il sito web vede un indirizzo, l’host ne tiene diversi

Un server registra l’origine della richiesta che ha ricevuto, nulla di più. L’host può tenere diversi indirizzi con ambiti e durate differenti, e quale vince dipende dalle regole di selezione dell’indirizzo e dalla destinazione. Leggere il valore del sito web come indirizzo della macchina è dove nasce questa confusione. Un solo host può sembrare due macchine a due siti nello stesso istante, semplicemente perché ogni connessione ha scelto un indirizzo diverso.

Guardate l’interfaccia durante una prova con ip -6 addr show dev eth0: diversi indirizzi con le loro durate significano che la rotazione è presente per progetto. Poi chiedete al kernel quale rotta userebbe con ip -6 route get 2001:db8:10::5, che stampa il dispositivo e l’origine preferita per quella destinazione.

Confrontate prefisso, interfaccia e rotta, non la stringa

Nelle prove VPN la domanda è se il pacchetto è uscito dal tunnel, e questa è una questione di routing e di politica. L’indirizzo di origine ne è un indicatore debole: un indirizzo che ruota sull’interfaccia del tunnel resta sul tunnel. Un tunnel che si riconnette di solito sposta il prefisso o il dispositivo, e quei cambiamenti sono visibili senza leggere l’indirizzo completo.

Confrontate quindi la rotta selezionata, l’interfaccia da cui è uscito il pacchetto e il prefisso che portava. Quei tre restano abbastanza stabili tra un’esecuzione e l’altra, e ciascuno significa qualcosa di diverso quando cambia.

Un cambiamento conta quando cambia il prefisso, quando cambia l’interfaccia o quando la rotta verso la destinazione smette di usare il tunnel. Un cambiamento solo nell’identificatore dell’interfaccia, con lo stesso prefisso e lo stesso dispositivo, è comportamento di privacy che funziona come previsto. Se si è mosso solo l’identificatore, la prova ha misurato il timer di privacy invece della copertura. Annotate quale dei tre si è mosso prima di dare la colpa al tunnel.

Non disattivate IPv6 per far coincidere le schermate

Spegnere IPv6 fa coincidere le prove ripetute, e toglie anche un’intera famiglia di indirizzi dalla rete che il tunnel dovrebbe coprire. Quando la politica è trasportare IPv6, disattivarlo nasconde una lacuna di copertura invece di chiuderla.

Se la politica è bloccare IPv6 finché non sarà supportato, bloccatelo deliberatamente e mettete per iscritto la decisione. Il prossimo amministratore deve vedere la differenza tra un blocco documentato e uno stack disattivato.

Che cosa registrare, e che cosa può provare una sola prova

Registrate il prefisso, il nome dell’interfaccia, la rotta selezionata, la destinazione e la marca temporale, con l’indirizzo completo accanto. La specifica degli indirizzi temporanei spiega le durate che muovono la rotazione, ed è per questo che l’indirizzo completo è il campo meno stabile della nota. Che due dei tre campi stabili coincidano tra un’esecuzione e l’altra è una prova più forte di qualsiasi singola corrispondenza di indirizzo.

Una sola prova è un’osservazione di una sola richiesta. La nota è ciò che trasforma l’osservazione successiva in un confronto. Conservate entrambe, e la prossima discrepanza costerà un’occhiata invece di un pomeriggio.

Articoli correlati