Proxmox Mail Gateway: Spam-Schutz für dein Homelab einrichten

Proxmox Mail Gateway (PMG) als Spam- und Virenfilter im Homelab einrichten. Installation, Konfiguration, DNSBL-Listen und Integration mit Mailservern wie Grommunio.

Wer einen eigenen Mailserver im Homelab betreibt, kennt das Problem: Spam, Phishing-Mails und potenzielle Malware. Proxmox Mail Gateway (PMG) ist eine Open-Source-Lösung, die als vorgeschaltete Filterinstanz fungiert und deinen Mailserver effektiv schützt. In diesem Tutorial zeige ich dir, wie du PMG installierst, konfigurierst und mit deinem bestehenden Mailserver wie Grommunio, Mailcow oder iRedMail integrierst.

Warum Proxmox Mail Gateway?#

PMG ist mehr als nur ein Spam-Filter. Es ist eine vollständige E-Mail-Sicherheits-Appliance, die auf Debian basiert und von den Machern von Proxmox VE entwickelt wurde. Die wichtigsten Vorteile:

  • Mehrschichtiger Schutz: Kombination aus DNSBL, Greylisting, SpamAssassin, ClamAV und SPF/DKIM-Validierung
  • Quarantäne-System: Verdächtige Mails werden isoliert, nicht gelöscht
  • Einfache Weboberfläche: Übersichtliches Management über Browser
  • Cluster-Fähigkeit: Mehrere PMG-Instanzen für Hochverfügbarkeit
  • Ressourcenschonend: Läuft problemlos als LXC-Container oder VM
  • Open Source: Kostenlos nutzbar (Enterprise-Support optional)

PMG fungiert als MX-Relay: Eingehende Mails gehen zuerst durch PMG, werden dort gefiltert, und nur saubere Mails landen auf deinem eigentlichen Mailserver. Das entlastet deinen Mailserver und hält Spam und Malware fern, bevor sie überhaupt deine Postfächer erreichen.

Voraussetzungen#

Bevor wir loslegen, solltest du Folgendes haben:

  • Proxmox VE-Installation (siehe Proxmox Homelab Einrichten - Anfänger Guide)
  • Funktionierende DNS-Konfiguration (MX-Records!)
  • Einen bestehenden Mailserver (oder die Absicht, einen einzurichten)
  • Grundkenntnisse in Linux/Kommandozeile
  • Mindestens 2 GB RAM und 10 GB Festplatte für PMG

Installation: ISO vs. LXC-Container#

PMG kann auf zwei Arten installiert werden:

Option 1: ISO-Installation (VM)#

Die klassische Variante: PMG als dedizierte VM.

  1. ISO herunterladen von proxmox.com/downloads
  2. In Proxmox VE eine neue VM erstellen:
    • CPU: 2 Kerne
    • RAM: 2-4 GB
    • Festplatte: 16 GB (minimal 10 GB)
    • Netzwerk: Bridged (eigene IP)
  3. ISO einhängen und booten
  4. Installer folgen (Tastatur: Deutsch, Zeitzone: Europe/Berlin)
  5. Hostname und Domain festlegen (z.B. pmg.example.com)
  6. Root-Passwort vergeben
  7. Netzwerk konfigurieren (statische IP empfohlen)
  8. Installation abschließen und neu starten

Option 2: LXC-Container (empfohlen)#

Ressourcensparender und schneller zu deployen.

Es gibt kein offizielles PMG-LXC-Template, aber PMG kann in einem Debian-Container nachinstalliert werden:

# Debian 12 Container erstellen
pct create 103 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst \
  --hostname pmg \
  --memory 2048 \
  --cores 2 \
  --rootfs local-lvm:16 \
  --net0 name=eth0,bridge=vmbr0,ip=192.168.66.37/24,gw=192.168.66.1 \
  --nameserver 192.168.66.1 \
  --features nesting=1 \
  --password

# Container starten
pct start 103

# In Container einloggen
pct enter 103

