Das Spamhaus Projekt unterhält eine Blacklist mit IPs von Servern, die aktiv für den Versand von Spam E-Mails missbraucht werden. Diese Liste kann in den eigenen Postfix Server integriert werden. Auf diese Weise können E-Mail von den betreffenden Servern sofort geblockt werden und eine Zustellung findet gar nicht erst statt.
In der Postfix Konfigurationsdatei „main.cf“ wird dazu die Einstellung „smtpd_recipient_restrictions“ bzw „smtpd_relay_restrictions (Ab Postfix 2.10) wie folgt gesetzt:
##### allow mail sending if Client is authenticated or in own network (PHP scripts, ...) , block spam servers ###### smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_rbl_client zen.spamhaus.org
Nach einem
service postfix reload
ist die Server-Blacklist aktiv. Um die Funktion der Blacklist / „Blocklist“ zu testen, wird eine E-Mail (über den eigenen Mailserver) an die Adresse nelson-sbl-test@crynwr.com geschickt. Der Inhalt der Mail ist egal. Ein paar Sekunden später trifft eine Antwort mit dem Testergebnis ein:
Die unterste Zeile im Protokoll zeigt, dass ein Verbindungsaufbau zu meinem Mailserver gescheitert ist, weil der Spamserver durch die Spamhaus Blacklist geblockt wurde. Der Blocker funktioniert also.
Update am 07.06.2014:
Mir wurde mitgeteilt, dass Google DNS die Adressen von Spamhaus nicht auflöst. Falls der Spamfilter nicht greift und ihr G DNS nutzt, liegt dort der Fehler ;)
Update am 24.02.2016:
Das Problem mit Google DNS kann umgangen werden, indem einfach ein eigener kleiner DNS Resolver statt des Google DNS genutzt wird.
Hi Thomas,
ich kann mich den anderen Lesern zu Deinem Mailserver How2 nur anschließen, alles ist sehr transparent gestaltet! Klasse!
Seit dem Hinzufügen der Blacklist Einstellungen:
##### allow mail sending if Client is authenticated or in own network (PHP scripts, …) , block spam servers ######
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client zen.spamhaus.org
erscheint nach dem Neustart:
* Reloading Postfix configuration…
folgenden Fehler:
postfix: fatal: /etc/postfix/main.cf, line 41: missing ‚=‘ after attribute name: „permit_mynetworks,“
Hast Du einen Tipp, warum bei meiner Konfig das Gleichheitszeichen nach dem permit_mynetworks verlangt wird?
Ich habe es von Dir so übernommen:
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client zen.spamhaus.org
Nun stelle ich eben fest, dass beim Verändern der Darstellung auf:
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_rbl_client zen.spamhaus.org
folgender Fehler nach dem Reload erscheint:
postfix/postfix-script: fatal: the Postfix mail system is not running
Ändere ich auf Deine Syntax Vorgabe zurück, erhalte ich den Fehler mit dem ‚ = ‚.
Würdest Du mir bitte aus Deiner main.cf die Stelle mit smtpd_relay_restrictions 1 zu 1 heraus kopieren und
hier erneut senden? Ich habe es mit und ohne Leerzeichen nach den Kommata probiert. Der Fehler bleibt gleich.
Vielen Dank im Voraus und
viele Grüße aus München,
non
Nachtrag:
Manchmal muss man nur einmal etwas anderes machen, als in der Konsole oder im Konfig-Editor zu verweilen. ;-)
Nach einem Neustart mit:
service postfix start
* Starting Postfix Mail Transport Agent postfix [ OK ]
und einem:
service postfix reload
* Reloading Postfix configuration… [ OK ]
funktioniert es mit:
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_rbl_client zen.spamhaus.org
in der main.cf und meine Linuxwelt ist wieder in Ordnung!
Es war einfach…. zu einfach! ;-)
Viele Grüße,
non
Herzlichen Dank für die Anleitung!
Ich bekomme den Fehler:
postfix: warning: /etc/postfix/main.cf, line 42: overriding earlier entry: smtpd_relay_restrictions=permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
/usr/sbin/postconf: warning: /etc/postfix/main.cf, line 42: overriding earlier entry: smtpd_relay_restrictions=permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
postsuper: warning: /etc/postfix/main.cf, line 42: overriding earlier entry: smtpd_relay_restrictions=permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Eine Idee was da schief läuft?
Viele Grüße
https://legacy.thomas-leister.de/ueber-mich-und-blog/
Hi,
deine Einstellung „smtpd_relay_restrictions“ überschreibt eine andere „smtpd_relay_restrictions“… Anscheinend hast du den Konfigurationsparameter schon einmal an anderer Stelle benutzt. Deshalb wird eine Warnung ausgegeben.
LG Thomas
Hi und Danke für deine schnelle Antwort. Ich nach deiner Anleitung:
https://legacy.thomas-leister.de/internet/mailserver-ubuntu-server-dovecot-postfix-mysql/
vorgegangen und da wurde es unter „LMTP aktivieren“ eingestellt.
Muss ich es jetzt auch dort eintragen ?
Viele Grüße
Frank
https://legacy.thomas-leister.de/ueber-mich-und-blog/
Hi,
ergänze einfach die Zeile entsprechend (bzw eigentlich solltest du sie gegen die Version aus dieser Anleitung austauschen können)
LG Thomas
Danke und sorry…war doch doppelt :-(
Einfach schon zu spät…
Viele Grüße
PS. Deine Seite hätte mal wirklich einen „Donate-Button“ verdient!
http://www.renaissance-bootcamp.com
Deine Tutorials sind inklusive der englischsprachigen die hilfreichsten die ich nach langer Suche finden konnte. Ich hatte zwar Anfangs einige Schwierigkeiten mit unverständlichen bis unvorstellbaren Fehlermeldungen, aber nach ein paar mal probieren hat alles perfekt geklappt. Ein so komplettes und in sich stimmiges Tutorial hat wirklich Respekt verdient!
Vielen Dank und Grüße aus Italien!
Michael
Hi,
Dein Update vom 07.06.2914, dass Google DNS die Adressen von Spamhaus nicht auflöst hat gerade meinen Tag gerettet.
Ich suche wie wild warum die Sperrlisten nicht mehr arbeiten, die Testemails kommen hier an und ich wußte keinen Rat, doch siehe da, der Tipp greift auch für Nicht Linux Umgebungen!
Danke!
;-))
Hallo Thomas,
ein weiterer Tipp den ich in meine Postfix-Config übernehmen konnte. TOP!
Thomas Leister 4 Präsident ;-)
Ach, und viel Spass beim lesen ;-)
Ein Tipp vielleicht noch zusätzlich an die anderen Postfix-Anfänger (wie ich auch einer bin).
Ich lasse mir in einer Linux-Umgebung nun mit grep noch alle entsprechenden Logfile-Einträge ausgeben, um zu sehen, das auch wirklich nur korrekte Spamschleudern rejected werden. Bei restriktiven Einstellungen macht es sicher Sinn, am Anfang ein Auge auf das Ergebnis zu werfen:
z.B.
grep –color „blocked using zen.spamhaus.org“ /var/log/mail.log
Kann man auch als Alias in die .bashrc eintragen und kann sich so ein Shortcut erstellen (auch mit anderen Einträgen, nach denen man schauen möchte):
alias meineshortcutbezeichnung =’grep –color „blocked using zen.spamhaus.org“ /var/log/mail.log‘
An der Konsole gebt ihr dann als nur das Alias (z.B. short1) ein und bekommt eine schön eingefärbte Auflistung aller mit Spamhaus geblockten Inhalte.
LG
Micha
http://www.pro-futurum.de
Der Hinweis mit dem Google DNS hat mir den Tag gerettet. Vielen Dank!
https://www.henrock.net
Hallo Thomas,
‚Update am 07.06.2914‘ ?? :D
From the future
Henrik
https://legacy.thomas-leister.de/ueber-mich-und-blog/
Oh, da war ich meiner Zeit wohl etwas voraus … :P