Хронологията на инцидент с VPN обикновено започва с два времеви маркера, които се разминават с няколко минути, и с екран, който показва различен час. Изкушението е да изберете единия за правилен и да препишете другия. И двата може да са верни, защото са записани от различни часовници за различни събития. Митът е, че VPN има един часовник; работата е да разберете кой компонент е записал всяко поле.

Митът: VPN има един часовник

Клиентът записва събитие, когато се опита да установи връзка. Шлюзът записва събитие, когато получи или приеме този опит. Колекторът записва време на пристигане, когато получи съобщението на шлюза. Това са три събития и всяко е маркирано от часовника, на който е вярвал пишещият компонент. Събирането им в една хронология е удобство, което скрива разминаването, което се опитвате да обясните.

Числата обикновено се различават от секунди до минути и това е нормално. Важно е дали разликата е закъснение при доставяне, отклонение на часовника или наистина различно събитие. За да решите какво гледате, ви трябва произходът на всяко поле, а не по-силно мнение коя машина е права.

Прочетете източника преди стойността

Преди да сравнявате стойности, установете кой е създал всяка от тях и кое поле е. Съобщението syslog носи времеви маркер от източника, както описва RFC 5424, а форматът може да носи и информация за качеството на времето, описваща синхронизацията и точността. Същият формат позволява на източника да не изпраща никакъв времеви маркер, когато не може да прочете системното време, което само по себе си е полезен сигнал.

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

Клиентът може също да изпрати стойност за време като метаданни на приложението и услугата, която я съхранява, трябва да я обозначи като съобщена от клиента, вместо да я третира като независимо проверена. Това обозначение е разликата между доказателство и твърдение. Когато експортирате дневници за случай, дръжте заедно името на полето, произхода и отклонението. Свеждането им до удобно местно време унищожава точно информацията, която ви трябва.

Спрете, ако не можете да кажете кой компонент е записал дадено поле. Сравняването му с нещо друго е догадка.

Показването на часовата зона не е различен момент

Същият момент, показан като 10:00Z и като 18:00+08:00, не е разминаване и да се отнасяте към него като към такова, означава да загубите половин ден. Преобразувайте и двете в UTC, преди да сравнявате, и пазете оригиналния текст до преобразуването. Десетична дроб от едната страна и цели секунди от другата също не е конфликт. Точността не е вярност: стойност с милисекунди все още може да идва от часовник, който бърка с минути.

date -u +%FT%TZ
timedatectl

Закъснението при доставяне е другото обичайно обяснение. Шлюзът записва кога е приел връзката, а колекторът записва кога съобщението е стигнало до него, така че разликата между тях е време за пренос. Тази разлика говори за конвейера на дневниците, а не за сесията на VPN. Обозначете я като време на пристигане и тя спира да се конкурира с времето на събитието.

Свържете, без да преписвате доказателствата

Пазете оригиналните времеви маркери и добавете производна колона, ако ви трябва общ изглед. Обяснете преобразуването в бележките, вместо да редактирате изходните записи, защото източникът е това, което по-късен проверител ще провери. Пазете времето на пристигане на колектора отделно, където и да съществува.

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

Промяната на часовника на устройство не е контрол за поверителност и не преписва записи, които друга система вече пази. Тя също прави доказателствата за поддръжка по-трудни за сравнение и може да счупи проверките на сертификати и код, които зависят от времето. Поддържайте часовниците синхронизирани за нормална работа и третирайте всяко умишлено отклонение като неизправност за разследване. Ако двата записа изглеждат в грешна последователност, погледнете синхронизацията на часовника и доставянето, преди да изграждате нова история.

Митът, който трябва да отхвърлим, е, че има едно време на VPN. Питайте какво е записало всяко поле и какво се е случило, когато го е направило, и хронологията става набор от обозначени наблюдения, а не противоречие.

Подобни статии