# PMG Repository hinzufügen
echo "deb [arch=amd64] http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription" > /etc/apt/sources.list.d/pmg.list

# Proxmox GPG-Key importieren
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

# System aktualisieren
apt update && apt full-upgrade -y

# PMG installieren
apt install proxmox-mailgateway -y

# Hostname setzen
hostnamectl set-hostname pmg.example.com

Nach der Installation ist PMG über https://<IP>:8006 erreichbar.

Grundkonfiguration#

Nach dem ersten Login (Benutzer: root, Passwort wie bei Installation gesetzt) solltest du folgende Einstellungen vornehmen:

1. System-Updates#

Unter Administration → Updates das System auf den neuesten Stand bringen.

2. Mail-Konfiguration#

Navigiere zu Configuration → Mail Proxy:

  • Domain: Deine Haupt-E-Mail-Domain (z.B. example.com)
  • Relay: IP/Hostname deines internen Mailservers (z.B. 192.168.66.23 für Grommunio)
  • SMTP Port: Standard ist 25
  • Max. Message Size: Je nach Bedarf (Standard: 10 MB, ich nutze 50 MB)

Wichtig: Der Relay ist dein eigentlicher Mailserver, an den PMG saubere Mails weiterleitet.

3. DNS-Konfiguration anpassen#

Damit eingehende Mails über PMG laufen:

  1. MX-Record muss auf PMG zeigen:

    example.com.  IN  MX  10  pmg.example.com.
    
  2. A-Record für PMG:

    pmg.example.com.  IN  A  <Deine-externe-IP>
    
  3. PTR-Record (Reverse DNS) sollte auf pmg.example.com zeigen (bei Provider beantragen)

  4. Port-Weiterleitung in Firewall/Router:

    • Port 25 (SMTP) → PMG-IP

4. Mailserver anpassen#

Dein eigentlicher Mailserver (Grommunio, Mailcow etc.) sollte jetzt:

  • Nur noch von PMG Mails annehmen (Firewall-Regel!)
  • PMG als vertrauenswürdigen Relay akzeptieren

Bei Grommunio z.B. in /etc/grommunio-common/main.cf:

mynetworks = 127.0.0.0/8 192.168.66.37/32

DNSBL-Listen einrichten#

DNS-based Blackhole Lists (DNSBL) sind eine der effektivsten Waffen gegen Spam. PMG prüft die IP-Adresse des sendenden Servers gegen mehrere Blacklists.

Empfohlene DNSBL-Listen#

Unter Configuration → Mail Proxy → Options → DNSBL Sites folgende Listen hinzufügen:

zen.spamhaus.org
b.barracudacentral.org
bl.spamcop.net
dnsbl.sorbs.net
cbl.abuseat.org

zen.spamhaus.org ist besonders effektiv, da es mehrere Spamhaus-Listen kombiniert (SBL, XBL, PBL).

b.barracudacentral.org von Barracuda Networks ist sehr aktuell und wenig fehleranfällig.

DNSBL Threshold#

Der DNSBL Threshold bestimmt, ab wie vielen Treffern eine Mail abgelehnt wird:

  • 1: Aggressiv (ein Treffer reicht) – empfohlen für Homelab
  • 2-3: Moderat (mehrere Treffer nötig)

Einstellung unter Configuration → Mail Proxy → Options → DNSBL Threshold.

Bei meiner Konfiguration nutze ich Threshold 1, da die gewählten Listen sehr zuverlässig sind.

Greylisting aktivieren#

Greylisting verzögert die Annahme von Mails unbekannter Absender. Seriöse Mailserver versuchen es erneut, Spammer nicht.

Configuration → Mail Proxy → Options → Use Greylisting: ✓ aktivieren

Greylisting ist sehr effektiv und verursacht kaum False Positives. Die Verzögerung beträgt meist nur 5-15 Minuten beim ersten Kontakt.

SPF und DKIM aktivieren#

SPF (Sender Policy Framework)#

SPF prüft, ob der sendende Server berechtigt ist, für die Domain zu versenden.

