- 1 Section
- 10 Lessons
- unbegrenzt
- Firewalls, IDS/IPS & Netzwerksicherheit10
Stateful Inspection
Der Paketfilter hat eine grundlegende Schwäche: Er sieht jedes Paket isoliert. Wenn ein interner Rechner eine HTTPS-Verbindung aufbaut, muss der Paketfilter explizit Regeln für die Rückantworten aus dem Internet haben – sonst blockiert er sie. Gleichzeitig kann ein Angreifer eingehende Pakete so gestalten, als wären sie Antworten auf legitime Verbindungen. Die Stateful Inspection löst dieses Problem, indem sie sich den Verbindungszustand merkt.
Die Stateful Inspection (auch: Zustandsbasierte Paketfilterung) führt eine State Table – eine Verbindungstabelle, in der alle aktiven Verbindungen mit ihrem aktuellen Zustand (NEW, ESTABLISHED, CLOSING) gespeichert sind. Ein eingehendes Paket wird nicht mehr nur anhand von Regeln geprüft, sondern zuerst gegen die State Table: Ist dieses Paket Teil einer bekannten, legitimen Verbindung? Wenn ja, wird es automatisch durchgelassen, ohne dass eine eigene Rückregel nötig ist.
1) Die State Table: das Gedächtnis der Firewall
Jeder Verbindungsaufbau hinterlässt einen Eintrag in der State Table. Die Firewall verfolgt Quell-IP, Ziel-IP, Protokoll, Ports und den aktuellen TCP-Status. Beim Verbindungsabbau wird der Eintrag gelöscht. Die Animation unten zeigt, wie die State Table beim Aufbau und Abbau einer HTTPS-Verbindung wächst und schrumpft.
| Quelle | Ziel | Proto | Sport | Dport | Status |
|---|---|---|---|---|---|
| Noch keine Verbindungen | |||||
2) Stateless vs. Stateful im Vergleich
Beide Ansätze sind kein Entweder-oder: In der Praxis basiert die Stateful Inspection auf einem Paketfilter-Regelwerk, ergänzt dieses aber um die Zustandsverfolgung. Moderne Firewalls sind immer stateful – pure Paketfilter finden sich noch in einfachen Routern oder als zusätzliche ACLs in Netzwerk-Switches.
3) TCP-Verbindungsstatus und die Firewall
| State | Bedeutung | Firewall-Verhalten |
|---|---|---|
| NEW | Erstes Paket einer neuen Verbindung (TCP SYN) | Gegen Regelwerk prüfen; bei ALLOW → Eintrag anlegen |
| ESTABLISHED | Verbindung aktiv nach 3-Way-Handshake | Automatisch durchlassen (beide Richtungen) |
| RELATED | Nebenverbindung zu einer bestehenden (z.B. FTP-Datenkanal) | Automatisch erlauben, wenn Hauptverbindung ESTABLISHED |
| CLOSING / TIME_WAIT | Verbindungsabbau (FIN/RST) | Noch kurzzeitig im State halten, dann Eintrag löschen |
| INVALID | Paket passt zu keinem bekannten State | Verwerfen (potenzielle Manipulation) |
Zusammenfassung
Stateful Inspection ergänzt den Paketfilter um eine Verbindungstabelle (State Table). Eingehende Pakete werden automatisch erlaubt, wenn sie zu einer bekannten ausgehenden Verbindung gehören – ohne explizite Rückregeln. Unbekannte eingehende Pakete ohne State-Eintrag werden geblockt. Zustände: NEW, ESTABLISHED, RELATED, CLOSING, INVALID. Grenzen: State-Flooding als DoS möglich; kein Einblick in Anwendungsschicht. Den nächsten Evolutionsschritt bildet die Next Generation Firewall.
