Der Anteil an Spam E-Mails nimmt leider immer mehr zu.

Eine recht wirksame Methode ist es, die eingehenden Spam-Mails erst gar nicht vom Mail-Server anzunehmen, sondern direkt abzulehnen.

Hier beschreibe ich eine (erstaunlich einfache) Möglichkeit den Postfix MTA (Mail Transfer Agent) so einzurichten, dass dieser eingehende Mails über das Spamhaus Projekt prüft und E-Mails von bekannten Spam-Servern direkt ablehnt.

Einrichtung

In der Konfigurationsdatei /etc/postfix/main.cf fügen wir dem Eintrag smtpd_client_restrictions einfach ganz am Ende die folgenden Einträge hinzu:

In einer Konfiguration mit ISP Config könnte die Zeile dann beispielsweise so aussehen:

Nach der Änderung starten wir Postfix neu.

systemctl restart postfix.service bzw. service postfix restart

Das war’s auch schon. Nun sollte ein sehr großer Teil der eingehenden Spam-Mails direkt abgelehnt werden, wobei normale Mails zuverlässig zugestellt werden.

kurze Erklärung

zen.spamhaus.org ist eine IP-basierte Blacklist, genauer gesagt eine Kombination aus mehreren (SBL, SBLCSS, XBL und PBL), über die für Spam bekannte IPs von Servern identifiziert und blockiert werden. Siehe auch https://www.spamhaus.org/zen/.

dbl.spamhaus.org ist eine Domain-basierte Blacklist, über die für Spam bekannte Domains identifiziert und blockiert werden. Siehe auch https://www.spamhaus.org/dbl/.

Funktionsprüfung

Dass es funktioniert sollte man schon daran merken, dass deutlich weniger bis gar kein Spam mehr beim E-Mail-Konto ankommt.

Außerdem wird im Log /var/log/mail.log für jede geblockte eingehende E-Mail ein Eintrag ähnlich dem folgenden Erzeugt:

Gefiltert anzeigen lassen sich diese Einträge zum Beispiel wie folgt:

cat /var/log/mail.log | grep -F "blocked using"