Časová osa incidentu VPN obvykle začíná dvěma časovými razítky, která se liší o několik minut, a displejem, který ukazuje jinou hodinu. Pokušení je vybrat jedno jako správné a druhé přepsat. Obě mohou být správná, protože je zapsaly různé hodiny o různých událostech. Mýtus je, že VPN má jedny hodiny; práce spočívá ve zjištění, která komponenta zapsala každé pole.

Mýtus: VPN má jedny hodiny

Klient zapíše událost, když se pokusí o připojení. Brána zapíše událost, když tento pokus přijme nebo akceptuje. Sběrač zapíše čas příchodu, když přijme zprávu brány. To jsou tři události a každou orazítkovaly ty hodiny, kterým zapisující komponenta věřila. Sesypat je do jedné časové osy je pohodlí, které skrývá nesoulad, jenž se snažíte vysvětlit.

Čísla se obvykle liší o sekundy až minuty, a to je normální. Důležité je, zda je rozdíl zpoždění doručení, posun hodin, nebo skutečně jiná událost. Rozhodnout, na co se díváte, vyžaduje původ každého pole, ne silnější názor na to, který stroj má pravdu.

Čtěte původce dřív než hodnotu

Než porovnáte hodnoty, určete, kdo každou vytvořil a o které pole jde. Zpráva syslog nese časové razítko od původce, jak popisuje RFC 5424, a formát může nést i informace o kvalitě času popisující synchronizaci a přesnost. Stejný formát umožňuje původci neposlat žádné časové razítko, když nedokáže přečíst systémový čas, což je samo o sobě užitečný signál.

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

Klient může také poslat hodnotu času jako metadata aplikace a služba, která ji ukládá, by ji měla označit jako údaj hlášený klientem, místo aby ji považovala za nezávisle ověřenou. Toto označení je rozdíl mezi důkazem a tvrzením. Když exportujete logy pro případ, držte pohromadě název pole, původ a posun. Svést je na pohodlný místní čas ničí právě tu informaci, kterou potřebujete.

Zastavte se, pokud nemůžete říct, která komponenta pole zapsala. Porovnávat ho s čímkoli jiným je hádání.

Zobrazení časového pásma není jiný okamžik

Stejný okamžik zobrazený jako 10:00Z a jako 18:00+08:00 není nesoulad a považovat ho za něj znamená ztratit půl dne. Před porovnáním převeďte oba na UTC a původní text si ponechte vedle převodu. Desetinný zlomek na jedné straně a celé sekundy na druhé také nejsou konflikt. Přesnost není správnost: hodnota s milisekundami může stále pocházet z hodin, které se mýlí o minuty.

date -u +%FT%TZ
timedatectl

Zpoždění doručení je další obvyklé vysvětlení. Brána zaznamená, kdy připojení přijala, a sběrač zaznamená, kdy k němu zpráva dorazila, takže mezera mezi nimi je čas přenosu. Ta mezera vypovídá o logovacím kanálu, ne o relaci VPN. Označte ji jako čas příchodu a přestane soutěžit s časem události.

Korelujte, aniž byste přepisovali důkazy

Zachovejte původní časová razítka a pokud potřebujete společný pohled, přidejte odvozený sloupec. Vysvětlete převod v poznámkách, místo abyste upravovali zdrojové záznamy, protože zdroj je to, co pozdější recenzent zkontroluje. Čas příchodu sběrače uchovávejte odděleně, kdekoli existuje.

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

Změna hodin zařízení není nástroj soukromí a nepřepisuje záznamy, které už drží jiný systém. Také ztěžuje porovnání podpůrných důkazů a může rozbít kontroly certifikátů a kódu, které závisí na čase. Pro běžný provoz udržujte hodiny synchronizované a každé úmyslné vychýlení berte jako závadu k vyšetření. Pokud dva záznamy vypadají mimo pořadí, podívejte se na synchronizaci hodin a doručení, než sestavíte novou historii.

Mýtus, který je třeba opustit, je, že existuje jeden čas VPN. Ptejte se, co každé pole zapsalo a co se stalo, když to udělalo, a časová osa se stane souborem označených pozorování místo rozporu.

Související články