VPN-Peers überwachen, ohne zu protokollieren, wo sie surfen
Verfügbarkeit braucht vier Felder, keine Aufzeichnung. Lesen Sie Handshakes und Zähler in einem dokumentierten Intervall, halten Sie Labels stabil und legen Sie eine Aufbewahrungsregel fest.
Die Überwachung eines VPN-Peers braucht vier Fakten, und keiner davon ist ein Ziel. Ob der Tunnel steht, wann er zuletzt Verkehr ausgetauscht hat, welche Schlüssel beteiligt sind und wie viel übertragen wurde, reicht für Verfügbarkeit. Alles darüber hinaus ist ein Datensatz über eine Person und sollte eine bewusste Entscheidung sein statt eines Nebeneffekts beim Öffnen einer Statusseite. Beginnen Sie mit der Frage, die Sie beantworten müssen, und wählen Sie dann die kleinste Ausgabe, die sie beantwortet.
Klären Sie die Frage vor dem Werkzeug
Notieren Sie zuerst die betriebliche Frage: Ist dieser Peer verbunden, und bewegt er Verkehr? Diese Frage braucht eine Live-Ansicht, und eine Live-Ansicht hat kein Aufbewahrungsproblem. Eine zweite Frage, ob der Peer am Dienstag um 02:00 verbunden war, braucht eine gespeicherte Reihe und damit eine Aufbewahrungsentscheidung. Die Trennung dieser beiden ist das ganze Design, denn die Live-Ansicht ist billig, während die gespeicherte Reihe zu einem Datenschutzgespräch wird.
Halten Sie die Zustandsprüfung auch getrennt von der Statusausgabe. Ein frischer Handshake beweist, dass der Tunnel ausgehandelt hat, nicht dass die private Anwendung dahinter funktioniert, testen Sie die Anwendung daher über eine autorisierte Prüfung, statt sie aus Zählern abzuleiten. Wenn die Prüfung fehlschlägt und der Handshake frisch ist, liegt das Problem hinter dem Tunnel.
Lesen Sie die drei Felder, die sie beantworten
Die einfache Statusausgabe von WireGuard enthält die Schnittstelle, den öffentlichen Schlüssel, den Endpunkt, den letzten Handshake und die Übertragungszähler. Für die Anwesenheit braucht man den öffentlichen Schlüssel und den letzten Handshake; fügen Sie bei Bedarf die Byte-Zähler hinzu, um Bewegung zu sehen. Der Endpunkt ist für die Anwesenheit nicht nötig und das erste Feld, das entfällt, weil er identifiziert, von wo ein Gerät sich verbindet. Die Handbuchseite beschreibt jedes Feld, das das Werkzeug ausgibt, und ist kurz genug, um sie einmal zu lesen:
wg show
wg show wg0 latest-handshakes
Lesen Sie diese Zahlen als Alter statt als Booleans. Ein Handshake ist nur relativ zum eigenen Rekey-Intervall des Protokolls aktuell, und ein Zähler, der sich nicht bewegt hat, kann einen untätigen Peer bedeuten statt einen defekten. Halten Sie beides in derselben Ansicht, damit Alter und Bewegung zusammen gelesen werden.
Wählen Sie ein Intervall, das Sie verteidigen können
Jede Statusprobe ist ein Datensatz, also ist das Intervall eine Aufbewahrungsentscheidung mit Überwachungsetikett. Eine Probe alle zehn Sekunden liefert feines Detail und vervielfacht die gespeicherten Zeilen, während eine Probe pro Minute für Verfügbarkeit meist zu einem Sechstel der Kosten reicht. Wählen Sie das Intervall nach der zugesagten Antwortzeit und nicht danach, was das Werkzeug kann. Schreiben Sie die Zahl dann neben das Dashboard.
Für OpenVPN schreibt die Statusfunktion eine Datei in einem konfigurierten Intervall. In der Serverkonfiguration sieht das so aus status /var/log/openvpn-status.log 60, wobei die Zahl am Ende die Sekunden zwischen den Neuschreibungen angibt und die Datei ersetzt statt ergänzt wird. Dieses Detail zählt: Eine ersetzte Datei hat keine Historie, während ein Sammler, der anhängt, eine erzeugt.
Bestätigen Sie, dass auch der Sammler das Intervall einhält. Ein Werkzeug, das jede Sekunde abtastet und eine Zeile pro Minute speichert, liest trotzdem jede Sekunde.
Halten Sie die Labels stabil und die Zuordnung begrenzt
Ein öffentlicher Schlüssel identifiziert eine Gerätebeziehung, auch wenn kein Name daran hängt, behandeln Sie den Schlüssel daher als personenbezogenes Datum und nicht als undurchsichtige Kennung. Kennzeichnen Sie Peers mit stabilen internen Kennungen, die Wiederverbindungen überstehen, und halten Sie die Zuordnung von Kennung zu Person an einem begrenzten Ort. Ein Dashboard, das eine Zeitreihe schreibt, ist ein gespeicherter Datensatz, auch wenn das VPN keine eigene Datei führt. Wenn das Dashboard der einzige Speicher ist, gilt die Aufbewahrungsregel dort.
Prüfen Sie auch den Exportweg, denn eine kopierte CSV überlebt das System, das sie erzeugt hat. Aggregierte Verfügbarkeit reicht für einen Bericht oft aus: Der Anteil der Peers mit einem Handshake innerhalb des Fensters beantwortet die betriebliche Frage, ohne aufzulisten, wer wann verbunden war.
Dokumentieren Sie, was Sie erheben und was nicht
Schreiben Sie die Erhebungsbeschreibung in klarer Sprache: welche Felder, von welcher Schnittstelle, in welchem Intervall, wo gespeichert, wie lange aufbewahrt und wer sie lesen darf. Legen Sie sie neben das Runbook statt in ein Richtlinienarchiv, das während eines Vorfalls niemand öffnet. Die Beschreibung sollte auch sagen, was die Überwachung nicht sehen kann, denn genau das hindert jemanden an der Annahme, die Abwesenheit von Surf-Daten bedeute die Abwesenheit von Aufzeichnungen.
Prüfen Sie das Aufbewahrungsfenster, wann immer sich die Überwachung ändert, denn ein neues Feld verlängert stillschweigend das Aufbewahrte. Löschen Sie dann, was die Beschreibung als gelöscht angibt, und verifizieren Sie, dass die Löschung tatsächlich erfolgt ist.