Cronologia unui incident VPN începe de obicei cu două marcaje de timp care diferă cu câteva minute și cu un afișaj care arată altă oră. Tentația este să alegi unul ca fiind corect și să îl rescrii pe celălalt. Ambele pot fi corecte, pentru că le-au scris ceasuri diferite despre evenimente diferite. Mitul este că un VPN are un singur ceas; munca este să afli ce componentă a scris fiecare câmp.

Mitul: VPN-ul are un singur ceas

Clientul scrie un eveniment când încearcă o conexiune. Poarta scrie un eveniment când primește sau acceptă acea încercare. Colectorul scrie o oră de sosire când primește mesajul porții. Sunt trei evenimente, iar fiecare este ștampilat de ceasul în care a avut încredere componenta care scrie. Să le turtești într-o singură cronologie este o comoditate care ascunde nepotrivirea pe care încerci să o explici.

Numerele diferă de obicei de la secunde la minute, și acest lucru este normal. Contează dacă diferența este o întârziere de livrare, o abatere a ceasului sau un eveniment cu adevărat diferit. Pentru a decide la ce te uiți este nevoie de originea fiecărui câmp, nu de o părere mai fermă despre care mașină are dreptate.

Citiți sursa înaintea valorii

Înainte de a compara valori, identificați cine a produs fiecare valoare și despre ce câmp este vorba. Un mesaj syslog poartă un marcaj de timp de la sursă, așa cum descrie RFC 5424, iar formatul poate purta și informații despre calitatea timpului care descriu sincronizarea și precizia. Același format permite sursei să nu trimită niciun marcaj de timp atunci când nu poate citi ora sistemului, ceea ce este în sine un semnal util.

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

Clientul poate trimite și o valoare de timp ca metadate ale aplicației, iar serviciul care o stochează ar trebui să o eticheteze ca raportată de client în loc să o trateze ca verificată independent. Această etichetă este diferența dintre dovadă și afirmație. Când exportați jurnale pentru un caz, țineți împreună numele câmpului, sursa și abaterea. Reducerea lor la o oră locală comodă distruge exact informația de care aveți nevoie.

Opriți-vă dacă nu puteți spune ce componentă a scris un câmp. Compararea lui cu orice altceva este o presupunere.

Afișarea fusului orar nu este un alt moment

Același moment afișat ca 10:00Z și ca 18:00+08:00 nu este o discrepanță, iar tratarea lui ca atare pierde o jumătate de zi. Convertiți ambele în UTC înainte de a compara și păstrați textul original lângă conversie. O fracție zecimală pe o parte și secunde întregi pe cealaltă nu sunt nici ele un conflict. Precizia nu este corectitudine: o valoare cu milisecunde poate veni totuși de la un ceas greșit cu minute.

date -u +%FT%TZ
timedatectl

Întârzierea de livrare este cealaltă explicație obișnuită. Poarta înregistrează când a acceptat conexiunea, iar colectorul înregistrează când mesajul a ajuns la el, așa că golul dintre ele este timp de transport. Acel gol spune ceva despre conducta de jurnale, nu despre sesiunea VPN. Etichetați-l ca oră de sosire și nu mai concurează cu ora evenimentului.

Corelați fără a rescrie dovezile

Păstrați marcajele de timp originale și adăugați o coloană derivată dacă aveți nevoie de o vedere comună. Explicați conversia în note în loc să editați înregistrările sursă, pentru că sursa este ceea ce va verifica un recenzent ulterior. Păstrați ora de sosire a colectorului separat oriunde există.

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

Schimbarea ceasului unui dispozitiv nu este un control de confidențialitate și nu rescrie înregistrări pe care alt sistem le deține deja. De asemenea, face dovezile de suport mai greu de comparat și poate strica verificările de certificate și de cod care depind de timp. Mențineți ceasurile sincronizate pentru funcționarea obișnuită și tratați orice abatere deliberată ca pe o defecțiune de investigat. Dacă cele două înregistrări par în afara ordinii, uitați-vă la sincronizarea ceasului și la livrare înainte de a construi o poveste nouă.

Mitul de care trebuie să ne despărțim este că există un singur timp al VPN-ului. Întrebați ce a scris fiecare câmp și ce s-a întâmplat când a făcut-o, iar cronologia devine un set de observații etichetate în loc de o contradicție.

Articole similare