Firewalls und Virtualisierung
Zur Navigation springen
Zur Suche springen
Firewalls und Virtualisierung
Firewalls laufen heute oft nicht mehr als eigene Hardware, sondern als virtuelle Maschine. Gleichzeitig bringen die Hypervisoren selbst eine Firewall mit. Beides ändert, wo die Grenze verläuft und wer sie umgehen kann.
- Zwei Fragen ziehen sich durch die Seite
- Wo läuft die Firewall: als VM auf dem Hypervisor oder auf dem Hypervisor selbst?
- Welcher Verkehr kommt überhaupt an ihr vorbei?
Die Firewall als VM
Eine OPNsense (oder pfSense) läuft als VM in Proxmox. Ihre Netzwerkkarten sind virtuelle Karten, die an Bridges des Hypervisors hängen.
Internet
│
┌────────┴────────┐ physische NIC 1
│ vmbr0 │ Bridge WAN, OHNE IP auf dem Host
└────────┬────────┘
│ net0
┌────────┴────────┐
│ OPNsense (VM) │
└────────┬────────┘
│ net1
┌────────┴────────┐ physische NIC 2
│ vmbr1 │ Bridge LAN
└──┬───────────┬──┘
VM a VM b
- Vorteile
- Keine eigene Hardware, schnell aufgesetzt.
- Snapshot vor jedem Update, bei Problemen in Sekunden zurück.
- Hochverfügbarkeit mit zwei Firewall-VMs auf zwei Hosts und CARP (siehe OPNsense HA KIT).
- Nachteile und Risiken
- Fällt der Host aus, fällt die Firewall mit aus.
- Das WAN-Kabel endet auf dem Hypervisor. Die WAN-Bridge darf deshalb keine IP-Adresse des Hosts haben, sonst steht der Hypervisor selbst ungeschützt im Internet.
- Die Verwaltungsoberfläche des Hypervisors (Proxmox: Port 8006) gehört in ein eigenes Management-Netz, nie ins WAN.
- Wer den Hypervisor verwaltet, kann die Firewall umgehen: Bridge umhängen, Konsole öffnen, VM stoppen. Die Firewall ist nur so sicher wie der Hypervisor.
- Leistung
- Netzwerkkarten als VirtIO anlegen.
- In der OPNsense prüfen, dass unter Interfaces → Einstellungen Hardware-Prüfsummen, TSO und LRO deaktiviert sind. Mit VirtIO-Karten führen diese Offloads sonst zu verworfenen Paketen.
- Für hohe Bandbreiten lässt sich eine physische Karte direkt an die VM durchreichen (PCI-Passthrough). Die Karte gehört dann nur noch der Firewall.
Bridges und VLANs
- Statt einer Bridge pro Netz reicht oft eine VLAN-aware Bridge. Die Firewall-VM bekommt die Karte ohne Tag, also als Trunk, und legt die VLAN-Schnittstellen selbst an.
- Alternativ bekommt die Firewall-VM pro VLAN eine eigene Karte mit gesetztem Tag. Das ist übersichtlicher, braucht aber mehr Karten.
- Normale VMs bekommen ihre Karte mit Tag und merken vom VLAN nichts (Access-Port).
- Animation
Ost-West-Verkehr: was die Firewall nicht sieht
- Verkehr zwischen zwei VMs in derselben Bridge und im selben Netz läuft direkt über die Bridge. Die Firewall-VM sieht ihn nie.
- Das nennt man Ost-West-Verkehr, im Gegensatz zum Nord-Süd-Verkehr ins Internet.
- Wird eine VM übernommen, kann der Angreifer von dort ungehindert die Nachbarn angreifen.
- Zwei Gegenmittel
- Netze trennen: VMs in verschiedene VLANs, die Firewall routet dazwischen und filtert.
- Firewall auf dem Hypervisor: Regeln direkt an jeder VM-Karte (Mikrosegmentierung).
Die Firewall des Hypervisors: Proxmox-Firewall
- Proxmox bringt eine eigene Firewall mit, die auf dem Host filtert, und zwar zwischen Bridge und VM-Karte.
- Sie wirkt damit auch auf den Verkehr zwischen zwei VMs in derselben Bridge.
- Drei Ebenen
- Rechenzentrum: Regeln und Vorgaben für alle Knoten, Sicherheitsgruppen, IP-Sets und Aliase.
- Knoten: Regeln für den Host selbst, z. B. wer an Port 8006 und 22 darf.
- VM bzw. Container: Regeln pro Gast. Wirkt nur auf Karten mit gesetztem Haken Firewall.
- Einschalten
- Rechenzentrum → Firewall → Optionen → Firewall: Ja
- VM → Firewall → Optionen → Firewall: Ja
- In der Hardware der VM an der Netzwerkkarte den Haken Firewall setzen.
- Achtung
- Vor dem Einschalten auf Rechenzentrumsebene sicherstellen, dass der eigene Zugang zu Port 8006 und 22 erlaubt ist. Sonst sperrt man sich aus.
- Nützlich gegen Spoofing
- IP-Filter und MAC-Filter in den Optionen der VM: Die VM darf nur mit ihrer eigenen Adresse senden.
Container
- Container teilen sich den Kernel des Hosts. Ein Ausbruch landet direkt auf dem Host, nicht in einer weiteren VM.
- Docker trägt veröffentlichte Ports selbst in die Paketfilter-Regeln ein und umgeht damit eine Host-Firewall (siehe Docker Caddy).
- Animation
Risiken bei geteiltem Host
| Risiko | Was passiert | Gegenmittel |
|---|---|---|
| Ausbruch aus der VM | Angreifer landet auf dem Hypervisor und damit bei allen VMs | Hypervisor aktuell halten, keine unnötigen Geräte an VMs durchreichen |
| Verwaltung offen | Web-Oberfläche des Hypervisors aus dem Benutzernetz erreichbar | eigenes Management-Netz, Proxmox-Firewall auf Knotenebene, 2FA für Admins |
| Admin umgeht die Firewall | Bridge umhängen, Regel deaktivieren, Konsole öffnen | Rollen trennen, Änderungen protokollieren und an das SIEM melden |
| Snapshots und Backups | enthalten Schlüssel, Zertifikate und Konfiguration der Firewall | Backups verschlüsseln, Zugriff beschränken |
| Ost-West-Verkehr | übernommene VM greift Nachbarn an | VLANs plus Routing über die Firewall oder Proxmox-Firewall pro VM |
Übung
- Zwei VMs in dieselbe Bridge und dasselbe Netz hängen und sich gegenseitig anpingen. Die Firewall-VM sieht davon nichts (Live-Log der OPNsense prüfen).
- Proxmox-Firewall auf Rechenzentrumsebene und bei einer der beiden VMs einschalten, an deren Karte den Haken Firewall setzen.
- Eingehendes ICMP für diese VM verbieten und den Ping erneut testen.
- Gegenprobe: Die Firewall-VM hat sich nicht verändert, gefiltert hat der Hypervisor.
Merksatz
Eine virtuelle Firewall ist nur so sicher wie ihr Hypervisor | Verkehr in derselben Bridge sieht sie nicht | dafür gibt es VLANs oder die Firewall des Hypervisors