Best Practices

Firewall-Regel-Auswirkungsanalyse: Änderungen prüfen, bevor sie live gehen

Firewall-Regel-AuswirkungsanalyseRegelwerk-AnalyseShadowingChange-Review
Firewall-Regel-Auswirkungsanalyse: eine geplante Regel wird vor dem Change-Fenster gegen die laufende Policy geprüft

Eine Firewall-Regel-Auswirkungsanalyse beantwortet drei Fragen, bevor das Change-Fenster öffnet: Welcher Traffic wird durch die neue oder geänderte Regel erfasst, welcher Traffic passt nicht mehr zu einer anderen Regel und welche weiteren Abhängigkeiten bestehen bei den betroffenen Objekten. Die Analyse erfolgt gegen das laufende Policy-Set unter Verwendung der Match-Tools und Hit Counts des Herstellers. Die Ergebnisse gehören in den Change-Record. Können diese drei Fragen nicht beantwortet werden, ist der Change nicht bereit.

Das klingt offensichtlich. In der Praxis wird dieser Schritt oft übersprungen, weil der Request klein wirkt: eine Quelle, ein Ziel, ein Port. Der Ausfall resultiert jedoch selten aus dieser einen Regel.

Woher Change-bedingte Ausfälle tatsächlich kommen

Nach hunderten Migrationen und Regelwerk-Audits zeigt sich ein konsistentes Muster. Die angeforderte Regel funktioniert. Kaputt geht, was um sie herum liegt.

  • Shadowing. Die neue Regel steht über einer spezifischeren Regel, die echten Traffic geleitet hat. Dieser Traffic wird nun durch eine andere Aktion, ein anderes Logging-Profil oder NAT verarbeitet.
  • Objekt-Edits. Es wird eine Adresse zu einer Gruppe hinzugefügt. Diese Gruppe wird in 40 Regeln verwendet. Damit haben sich 39 weitere Regeln geändert, ohne dass diese geprüft wurden.
  • Falsche Annahmen zur Reihenfolge. Der Reviewer liest das Regelwerk im Kopf von oben nach unten und übersieht den NAT-Schritt, die Zone, die die Firewall tatsächlich sieht, oder das zweite Gateway im Cluster.

Tools helfen. Tufin, AlgoSec und die KI-Assistenten der Hersteller können diese Prüfungen skalieren. Aber ein Reviewer, der die Analyse nicht manuell durchführen kann, erkennt nicht, wenn das Tool ein falsches Ergebnis liefert. Der Approver unterschreibt dann blind. Lernen Sie zuerst die manuelle Methode. Danach darf das Tool sie schneller machen.

Die Methode in sechs Schritten

1. Den Request als Flows schreiben

Wandeln Sie den Request in Flows um: Quelle, Ziel, Service oder Applikation, Richtung und das zutreffende NAT. Ein Flow pro Zeile.

10.20.4.0/24 -> 172.16.30.12  tcp/443  outbound  (no NAT)

Kann der Anforderer eine Zeile nicht ausfüllen, geht der Request zurück. „Zugriff auf die neue API“ ist kein Flow. Viele fehlerhafte Changes entstehen hier, weil die Regel basierend auf Vermutungen über die Applikationsfunktion geschrieben wird.

2. Den Flow gegen die laufende Policy testen

Verlassen Sie sich nicht auf die theoretische Analyse des Regelwerks. Fragen Sie die Firewall, welche Regel heute matcht.

  • Palo Alto Networks: test security-policy-match via CLI oder Test Policy Match im Web-Interface. Die PAN-OS-Dokumentation beschreibt dies als Weg „to determine whether a security policy rule is configured correctly“ (um festzustellen, ob eine Security-Policy-Regel korrekt konfiguriert ist). Geben Sie Quelle, Ziel, Port, Protokoll und gegebenenfalls Applikation und Benutzer an.
  • FortiGate: diagnose firewall iprope lookup <src_ip> <src_port> <dst_ip> <dst_port> <protocol> <interface> oder Policy Lookup im GUI (ab FortiOS 7.4 „policy match“ genannt). Ein Ergebnis von Policy ID 0 bedeutet, dass keine Regel matcht und der Implicit Deny greift.
  • Check Point: Suche im Regelwerk der SmartConsole im Packet Mode mit derselben Quelle, demselben Ziel und demselben Service. So werden die Regeln angezeigt, die die Verbindung tatsächlich matchen würden, statt nur Regeln, die den Text enthalten.

Notieren Sie die treffende Regel. Dies ist Ihr „Vorher“-Bild. Oft beendet dies den Change sofort, da der Flow bereits durch eine breitere Regel abgedeckt ist und das Problem tatsächlich an einer anderen Stelle der Konnektivität liegt.

3. Platzierung der Regel sowie Prüfung von Reihenfolge und Shadowing

Legen Sie fest, wo die neue Regel platziert wird, und wiederholen Sie den Test. Prüfen Sie zwei Dinge:

  • Erfasst die neue Regel Traffic, den eine darunterliegende Regel bisher verarbeitet hat? Listen Sie diese Regeln auf.
  • Wird die neue Regel selbst durch eine breitere Regel oberhalb überlagert (Shadowing)? Dann wird sie nie getroffen und der Change erzeugt nur unnötigen Ballast.

Testen Sie mit den Adressen, die die Firewall tatsächlich sieht. Bei Palo Alto Networks wertet die Security Policy die Post-NAT-Zone aus; die Faustregel aus der Praxis lautet „Pre-NAT-IP, Post-NAT-Zone“. Ein Reviewer, der mit der öffentlichen Adresse testet, während die Regel für die private Adresse geschrieben ist, erhält ein positives Ergebnis, baut aber einen fehlerhaften Change.

