Tre orologi in un solo registro VPN: client, gateway, raccoglitore
Il registro del client, quello del gateway e l’arrivo al raccoglitore sono tre eventi con tre orologi. Identificate l’origine prima di confrontare le marche temporali.
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.