Proxmoxguide

Proxmox Firewall konfigurieren – Sicherheitsregeln für VMs und Hosts

Integrierte Proxmox-Firewall für Netzwerksicherheit nutzen

S
SeeColors IT
11. Juni 20264 Min. Lesezeit113 Aufrufe

Proxmox Firewall Architektur

Die integrierte Proxmox-Firewall basiert auf iptables/nftables und bietet drei Konfigurationsebenen:

  1. Datacenter-Firewall: Globale Regeln, die für alle Nodes und VMs gelten
  2. Node-Firewall: Regeln für den Proxmox-Host selbst (schützt die Verwaltungsschnittstelle)
  3. VM/CT-Firewall: Regeln für einzelne virtuelle Maschinen und Container

Die Regeln werden von oben nach unten abgearbeitet: Datacenter → Node → VM.

Wichtig: Firewall ist standardmäßig DEAKTIVIERT

Die Proxmox-Firewall muss explizit auf allen Ebenen aktiviert werden. Bis zur Aktivierung hat sie keinen Einfluss auf den Netzwerkverkehr.

Datacenter-Firewall einrichten

Firewall aktivieren

  1. Datacenter → Firewall → Options
  2. Firewall: ON

Hier konfigurieren Sie auch:

  • Input Policy: ACCEPT (Standard) oder DROP
  • Output Policy: ACCEPT (empfohlen lassen)
  • Log Level: Für Debug-Zwecke

IPSet erstellen (IP-Gruppen)

IPSets ermöglichen es, mehrere IPs in einer Gruppe zu verwalten:

  1. Datacenter → Firewall → IPSet → Add
  2. Name: z. B. admin-ips
  3. IPs hinzufügen: z. B. 192.168.1.0/24 (lokales Netz), 10.0.0.5 (Admin-PC)

IPSets können in Firewall-Regeln als Quelle oder Ziel verwendet werden.

Sicherheitsgruppen erstellen

Sicherheitsgruppen sind wiederverwendbare Regelsets:

  1. Datacenter → Firewall → Security Groups → Create
  2. Name: z. B. webserver-rules
  3. Regeln hinzufügen:
    • IN: ACCEPT – Port 80 (HTTP)
    • IN: ACCEPT – Port 443 (HTTPS)
    • IN: DROP – alle anderen Ports

Eine Sicherheitsgruppe kann dann mehreren VMs zugewiesen werden.

Node-Firewall (Proxmox-Host absichern)

Der Proxmox-Host selbst muss besonders gut geschützt werden:

  1. Node auswählen → Firewall → Options
  2. Firewall: ON
  3. Input Policy: DROP (alle eingehenden Verbindungen blockieren außer erlaubten)

Grundregeln für den Node

  1. SSH erlauben (von Admin-Netz):

    • Direction: IN
    • Action: ACCEPT
    • Source: +admin-ips (IPSet)
    • Dest. Port: 22
  2. Proxmox-Weboberfläche erlauben (Port 8006):

    • Direction: IN
    • Action: ACCEPT
    • Source: +admin-ips
    • Dest. Port: 8006
  3. ICMP (Ping) erlauben:

    • Direction: IN
    • Action: ACCEPT
    • Protocol: ICMP
  4. Cluster-Kommunikation (falls Cluster vorhanden):

    • Direction: IN
    • Action: ACCEPT
    • Source: +cluster-nodes
    • Dest. Port: 8007,111,2049,60000:60050

Wichtig: Eigene IP NICHT blockieren!

Bevor Sie "Input Policy: DROP" setzen, stellen Sie sicher, dass Ihre Management-IP in den Erlaubt-Regeln steht. Sonst sperren Sie sich selbst aus!

VM-Firewall konfigurieren

VM-Firewall aktivieren

  1. VM auswählen → Firewall → Options
  2. Firewall: ON

Typische Regelsets

Für einen Webserver:

IN: ACCEPT – src: any – port: 80 (HTTP) IN: ACCEPT – src: any – port: 443 (HTTPS) IN: ACCEPT – src: +admin-ips – port: 22 (SSH) IN: DROP – src: any – port: any

Für einen Datenbankserver:

IN: ACCEPT – src: +webserver-ips – port: 3306 (MySQL) IN: ACCEPT – src: +admin-ips – port: 22 IN: DROP – src: any

Für einen Domain Controller:

IN: ACCEPT – src: +internal-net – port: 53 (DNS) IN: ACCEPT – src: +internal-net – port: 389 (LDAP) IN: ACCEPT – src: +internal-net – port: 636 (LDAPS) IN: ACCEPT – src: +internal-net – port: 88 (Kerberos) IN: ACCEPT – src: +admin-ips – port: 3389 (RDP) IN: DROP – src: any

Makros verwenden

Proxmox bietet vordefinierte Makros für gängige Dienste:

  • DNS – Port 53 TCP+UDP
  • HTTP – Port 80 TCP
  • HTTPS – Port 443 TCP
  • SSH – Port 22 TCP
  • SMB – Samba/Windows-Dateifreigabe
  • RDP – Remote Desktop

Statt einzelne Ports einzugeben, wählen Sie das Makro aus.

Firewall-Logs analysieren

Firewall-Regeln mit LOG-Aktion erzeugen Syslog-Einträge:

journalctl -u pve-firewall --since "1 hour ago"
tail -f /var/log/pvefw-logger.log

Für Debug: Regel anlegen mit Action "ACCEPT + LOG" oder "DROP + LOG" um Verbindungsversuche zu sehen.

Fail2Ban für zusätzlichen Schutz

Fail2Ban blockiert IPs die zu viele Fehlversuche haben:

apt install -y fail2ban

Proxmox-spezifische Jail-Konfiguration:

nano /etc/fail2ban/jail.d/proxmox.conf

[proxmox] enabled = true port = https,http,8006 filter = proxmox logpath = /var/log/daemon.log maxretry = 3 bantime = 3600

Filter erstellen:

nano /etc/fail2ban/filter.d/proxmox.conf

[Definition] failregex = pvedaemon[.*authentication failure; rhost=<HOST> user=.* msg=.* ignoreregex =

systemctl restart fail2ban

SSL-Zertifikat für sicheres HTTPS

Ersetzen Sie das selbstsignierte Zertifikat durch ein Let's-Encrypt-Zertifikat:

Voraussetzung: Domain die auf Proxmox-IP zeigt, Port 80 erreichbar.

  1. Node → Certificates → ACME
  2. Account registrieren (E-Mail eingeben)
  3. Domain hinzufügen (Challenge: HTTP oder DNS)
  4. Order Certificate

Zertifikat wird automatisch erneuert.

FAQ

Stoppt die Proxmox-Firewall laufende Verbindungen wenn ich sie aktiviere?
Nein, bestehende Verbindungen werden nicht getrennt. Neue Verbindungen folgen ab sofort den Regeln.

Kann ich iptables direkt auf dem Proxmox-Host bearbeiten?
Technisch ja, aber nicht empfohlen. Proxmox überschreibt manuelle iptables-Regeln beim Neustart. Nutzen Sie die Proxmox-Firewall oder eine eigene Firewall-VM.

Schützt die VM-Firewall auch vor Angriffen aus dem internen Netz?
Ja. Die VM-Firewall filtert auch interne Verbindungen zwischen VMs auf demselben Host.

Fazit

Die integrierte Proxmox-Firewall ist ein mächtiges Werkzeug zur Absicherung Ihrer virtuellen Infrastruktur. Mit IPSets und Sicherheitsgruppen verwalten Sie komplexe Regelwerke übersichtlich.

Als IT-Sicherheitsexperten in Heidelberg konfigurieren wir Proxmox-Sicherheitsarchitekturen für Unternehmen in Mannheim, Ludwigshafen und der Rhein-Neckar-Region. Jetzt IT-Sicherheitsberatung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel