Manuelles blacklisting in Postfix

Bei Postfix handelt es sich um einen leistungsstarken Mail Transfer Agent (MTA). Er wird bei vielen Mailserverlösungen eingesetzt und ist weit verbreitet. Allerdings gehört Postfix definitiv auch nicht zu den leicht konfigurierbaren MTAs. Wenn man einen Mailserver betreibt, kommt man auch schnell zu dem Thema Spam und die Bekämpfung dieser lästigen E-Mails. Hierfür gibt es verschiedene Ansätze, wie das einbinden externer Blocklisten oder die Verwendung von Spamassassin. In diesem Fall wollen wir uns aber mal die manuelle Erstellung einer Blacklist anschauen.

Für unsere Zwecke erstellen wir die Datei /etc/postfix/blacklist und befüllen diese mit uns unliebsamen Absender-Adressen oder Domains. In meinem Fall ging es explizit darum E-Mails von Facebook zu sperren. Daher sieht meine Blacklist folgendermaßen aus:

facebook.com REJECT
facebookmail.com REJECT

Wichtig in diesem Fall ist das Schlüsselwort REJECT nach der Domain. Dies teilt Postfix mit, dass E-Mails von dieser Domain abgelehnt werden sollen. Anstatt der Domain kann natürlich auch eine Adresse nach dem Format user@example.org genutzt werden. Verwendet man übrigens statt dem Schlüsselwort REJECT das Wort OK, so kann man dafür sorgen, dass E-Mails von dem Absender immer angenommen werden, egal was andere Spam-Regeln sagen. Dies wäre dann eine Whitelist.

Mit der Blacklist in dem Format kann Postfix allerdings noch nichts anfangen. Für Postfix müssen wir erst einmal daraus noch eine Datenbank erstellen. Dies geht mit folgendem Befehl:

cd /etc/postfix
postmap hash:blacklist

Anschließend finden wir im Ordner /etc/postfix zusätzlich zu unsere Blacklist noch die Datei blacklist.db. Mit dieser kann Postfix nun arbeiten. Nun müssen wir in den Postfix-Einstellungen nur noch konfigurieren, dass unsere Blacklist auch verwendet werden soll. Hierfür bearbeiten wir die Datei main.cf in /etc/postfix. Am Ende der Datei wird folgender Eintrag hinzugefügt:

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access

Zum Abschluss starten wir Postfix mit dem Befehl service postfix restart einmal neu, sodass die neue Konfiguration übernommen wird. Sanfter geht es auch mit dem Befehl service postfix reload, bei dem nur die Konfiguration einmal neu eingelesen wird. Ab diesem Zeitpunkt wird nun Postfix die Absender, die in der Blacklist aufgeführt sind, direkt ablehnen und nicht mehr an die Nutzer zustellen.