Postfix relay domains

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

relay_domains (Zuständigkeit für externe Ziel-Domains)

  • Definiert Domains, für die Postfix E-Mails von überall (Internet) annimmt, um sie an ein Zielsystem (z. B. internen Exchange) weiterzuleiten
  • Wird genutzt, wenn Postfix als Gateway, Spam-Filter oder Backup-MX vor dem eigentlichen Mailserver agiert
  • Verhindert "Relay access denied" für diese spezifischen Ziel-Domains
  • Muss zwingend mit relay_recipient_maps kombiniert werden, um Backscatter-Spam an ungültige Adressen zu vermeiden

Beispiel: Relay-Domains-Tabelle erstellen

Datei erstellen
  • vi /etc/postfix/relay_domains
 example.com
 trusted-domain.com
 
Tabelle für Postfix indizieren
  • postmap /etc/postfix/relay_domains

In /etc/postfix/main.cf konfigurieren

Datei bearbeiten
  • vi /etc/postfix/main.cf
Parameter setzen
relay_domains = hash:/etc/postfix/relay_domains
# Wichtig zur Vermeidung von Backscatter:
relay_recipient_maps = hash:/etc/postfix/relay_recipients

Postfix neu laden

Konfiguration aktivieren
  • postfix reload

Backscatter-Spam

  • Unerwünschtes Nebenprodukt von Spam-Wellen mit gefälschten Absenderadressen
  • Ablauf: Ein Spammer verschickt Mails mit gefälschtem Absender (z. B. opfer@example.com) → Postfix nimmt die Mail an → stellt fest, dass der Empfänger nicht existiert → schickt eine Unzustellbarkeits-Benachrichtigung (NDR/Bounce) zurück → das Bounce geht an den gefälschten Absender
  • Das Opfer erhält massenhaft Fehlermeldungen für Mails, die es nie verschickt hat
  • Der eigene Mailserver landet dadurch auf Blacklists

Warum relay_domains besonders anfällig ist

  • Postfix arbeitet bei Relay-Mails in zwei Phasen:
Phase 1 – SMTP-Session
Mail wird angenommen, kein Empfänger-Check
Phase 2 – Queue-Verarbeitung
Weiterleitung schlägt fehl → Bounce an den (gefälschten) Absender
  • Ohne relay_recipient_maps akzeptiert Postfix in Phase 1 jede beliebige Empfängeradresse der Relay-Domain – auch nicht existierende

Lösung: relay_recipient_maps

  • Der Empfänger-Check findet bereits in Phase 1 (SMTP-Session) statt
  • Bei unbekannter Adresse antwortet Postfix sofort mit 550 User unknown direkt an den sendenden Server
  • Es wird keine Bounce-Mail erzeugt – kein Backscatter
Drei gängige Varianten
1. Statische Hash-Tabelle
  • Alle gültigen Adressen werden manuell gepflegt
  • Geeignet für kleine Umgebungen und Lab-Setups
 benutzer1@example.com   OK
 benutzer2@example.com   OK
 
  • postmap /etc/postfix/relay_recipients
relay_recipient_maps = hash:/etc/postfix/relay_recipients
2. LDAP/AD-Abfrage
  • Postfix fragt direkt beim Active Directory oder LDAP-Server nach
  • Pflegt sich selbst bei Personaländerungen – empfohlen für Umgebungen mit Exchange
relay_recipient_maps = ldap:/etc/postfix/ldap-relay-recipients.cf
3. Callout-Verification
  • Postfix fragt den Zielserver (z. B. Exchange) per SMTP, ob die Adresse existiert
  • Kein extra Mapping nötig
  • Voraussetzung: Der Zielserver muss ungültige Adressen mit 550 ablehnen
smtpd_recipient_restrictions = reject_unverified_recipient

Vorlage:Hinweis