4. Den Blast Radius der Objekte messen

Wenn der Change ein Objekt oder eine Gruppe bearbeitet statt eine Regel hinzuzufügen, führen Sie ein „Where Used“ aus und zählen Sie die betroffenen Regeln. Eine Objektänderung ist eine Änderung an jeder dieser Regeln. Jede einzelne benötigt den Vorher-Nachher-Check. In diesem Schritt wird ein „kleiner“ Change oft zu einem komplexen Review.

5. Nutzungsnachweise prüfen

Prüfen Sie die Hit Counts und Last-Hit-Zeiten der Regeln im Umfeld des Changes. Betrachten Sie diese als Indizien, nicht als Beweise.

Im R81.20 Administration Guide von Check Point heißt es, dass Hit Count „globally enabled for all supported Security Gateways“ (standardmäßig für alle unterstützten Security Gateways aktiviert) ist, Daten standardmäßig drei Monate speichert und „tracks the hits even if the Track option is None“ (Treffer auch dann aufzeichnet, wenn die Track-Option auf None steht). Es wird zudem deutlich gesagt: ein Hit Count von Null „only means that in the Security Gateways enabled with Hit Count there were no matching connections. There can be matching connections on other Security Gateways“ (bedeutet nur, dass an den Gateways, an denen Hit Count aktiviert ist, es keine passenden Verbindungen gab. An anderen Gateways kann es jedoch Treffer geben).

Palo Alto Networks speichert Hit Count und Last Hit pro Regel, und FortiGate führt Hit-Zähler pro Policy. Die gleiche Vorsicht gilt überall: Ein Zeitfenster von drei Monaten erfasst keine jährlichen Disaster-Recovery-Tests, quartalsweisen Batch-Jobs oder Partner, die sich zweimal im Jahr verbinden.

Bedenken Sie, was Lookup-Tools leisten. Ein Hinweis von Fortinet besagt, dass Policy Matching „does not generate traffic or verify whether the destination server is reachable“ (keinen Traffic generiert oder prüft, ob der Zielserver erreichbar ist). Ein sauberer Lookup beweist die Policy-Entscheidung, nicht das Routing, den Server oder den Rückweg.

6. Das Impact-Statement schreiben

Tragen Sie das Ergebnis in den Change-Record ein, sodass ein Approver es prüfen kann:

Flow(s):            10.20.4.0/24 -> 172.16.30.12 tcp/443
Matches today:      rule 118 "deny-dev-to-prod"
Matches after:      new rule 117 "app-api-https"
Rules now shadowed: none (rule 119 checked, no overlap)
Objects edited:     none
Hits on neighbours: rule 118: 1,204 in 3 months (all from 10.20.9.0/24)
Rollback:           disable rule 117, no object changes to undo

Damit unterschreibt der Approver prüfbare Fakten statt eines Ticket-Titels.

Was Tools und Reviewer übersehen

Diese Punkte tauchen immer wieder in Post-Incident-Reviews auf:

  • Return Traffic und asymmetrisches Routing. Die Policy erlaubt den Flow, aber die Antwort verlässt das Netzwerk über eine andere Firewall oder ein anderes Cluster-Mitglied, das die Session nie gesehen hat.
  • NAT. Tests mit der öffentlichen Adresse, wenn die Regel auf der privaten matcht, oder das Übersehen, dass Destination NAT die Auswertung der Firewall verändert. Fortinet merkt an, dass bei VIP/DNAT das Match-Ergebnis „may differ from the original destination IP entered by the client“ (von der ursprünglichen Ziel-IP des Clients abweichen kann).
  • Benutzerbasierte Regeln. In FortiOS-Versionen ohne erweiterte Lookup-Syntax kann der Lookup keinen Benutzer oder keine Gruppe berücksichtigen und übersieht so Policies, die eine Authentifizierung erfordern.
  • Falsches Gateway oder VRF. Ein Lookup auf dem falschen Cluster-Mitglied, dem falschen Virtual System oder der falschen Routing-Tabelle liefert ein sicheres, aber falsches Ergebnis.
  • Die vermeintlich ungenutzte Regel. Null Hits in drei Monaten, aber die Regel ist für den jährlichen Disaster-Recovery-Test nötig. Fragen Sie den Owner und prüfen Sie die letzten Testprotokolle, bevor Sie eine Regel entfernen oder einschränken, wie bei jeder Außerbetriebnahme von Regeln.

Integration in den Change-Prozess

Die Auswirkungsanalyse funktioniert, wenn sie ein Pflichtfeld im Change-Record ist und nicht nur die Gewohnheit eines einzelnen Senior Engineers. Machen Sie die sechs Antworten für jeden Change obligatorisch, der eine Regel oder ein Objekt hinzufügt, verschiebt oder bearbeitet. Lehnen Sie Requests ab, die ohne Flows eingehen. Notfall-Changes erhalten dieselbe Analyse nachträglich im Notfall-Workflow, und was außerhalb des Prozesses geändert wird, zeigt die Änderungsüberwachung mit Drift-Erkennung. Der Zeitaufwand beträgt wenige Minuten pro Change. Die Zeitersparnis ist die Nacht, die Sie sonst damit verbringen würden, herauszufinden, welche der 40 Regeln hinter einer Objektgruppe gerade die Verbindung unterbrochen hat.

Wenden Sie die sechs Schritte bei Ihrem nächsten Change-Request an. Informationen dazu, wie die Auswirkungsanalyse in den gesamten Prozess vom Request bis zum Audit-Nachweis passt, finden Sie im Leitfaden zum Firewall-Change-Management-Prozess.

FW

FwChange

Firewall-Change-Management

Methodik und Software fuer Firewall-Change-Management, aus einem Datensatz von Hunderten Enterprise-Firewall-Migrationen.