Monitorowanie peera VPN wymaga czterech faktów i żaden z nich nie jest celem. Czy tunel działa, kiedy ostatnio wymienił ruch, które klucze są zaangażowane i ile się przesunęło, wystarcza do oceny dostępności. Wszystko ponad to jest zapisem o osobie i powinno być świadomą decyzją, a nie skutkiem ubocznym otwarcia strony statusu. Zacznij od pytania, na które musisz odpowiedzieć, a potem wybierz najmniejszy wynik, który na nie odpowiada.

Rozstrzygnij pytanie przed narzędziem

Najpierw zapisz pytanie operacyjne: czy ten peer jest połączony i czy przenosi ruch? To pytanie wymaga widoku na żywo, a widok na żywo nie ma problemu z retencją. Drugie pytanie, czy peer był połączony w środę o 02:00, wymaga zapisanej serii, a więc decyzji o retencji. Rozdzielenie tych dwóch to cały projekt, ponieważ widok na żywo jest tani, a zapisana seria zamienia się w rozmowę o ochronie danych.

Trzymaj kontrolę stanu również osobno od wyniku statusu. Niedawny handshake dowodzi, że tunel wynegocjował połączenie, a nie że działa prywatna aplikacja za nim, więc testuj aplikację autoryzowaną kontrolą, zamiast wnioskować to z liczników. Gdy kontrola zawodzi, a handshake jest niedawny, problem leży za tunelem.

Czytaj trzy pola, które na nie odpowiadają

Zwykły wynik statusu WireGuard zawiera interfejs, klucz publiczny, punkt końcowy, ostatni handshake i liczniki transferu. Obecność wymaga klucza publicznego i ostatniego handshake; jeśli trzeba, dodaj liczniki bajtów, aby zobaczyć ruch. Punkt końcowy nie jest potrzebny do obecności i jest pierwszym polem do odrzucenia, ponieważ identyfikuje, skąd łączy się urządzenie. Strona podręcznika opisuje każde pole drukowane przez narzędzie i jest wystarczająco krótka, by przeczytać ją raz:

wg show
wg show wg0 latest-handshakes

Czytaj te liczby jako wiek, a nie jako wartości logiczne. Handshake jest aktualny tylko względem własnego interwału odnowienia kluczy protokołu, a licznik, który się nie poruszył, może oznaczać nieaktywnego peera, a nie zepsutego. Trzymaj oba w tym samym widoku, aby wiek i ruch były czytane razem.

Wybierz interwał, którego możesz bronić

Każda próbka statusu jest zapisem, więc interwał jest decyzją o retencji z etykietą monitoringu. Próbka co dziesięć sekund daje drobny szczegół i mnoży zapisane wiersze, a próbka co minutę zwykle wystarcza do dostępności za jedną szóstą kosztu. Wybierz interwał na podstawie obiecanego czasu reakcji, a nie tego, co potrafi narzędzie. Potem zapisz liczbę obok pulpitu.

Dla OpenVPN mechanizm statusu zapisuje plik w skonfigurowanym interwale. W konfiguracji serwera wygląda to tak status /var/log/openvpn-status.log 60, gdzie liczba na końcu to sekundy między przepisaniami, a plik jest zastępowany, a nie dopisywany. Ten szczegół ma znaczenie: zastąpiony plik nie ma historii, a kolektor, który dopisuje, tworzy ją.

Potwierdź, że kolektor również respektuje interwał. Narzędzie, które próbkuje co sekundę i zapisuje jeden wiersz na minutę, wciąż czyta co sekundę.

Utrzymuj etykiety stabilne, a mapowanie ograniczone

Klucz publiczny identyfikuje relację urządzeń nawet bez przypisanej nazwy, więc traktuj klucz jako dane osobowe, a nie jako nieprzejrzysty identyfikator. Oznaczaj peery stabilnymi wewnętrznymi identyfikatorami, które przetrwają ponowne połączenia, i trzymaj mapowanie identyfikatora na osobę w ograniczonym miejscu. Pulpit, który zapisuje szereg czasowy, jest zapisanym rekordem, nawet gdy VPN nie prowadzi własnego pliku. Gdy pulpit jest jedynym magazynem, tam obowiązuje reguła retencji.

Przejrzyj także ścieżkę eksportu, ponieważ skopiowany CSV przeżywa system, który go wytworzył. Zbiorcza dostępność często wystarcza do raportu: odsetek peerów z handshake w oknie odpowiada na pytanie operacyjne bez wyliczania, kto i kiedy był połączony.

Udokumentuj, co zbierasz, a czego nie

Opisz zbieranie prostym językiem: które pola, z jakiego interfejsu, w jakim interwale, gdzie przechowywane, jak długo trzymane i kto może je czytać. Umieść to obok runbooka, a nie w repozytorium polityk, którego nikt nie otwiera podczas incydentu. Opis powinien też mówić, czego monitoring nie widzi, bo to właśnie powstrzymuje kogoś przed założeniem, że brak danych o przeglądaniu oznacza brak zapisów.

Przeglądaj okno retencji za każdym razem, gdy monitoring się zmienia, ponieważ nowe pole po cichu wydłuża to, co jest trzymane. Potem usuń to, co opis mówi, że usuwasz, i sprawdź, czy usunięcie rzeczywiście nastąpiło.

Powiązane artykuły