Configuration → Mail Proxy → Options → Verify SPF: ✓ aktivieren

DKIM (DomainKeys Identified Mail)#

DKIM signiert ausgehende Mails digital.

  1. Configuration → Mail Proxy → Options → DKIM Sign: ✓ aktivieren

  2. DKIM Selector festlegen (z.B. default)

  3. DKIM-Key generieren:

    ::: highlight

    pmgdkim-genkey
    

    :::

  4. Public Key im DNS veröffentlichen:

    ::: highlight

    cat /var/lib/pmg/dkim/default.txt
    

    :::

    Beispiel-DNS-Record:

    default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCS..."
    

DKIM verbessert die Zustellbarkeit deiner ausgehenden Mails erheblich!

Regelwerk erstellen#

PMG bietet ein mächtiges Regelwerk-System für individuelle Filter.

Beispiel: Blacklist für bestimmte Domains#

  1. Configuration → Mail Filter → Rule Database
  2. Add Rule klicken
  3. Name: “Spam-Domains blockieren”
  4. Add ObjectSMTPFrom@spam-domain.com
  5. Add ActionBlock
  6. Regel aktivieren und speichern

Beispiel: Whitelist für wichtige Absender#

  1. Regel erstellen: “Trusted Senders”
  2. Add ObjectSMTPFrom*@wichtige-firma.de
  3. Add ActionAccept
  4. Priorität höher setzen als andere Regeln

Das Regelwerk wird von oben nach unten abgearbeitet. Die erste zutreffende Regel gewinnt.

Lizenzwarnung entfernen#

Nach der Installation zeigt PMG eine Subscription-Warnung. Wenn du kein Enterprise-Abo hast, kannst du diese entfernen:

# Backup der Datei erstellen
cd /usr/share/javascript/proxmox-widget-toolkit
cp proxmoxlib.js proxmoxlib.js.bak

# JavaScript-Datei bearbeiten
sed -i.bak "s/data.status !== 'Active'/false/g" proxmoxlib.js

# PMG-Proxy-Service neu starten
systemctl restart pmgproxy.service

Wichtig: Nach PMG-Updates muss dieser Schritt wiederholt werden!

Anschließend Browser-Cache löschen (Strg+Shift+R) und die Warnung sollte verschwunden sein.

Hinweis: Die No-Subscription-Version ist vollständig funktional. Das Enterprise-Repo bietet schnellere Sicherheits-Updates und Support.

Repository auf No-Subscription umstellen#

Standardmäßig nutzt PMG das Enterprise-Repository, für das eine Lizenz nötig ist. Umstellung:

# Enterprise-Repo deaktivieren
mv /etc/apt/sources.list.d/pmg-enterprise.list /etc/apt/sources.list.d/pmg-enterprise.list.bak

# No-Subscription-Repo hinzufügen
echo "deb http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription" > /etc/apt/sources.list.d/pmg-no-subscription.list

# Updates installieren
apt update && apt upgrade -y

Monitoring und Wartung#

Dashboard#

Das PMG-Dashboard zeigt:

  • Mail-Volumen: Ein-/ausgehende Mails
  • Spam-Rate: Wie viel Prozent gefiltert wurden
  • Virus-Detection: Erkannte Malware
  • System-Load: CPU, RAM, Storage

Quarantäne-Management#

Unter Spam Quarantine landeten blockierte Mails. User können per E-Mail-Benachrichtigung selbst Mails freigeben.

Configuration → Spam Detector → Quarantine → Spam Quarantine aktivieren.

Logs#

Wichtige Logs für Troubleshooting:

# Mail-Log
tail -f /var/log/mail.log

# PMG-spezifische Logs
journalctl -u pmgproxy -f

# Tracking-Center (Weboberfläche)

Das Tracking Center in der Weboberfläche ist Gold wert: Jede Mail kann nachverfolgt werden – von der Annahme über Filter-Entscheidungen bis zur Zustellung.

Backup#

PMG-Konfiguration sichern:

# Backup erstellen
proxmox-backup-client backup root.pxar:/

# Oder manuell die Konfig-Dateien
tar -czf pmg-backup-$(date +%F).tar.gz /etc/pmg /var/lib/pmg

Bei LXC-Containern: Einfach den Container über Proxmox VE sichern (Vzdump).

Troubleshooting#

Problem: Mails kommen nicht an#

Checkliste:

  1. MX-Record korrekt? dig example.com MX
  2. Port 25 offen? telnet pmg.example.com 25
  3. PMG-Dienst läuft? systemctl status pmgproxy postfix
  4. Firewall blockiert? iptables -L -n
  5. Logs prüfen: tail -f /var/log/mail.log

Problem: Zu viel Spam kommt durch#

Lösungen:

  1. DNSBL Threshold senken (auf 1)
  2. Weitere DNSBL-Listen hinzufügen
  3. SpamAssassin-Score anpassen (Spam Detector → Options)
  4. Greylisting aktivieren
  5. Regelwerk mit bekannten Spam-Domains erweitern

Problem: Legitime Mails landen in Quarantäne#

Lösungen:

  1. Whitelist für den Absender erstellen
  2. SpamAssassin-Score erhöhen (weniger aggressiv)
  3. DNSBL-Listen überprüfen (manche sind sehr streng)
  4. SPF/DKIM-Fehler beim Absender? → Absender informieren

Problem: Hohe System-Last#

Lösungen:

  1. RAM erhöhen (4 GB empfohlen bei viel Traffic)
  2. ClamAV-Virenscanner deaktivieren, wenn nicht benötigt
  3. SpamAssassin-Checks reduzieren
  4. Mail-Archivierung begrenzen

Best Practices#

  1. Regelmäßige Updates: PMG mindestens monatlich aktualisieren
  2. Monitoring einrichten: Zabbix, Prometheus oder PMG-Dashboard nutzen
  3. Backup-Strategie: Wöchentliche Sicherungen der Konfiguration
  4. Quarantäne-Reports: User automatisch über blockierte Mails informieren
  5. Test-Mails: Regelmäßig mit mail-tester.com prüfen
  6. Zweite Instanz: Für Production-Umgebungen ein PMG-Cluster aufbauen
  7. TLS erzwingen: Verschlüsselte Verbindungen vorschreiben

🛒 Empfohlene Services#

🖥️

Hetzner Cloud für Mail-Gateway

Mail Gateway in der Cloud betreiben? Hetzner Cloud bietet VPS mit fester IP ab 4€/Monat — wichtig für saubere Mail-Reputation. Hetzner ausprobieren →

Fazit#

Proxmox Mail Gateway ist eine professionelle Lösung für E-Mail-Sicherheit im Homelab. Die Kombination aus DNSBL, Greylisting, SPF/DKIM und SpamAssassin filtert über 95% des Spams zuverlässig heraus. Die Integration mit bestehenden Mailservern ist unkompliziert, und die Weboberfläche macht das Management zum Kinderspiel.

Besonders als LXC-Container ist PMG ressourcenschonend und perfekt für Homelabs geeignet. Die Investition von 2-3 Stunden Setup zahlt sich durch deutlich weniger Spam und mehr Sicherheit sofort aus.

Wenn du noch keinen Mailserver hast, schau dir meinen Grommunio-Artikel an – die Kombination aus Grommunio und PMG ist ein Dream-Team für Self-Hosting!

Nächste Schritte: Probiere PMG in einer Test-VM aus, spiele mit dem Regelwerk und schau dir das Tracking Center an. Du wirst überrascht sein, wie viel Müll da draußen unterwegs ist – und wie gut PMG ihn abfängt! 🛡️


Weiterführende Links:


Einige Links auf dieser Seite sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision — für dich ändert sich am Preis nichts. So unterstützt du diesen Blog und ermöglichst weitere kostenlose Tutorials. Danke! 🙏

[« Vorherige]
pfSense Site-to-Site VPN: Homelab und Datacenter sicher verbinden