Наблюдението на VPN партньор изисква четири факта и нито един от тях не е дестинация. Дали тунелът е вдигнат, кога за последно е обменял трафик, кои ключове участват и колко се е преместило са достатъчни за наличност. Всичко над това е запис за човек и трябва да бъде съзнателно решение, а не страничен ефект от отваряне на страница за състояние. Започнете от въпроса, на който трябва да отговорите, след което изберете най-малкия изход, който му отговаря.

Решете въпроса преди инструмента

Първо напишете оперативния въпрос: този партньор свързан ли е и движи ли трафик? Този въпрос изисква жива картина, а живата картина няма проблем със съхранението. Втори въпрос, дали партньорът е бил свързан в 02:00 миналия вторник, изисква съхранена серия и следователно решение за съхранение. Разделянето на тези две е целият дизайн, защото живата картина е евтина, докато съхранената серия се превръща в разговор за защита на данните.

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

Четете трите полета, които отговарят

Обикновеният изход за състояние на WireGuard носи интерфейса, публичния ключ, крайната точка, последното ръкостискане и броячите на трансфера. За присъствие са нужни публичният ключ и последното ръкостискане; ако трябва, добавете байтовите броячи, за да видите движение. Крайната точка не е нужна за присъствие и е първото поле за отпадане, защото идентифицира откъде се свързва устройство. Страницата на ръководството описва всяко поле, което инструментът отпечатва, и е достатъчно кратка, за да се прочете веднъж:

wg show
wg show wg0 latest-handshakes

Четете тези числа като възраст, а не като булеви стойности. Ръкостискането е актуално само спрямо собствения интервал за подмяна на ключове на протокола, а брояч, който не е помръднал, може да означава бездействащ партньор, а не счупен. Дръжте двете в един изглед, за да се четат възрастта и движението заедно.

Изберете интервал, който можете да защитите

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

За OpenVPN съоръжението за състояние записва файл на зададен интервал. В конфигурацията на сървъра това изглежда така status /var/log/openvpn-status.log 60, където числото в края е секундите между презаписванията, а файлът се заменя, а не се допълва. Тази подробност е важна: замененият файл няма история, докато колектор, който го допълва, създава такава.

Потвърдете, че колекторът също спазва интервала. Инструмент, който взема извадка всяка секунда и съхранява един ред в минута, все още чете всяка секунда.

Дръжте етикетите стабилни и съпоставянето ограничено

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

Прегледайте и пътя за експорт, защото копирано CSV надживява системата, която го е създала. Обобщената наличност често е достатъчна за отчет: делът на партньорите с ръкостискане в прозореца отговаря на оперативния въпрос, без да изброява кой кога е бил свързан.

Документирайте какво събирате и какво не

Напишете описанието на събирането на прост език: кои полета, от кой интерфейс, на какъв интервал, къде се съхраняват, колко дълго се пазят и кой може да ги чете. Сложете го до runbook, а не в хранилище за политики, което никой не отваря по време на инцидент. Описанието трябва да каже и какво мониторингът не може да види, защото точно това спира някого да предположи, че липсата на данни за сърфиране означава липса на записи.

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

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