Ein Firewall-Zähler erhöht sich, wenn ein Paket einer Regel entspricht, und tut das, ohne das Paket zu behalten. Das reicht, um die erste Frage in den meisten Drop-Untersuchungen zu beantworten: Hat der Fluss diese Regel überhaupt erreicht? Eine Nutzlastaufzeichnung beantwortet eine andere Frage und sammelt alles ein, was während ihrer Laufzeit die Schnittstelle sonst noch überquert. Beginne mit dem Zähler und wechsle erst dann zur Metadatenprotokollierung, wenn der Zähler mehrdeutig ist.

Zähler beantworten die erste Frage

Jede Regel, die treffen kann, hat einen Zähler, und ihn vor und nach einem Test zu lesen zeigt, ob Verkehr ankam. Das ist ein Vergleich zweier Zahlen und kein Archiv, und es kostet nichts an Speicher oder Exposition.

Lies die Zähler mit dem Werkzeug, dem die Regeln gehören:

iptables -L FORWARD -v -n --line-numbers
nft list ruleset

Das Delta ist der Beweis. Eine Regel, deren Zähler sich nicht bewegt, hat den Fluss nie gesehen, was auf eine frühere Grenze zeigt: die falsche Schnittstelle, die falsche Tabelle oder eine Route, die das Paket nie dorthin geschickt hat. Eine Regel, deren Zähler sich bewegt und die trotzdem verwirft, sagt dir, dass die Richtlinie tut, wozu sie geschrieben wurde.

Was ein Zähler dir nicht sagen kann

Ein Zähler gibt dir eine Zahl, keinen Grund. Er kann ein Paket, das auf die Adresse passte, nicht von einem unterscheiden, das auf den Port passte, und er kann dir nicht sagen, welche von zwei ähnlichen Regeln den Fluss gefangen hat. Er kann dir auch nicht sagen, ob das Paket verworfen, abgelehnt oder akzeptiert und später verloren ging, außer du liest die Regel, der der Zähler gehört.

Hier kommt die Metadatenprotokollierung ins Spiel, und der Umfang ist der ganze Punkt. Protokolliere Schnittstelle, Richtung, Adressen, Protokoll und Urteil für einen bestimmten Testfluss. Diese Felder lokalisieren eine fehlgeschlagene Grenze, ohne aufzuzeichnen, was der Nutzer tat.

Nutzlastprotokollierung beantwortet eine andere Frage, und sie beantwortet sie über alle an der Schnittstelle.

Metadatenprotokollierung mit engem Umfang

Schreibe eine Regel, die nur auf deinen Testfluss passt, gib ihr ein unverwechselbares Präfix und begrenze ihre Rate unter den eigenen Kontrollen der Plattform, damit ein gewöhnlicher Wiederholungsversuch den Speicher nicht überflutet. Das Präfix ist es, das dich deine Einträge unter allem anderen finden lässt, was das Gerät protokolliert.

Vermeide es, Nutzlast- oder uneingeschränkte Paketprotokollierung zu aktivieren, nur weil es die Funktion gibt. Auch eine abgeschnittene Aufzeichnung ist nicht automatisch nutzlastfrei, da Kopfzeilengrößen und Paketlayouts variieren, sodass eine kurz wirkende Snap-Länge noch Anwendungsbytes tragen kann.

Wenn du aufzeichnen musst, zeichne einen Fluss auf, für eine begrenzte Zeit, mit der kleinsten Snap-Länge, die deine Frage beantwortet.

Triff eine frische Anfrage

Erzeuge harmlosen Verkehr, der der tatsächlichen Client-Route folgt, und vergleiche dann die relevanten Zähler vorher und nachher. Ein gateway-lokaler Test kann eine Weiterleitungsregel völlig verfehlen, weil das Paket nie den Weiterleitungspfad nimmt. Eine bestehende Sitzung kann auch anders mit Zustand umgehen als eine neue Verbindung, sodass ein langlebiger Fluss keinen frischen ersetzt.

Begrenze das Fenster zeitlich und schreibe es auf. Zwischen zwei bestimmten Minuten, von dieser Client-Adresse, zu diesem Ziel auf diesem Protokoll ist eine Diagnose. Irgendwann heute Morgen ist eine Suche.

Ein Fluss, ein Fenster, eine Grenze ist hier die Einheit des Fortschritts.

Räume auf und behalte nur den Auszug

Entferne die temporäre Diagnoseregel über die zuständige Konfiguration, sobald die Untersuchung endet. Eine eng gefasste Protokollregel, die stehen bleibt, wird zu einem unbeabsichtigten Aufzeichnungssystem, und niemand erinnert sich sechs Monate später, warum es sie gibt.

Halte Originalaufzeichnungen privat, wenn die Richtlinie es verlangt, und teile einen geprüften minimalen Auszug statt der ganzen Aufzeichnung. Adressen, Konto-IDs und interne Topologie sind sensibel, auch wenn keine Nutzlast vorhanden ist. Behandle den Auszug als Dokument mit Eigentümer. Schwärze alles, was die Diagnose nicht braucht.

Das Ziel ist eine bestimmte fehlgeschlagene Grenze für eine bestimmte Anfrage. Alles, was ein vollständiges Archiv aller VPN-Nutzer erzeugt, hat die Diagnose überschritten und ein anderes Projekt begonnen. Prüfe die Protokollierungsdokumentation der Plattform darauf, was sie standardmäßig aufzeichnet, bevor du etwas hinzufügst.

Ähnliche Artikel