Stateful Inspection Firewall

Firewall Generation 2 (Ende 1990er / Anfang 2000er)

Stateful Inspection Firewall erkennt den Zustand von Verbindungen. Sie merkt sich, welche Verbindungen aktiv sind und ob sie erlaubt sind.


Funktionsweise

Connection State Table:

┌────────────────┬──────────┬─────────┬─────────┐
│ Source IP      │ Dest IP  │ Port    │ Status  │
├────────────────┼──────────┼─────────┼─────────┤
│ 192.168.1.100  │ 8.8.8.8  │ 443     │ ACTIVE  │
│ 192.168.1.101  │ 1.1.1.1  │ 80      │ CLOSING │
└────────────────┴──────────┴─────────┴─────────┘

Firewall merkt sich:
  - Welche Verbindungen offen sind
  - Wer die Verbindung gestartet hat
  - In welchem Zustand die Verbindung ist

Verbindungs-Zustände (TCP)

Vergleich zu Packet Filter Firewall

Packet Filter (Generation 1):
  - Prüft jedes Paket einzeln
  - Kein Kontext
  - Stateless

Stateful Inspection (Generation 2):
  - Versteht Verbindungen
  - Kennt Kontext
  - Stateful

Beispiel

Client sendet SYN → Server
  → Firewall merkt sich: Connection ID 1234, Status: NEW

Server antwortet SYN-ACK
  → Firewall prüft: Gehört zu Connection 1234? JA
  → Status: ESTABLISHED
  → Durchlassen ✓

Angreifer sendet Random-ACK
  → Firewall prüft: Gehört zu bekannter Connection? NEIN
  → Status: INVALID
  → Blockieren ✗

Vorteile

Nachteile

Beispiele

Regel-Beispiel

# Erlaube ausgehende HTTP-Verbindungen
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

# Erlaube automatisch Antworten
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Blockiere alles andere
iptables -A INPUT -j DROP

Wann einsetzen?

Heute Standard

Stateful Inspection ist heute Mindestanforderung für Firewalls. Next Generation Firewall geht noch weiter.