Selektiv E-Mail-Adressen sperren

April 7th, 2010 von chems

In Ausnahmefällen kann es dazu kommen, dass man eine Absender-Adresse für E-Mails sperren möchte, damit man von einer Person keine Mails mehr empfängt. Interessant ist dies vor Allem, wenn der Absender eine Standard-Benachrichtigung erhält, dass die E-Mail leider nicht zugestellt werden konnte (Fehler 550).

Für dieses Kurztutorial erkläre ich die Vorgehensweise für den Postfix-Server, welcher sehr oft in Linux-Umgebungen eingesetzt wird. Grundlage ist hier ein Debian, deshalb könnten eventuell bei anderen Distributionen Verzeichnisse unterschiedlich sein.

1. Postfix – Konfiguration ergänzen.

Die Datei main.cf im Verzeichnis /etc/postfix enthält normalerweise einen folgenden Block:

1
2
3
4
5
6
7
8
9
smtpd_recipient_restrictions = reject_non_fqdn_recipient,
                               reject_unknown_recipient_domain,
                               permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination,
                               reject_unlisted_recipient,
                               check_policy_service inet:127.0.0.1:12525,
                               check_policy_service inet:127.0.0.1:10023,
                               permit

Diesen erweitert man um den Inhalt „check_sender_access hash:/etc/postfix/sender_access,„. Dies sieht dann danach folgendermaßen aus:

1
2
3
4
5
6
7
8
9
10
smtpd_recipient_restrictions = reject_non_fqdn_recipient,
                               reject_unknown_recipient_domain,
                               permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination,
                               reject_unlisted_recipient,
                               check_policy_service inet:127.0.0.1:12525,
                               check_policy_service inet:127.0.0.1:10023,
                               check_sender_access hash:/etc/postfix/sender_access,
                               permit

Bitte drauf achten, dass am Ende der Zeile ein Komma gesetzt wird, da es ansonsten zu Fehlern kommen kann.

Ich habe nun als Dateiname „sender_access“ im Verzeichnis /etc/postfix gewählt. Diese Datei wird nun angelegt:

1
mcedit /etc/postfix/sender_access

In diese Datei stehen ab nun die E-Mail-Adressen, welche abgelehnt werden sollen.

Das Format in dieser Datei ist folgendermaßen:

1
abc@xyz.tld     REJECT

Dies macht man als fortlaufende Liste mit Zeilenumbruch.

Am Ende muss man dies noch für Postfix mit folgenden Befehl übersetzen:

1
postmap /etc/postfix/sender_access

Danach nur noch den Postfix neustarten, und fertig ist es.

1
/etc/init.d/postfix restart

(beziehungsweise „force-reload“ anstatt „restart“ für Konfiguration neu laden)

Ab jetzt muss man immer darauf achten, nach jeder Ergänzung in obiger Datei den postmap – Befehl immer wieder neu auszuführen, und die Konfiguration neu zu laden.

Twitter das!

Geschrieben in Internet, Server, PC und Netzwerkgeschichten | 3 Kommentare »

3 Kommentare

  1. Benny Baumann Sagt:

    In Bezug auf die Sender-Access-Listen sollte man beachten, dass man in der Regel nicht REJECT sondern DISCARD nutzen möchte. Der Unterschied besteht darin, dass REJECT eine DSN (Delivery Status Notification) sendet, während DISCARD die Mail stillschweigend ignoriert. Dies ist insbesondere wichtig, um sogenannten Backscatter zu vermeiden, der dafür sorgen kann, dass der eigene Mailserver auf eine Blacklist geraten kann.

    Weiterhin kann man auch ganze Absender-Domains sperren, wenn man den Benutzernamen-Anteil der Adresse weglässt und so z.B. „@chems-chaos.de DISCARD“ in die Datei einträgt.

    Außerdem sei vielleicht noch ergänzt, dass man nicht auf eine solche Datei beschränkt ist, sondern beliebig viele solcher Dateien in die Sender und Receiver-Policy aufnehmen kann und so z.B. mehrere Listen verwalten, die je nach „Geprüftheit“ der Adresssperren genutzt werden können.

    Je nach Art der „Spam-Mails“ kann man jedoch auch einen Content-Filter definieren, was basierend auf PCRE volle Kontrolle über die Prüfungen lässt.

  2. admin Sagt:

    Danke für die produktiven Hinweise. Ich werde den Beitrag nochmal überarbeiten, dann wird auch mehr als dieser Spezialfall abgedeckt. Dass es hier bewusst um eine Provozierung des 550-Fehlers ging geschah bewusst, da eine betreffende Person wissen sollte, dass die Mail nicht zugestellt werden konnte.

  3. Tweets die chems chaos » Blog Archi » Selektiv E-Mail-Adressen sperren erwähnt -- Topsy.com Sagt:

    […] Dieser Eintrag wurde auf Twitter von chems erwähnt. chems sagte: Neuer Blog-Beitrag: Selektiv E-Mail-Adressen sperren http://chems-chaos.de/2010/04/07/selektiv-e-mail-adressen-sperren/ […]

Einen Kommentar abgeben

Bitte beachte: Die Kommentare werden moderiert. Dies kann zu Verzögerungen bei Deinem Kommentar führen. Es besteht kein Grund den Kommentar erneut abzuschicken.