Postfix relay domains: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 26: Zeile 26:
 
;Konfiguration aktivieren:
 
;Konfiguration aktivieren:
 
*postfix reload
 
*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 <code>550 User unknown</code> 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
 +
<pre>
 +
benutzer1@example.com  OK
 +
benutzer2@example.com  OK
 +
</pre>
 +
*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
 +
 +
{{Hinweis|Im Lab-Setup mit wenigen fiktiven Adressen ist die statische Hash-Tabelle ausreichend. In der Praxis mit Exchange oder großen Umgebungen ist die LDAP-Abfrage die wartungsfreundlichste Lösung.}}

Aktuelle Version vom 6. Juni 2026, 12:10 Uhr

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