Praktisch alle Linux-Distributionen enthalten sendmail als Standard-MTA. Was in Ordnung ist – es gibt es schon lange, es ist stabil und es funktioniert großartig (obwohl die Postfix-Afficionados möglicherweise anderer Meinung sind!). Aber es ist nichts für die Spam-Kontrolle eingebaut, was gut ist. es war nicht dafür ausgelegt. Sie haben also Spamassassin installiert und es funktioniert gut, aber Sie erhalten immer noch nicht gekennzeichnete Spam-E-Mails. Vielleicht müssen Sie versuchen, Greylisting.
Greylisting ist der Prozess, bei dem alle E-Mails (sofern nicht ausdrücklich auf der Whitelist) zunächst abgelehnt werden, jedoch innerhalb der Parameter der verschiedenen RFCs arbeiten, um den eventuellen Empfang von E-Mails sicherzustellen. Die Idee ist, dass Spammer nicht versuchen, eine Verbindung zu einem E-Mail-Server wiederherzustellen, der ihre Angebote abgelehnt hat, legitime Mailserver jedoch. Es ist nicht kinderleicht – Spammer lassen sich schnell anpassen und Greylisting gibt es schon lange. Aber es hilft.
Dieser Artikel befasst sich mit der Installation der Milter-Greylist, die ursprünglich von Emmanuel Dreyfus geschrieben wurde. Ich werde mich hier auf sendmail konzentrieren, aber milter-greylist wird auch mit postfix unterstützt.
Überprüfen Sie zunächst Ihre Abhängigkeiten. Aus der README:
Abhängigkeiten erstellen:
– flex (AT & T Lex kann keine Milter-Greylist-Quellen erstellen)
– Yacc oder Bison (einige ältere Yacc schlagen fehl, verwenden Sie stattdessen Bison)
– libmilter (wird mit Sendmail oder mit sendmail-devel geliefert
Paket auf RedHat, Fedora und SuSE. Debian und Ubuntu haben es
in libmilter-dev)
– Beliebige POSIX-Thread-Bibliothek (auf einigen Systemen von libc bereitgestellt)
Optionale Abhängigkeiten:
– libspf2, libspf_alt oder libspf für SPF-Unterstützung
– libcurl, zur Unterstützung von URL-Überprüfungen
– libGeoIP für GeoIP-Unterstützung
– Libbind von BIND 9 für DNSRBL-Unterstützung, außer wenn in Ihrem System ein thread-sicherer DNS-Resolver integriert ist.
Der Konfigurationsprozess findet jedoch alles, was Sie nicht installiert haben, und beschwert sich, bis die Abhängigkeit behoben ist.
Laden Sie als nächstes den Greylist-Milter von herunter http://hcpnet.free.fr/milter-greylist und packen Sie den Tarball aus. Dann lesen Sie die README-Datei! Es enthält eine Fülle von Informationen, die in diesem Artikel nicht behandelt werden, insbesondere für Installationen, die spezielle Funktionen wie die SPF-Unterstützung enthalten möchten / müssen.
Und mach das Übliche
./konfigurieren
./machen
./Make installieren
Bei der Standardinstallation werden die Binärdateien in / usr / local / bin, die Datenbank- und PID-Datei in / var / milter-greylist und die Konfigurationsdatei in /etc/mail/greylist.conf abgelegt. Einige Startskripte sind im Tarball enthalten, werden jedoch nicht automatisch installiert. Sie müssen es selbst in Ihrer /etc/init.d einrichten, wenn Sie eine verwenden möchten.
Anschließend müssen Sie sendmail so konfigurieren, dass der Milter tatsächlich verwendet wird. Fügen Sie in Ihrer sendmail.mc-Datei Folgendes hinzu (beachten Sie jedoch die Warnungen in der README-Datei, wenn Sie bereits andere Milters in Ihrer Installation verwenden!):
INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')dnl
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')dnl
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')dnl
und konfigurieren Sie Ihre sendmail.cf-Datei neu:
#m4 sendmail.mc > sendmail.cf
Starten Sie Ihren sendmail-Daemon jedoch noch nicht neu – wir müssen die Konfiguration noch ändern, damit dies ordnungsgemäß funktioniert.
Öffnen Sie /etc/mail/greylist.conf in Ihrem Lieblingseditor (was ist natürlich vi, oder?).
Kommentieren Sie Folgendes aus oder fügen Sie Folgendes hinzu:
quiet
greylist 7m
dumpfreq 1d
autowhite 10d
In der obigen Konfiguration enthält «leise» keinen Zeitrahmen, um die Übermittlung erneut zu versuchen. Dies ist gut, damit Spammer nicht wissen können, wie lange sie blockiert werden. Greylisting dauert 7 Minuten. Danach werden E-Mails von der Quelle akzeptiert. Der Datenbankinhalt wird einmal pro Tag in die Datei /var/milter-greylist/greylist.db verschoben. Sobald eine E-Mail von einer Quelle akzeptiert wurde, wird diese Quelle wird 10 Tage lang auf die Whitelist gesetzt, bevor sie erneut auf die Greylist gesetzt wird.
Erstellen Sie auch Listen, um Ihre eigenen Netzwerke in die Konfigurationsdatei aufzunehmen:
list "my network" addr { 127.0.0.1/8 10.230.1.0/24 192.168.1.0/24 }
Hier werden lokale, DMZ- und interne Netzwerke auf die Whitelist gesetzt (als Beispiel – Ihre sind wahrscheinlich anders). Beachten Sie den Abstand zwischen den Netzwerkadressen. nicht Kommas.
Zusammen mit anderen externen Netzwerken, denen immer vertraut wird:
# Trusted networks to not greylist:
list "trusted" addr {
207.46.0.0/16 # Microsoft
72.33.0.0/16 # UW Madison
}
Es gibt eine ziemlich umfassende Liste von «defekten» Mailer-Servern in der Konfigurationsdatei, die ebenfalls immer auf die Whitelist gesetzt werden müssen, da das Greylisting höchstwahrscheinlich dazu führen würde, dass sie niemals E-Mails von ihnen erhalten. Sie können diese Liste bei Bedarf auch ergänzen.
Sie werden höchstwahrscheinlich Greylisting als Standard einrichten, daher möchten Sie möglicherweise auch bestimmte Benutzer auf die Whitelist setzen, die niemals möchten, dass E-Mails verzögert werden (verschiedene pompöse Vizepräsidenten, Systemalarmadressen und dergleichen):
# List of users that want whitelisting (if greylisting is the default):
list "white users" rcpt {
vp@domain.com
sysadmin@domain.com
postmaster@domain.com
}
Beachten Sie die Listennamen von «Mein Netzwerk», «Vertrauenswürdige» und «Weiße Benutzer». Sie müssen diese zur eigentlichen Whitelist-Konfigurationszeile hinzufügen:
# And here is the access list
racl whitelist list "my network"
racl whitelist list "broken mta"
racl whitelist list "trusted"
racl whitelist list "white users"
Hinweis: Sie können dies auch auf die Whitelist als Standard festlegen. In diesem Fall erstellen Sie auch eine Liste mit grauen Benutzern der Personen, für die Sie immer eine Grauliste erstellen möchten. Dazu gehören natürlich fehlerhafte Benutzer, die ihre geschäftliche E-Mail-Adresse auf allen Websites sozialer Netzwerke, Verkaufswebsites und Newsletter-Abonnements veröffentlichen.
Und dann konfigurieren Sie die Standardoperation von milter-greylist:
racl greylist default
(Verwenden Sie die Standardeinstellung für die Racl-Whitelist, wenn die Whitelist die Standardoperation sein soll.)
Starten Sie dann Ihre Milter-Greylist-Binärdatei entweder mit dem Startskript /etc/init.d/milter-greylist oder mit
#milter-greylist -f /etc/mail/greylist.config
an der Kommandozeile. Es gibt eine Reihe anderer Befehlszeilenoptionen (von denen viele doppelte Parameter in der conf-Datei festlegen). Sehen
Mann Milter-Greylist
für weitere Details.
Starten Sie dann Ihren sendmail-Daemon neu und genießen Sie weniger Spam auf Ihrem Mailserver.