La linea temporale di un incidente VPN di solito inizia con due marche temporali che differiscono di qualche minuto e con un display che mostra un’ora diversa. La tentazione è scegliere una come corretta e riscrivere l’altra. Entrambe possono essere giuste, perché orologi diversi le hanno scritte su eventi diversi. Il mito è che una VPN abbia un solo orologio; il lavoro consiste nel capire quale componente ha scritto ogni campo.

Il mito: la VPN ha un solo orologio

Il client scrive un evento quando tenta una connessione. Il gateway scrive un evento quando riceve o accetta quel tentativo. Il raccoglitore scrive un’ora di arrivo quando riceve il messaggio del gateway. Sono tre eventi, e ciascuno è timbrato dall’orologio di cui si fidava il componente che scrive. Ridurli a un’unica linea temporale è una comodità che nasconde la discrepanza che state cercando di spiegare.

I numeri di solito differiscono da secondi a minuti, e questo è normale. Ciò che conta è se la differenza è un ritardo di consegna, uno scostamento dell’orologio o un evento davvero diverso. Per decidere cosa state guardando serve l’origine di ogni campo, non un’opinione più ferma su quale macchina abbia ragione.

Leggete l’origine prima del valore

Prima di confrontare i valori, identificate chi ha prodotto ciascuno e di quale campo si tratta. Un messaggio syslog porta una marca temporale dall’origine, come descrive RFC 5424, e il formato può portare anche informazioni sulla qualità del tempo che descrivono sincronizzazione e accuratezza. Lo stesso formato permette all’origine di non inviare alcuna marca temporale quando non riesce a leggere l’ora di sistema, il che è di per sé un segnale utile.

journalctl -o short-iso --utc -n 20
logger -t vpn-check "test event"

Un client può anche inviare un valore di tempo come metadato dell’applicazione, e un servizio che lo memorizza dovrebbe etichettarlo come dichiarato dal client invece di trattarlo come verificato in modo indipendente. Quell’etichetta è la differenza tra una prova e un’affermazione. Quando esportate registri per un caso, tenete insieme il nome del campo, l’origine e lo scostamento. Ridurli a un’ora locale comoda distrugge proprio l’informazione che vi serve.

Fermatevi se non riuscite a dire quale componente ha scritto un campo. Confrontarlo con qualsiasi altra cosa è un’ipotesi.

La visualizzazione del fuso orario non è un istante diverso

Lo stesso istante mostrato come 10:00Z e come 18:00+08:00 non è una discrepanza, e trattarlo come tale fa perdere mezza giornata. Convertite entrambi in UTC prima di confrontare e tenete il testo originale accanto alla conversione. Una frazione decimale da un lato e secondi interi dall’altro non sono nemmeno un conflitto. La precisione non è l’esattezza: un valore con millisecondi può comunque venire da un orologio sbagliato di minuti.

date -u +%FT%TZ
timedatectl

Il ritardo di consegna è l’altra spiegazione abituale. Il gateway registra quando ha accettato la connessione, e il raccoglitore registra quando il messaggio gli è arrivato, quindi il vuoto tra i due è tempo di trasporto. Quel vuoto dice qualcosa sulla canalizzazione dei registri, non sulla sessione VPN. Etichettatelo come ora di arrivo e smette di competere con l’ora dell’evento.

Correlate senza riscrivere le prove

Conservate le marche temporali originali e aggiungete una colonna derivata se vi serve una vista comune. Spiegate la conversione nelle note invece di modificare i record di origine, perché l’origine è ciò che controllerà un revisore successivo. Preservate l’ora di arrivo del raccoglitore separatamente ovunque esista.

chronyc tracking
journalctl --utc -u openvpn-client@work -n 50 --no-pager

Cambiare l’orologio di un dispositivo non è un controllo della privacy e non riscrive i record che un altro sistema già possiede. Rende anche più difficile confrontare le prove di supporto, e può rompere i controlli di certificati e codice che dipendono dal tempo. Mantenete gli orologi sincronizzati per il funzionamento ordinario e trattate ogni scostamento deliberato come un guasto da indagare. Se i due record sembrano fuori sequenza, guardate la sincronizzazione dell’orologio e la consegna prima di costruire una nuova storia.

Il mito da abbandonare è che esista un solo tempo della VPN. Chiedete cosa ha scritto ogni campo e cosa è successo quando lo ha fatto, e la linea temporale diventa un insieme di osservazioni etichettate invece di una contraddizione.

Articoli correlati