howto

Greylisting mit Postgrey, Postfix und Confixx einrichten

Seit einiger Zeit ärgern sogar mich böse böse Spammer sehr auf meinem vServer mit Confixx. Obwohl ich nur fünf Domains auf dem kleinen vServer gehostet habe, gibts/gab es Tage, an dem bis zu 20.000 Spammails zugestellt werden sollen. Das geht an die virtuellen Nieren – sprich den Spamassassin…
Um die Ressourcen meines Servers nicht auszulasten, habe ich mich nach Alternativen wegen umgeschaut, um den ganzen Spam-Müll loszuwerden.
Die Antwort: Greylisting! Greylisting beruht auf dem Konzept, dass die meisten Spammer sich nicht die Zeit nehmen, eine ordentliche Kommunikation mit deinem smtp-Server abzuhalten, sonder einfach nach dem „fire’n’forget“-Prinzip ihre Mails auf den Server bomben. Natürlich würden die Spammer sich auch nicht noch ein zweites mal melden, um bei einem temporären Fehler die eMail ein zweites mal abzusetzen. Somit wird beim Greylisting eine unbekannte eMail erstmal mit einem temporären Fehler abgelehnt. Ordentlich konfiguierte Server melden nicht mehrere Tage lang wieder, bis die eMail zugestellt ist – Spammer nicht! So wird man den meisten Spam los, ohne den rechenintensiven Spamassassin arbeiten zu lassen.

In einem Standard-Confixx System setzt normalerweise auf Debian auf und benutzt Postfix als MTA. Das kommt uns in diesem Fall sehr zu Gute, denn die Implementierung eines Greylisting Filterst ist hier,durch Postgrey besonders einfach.

Zunächst sollte man die Paketliste seines Systems aktualisieren.

apt-get update

Wenn das abgeschlossen ist, kann man direkt postgrey installieren.

apt-get install postgrey

mit

ps aux | grep postgrey

kann man nur direkt testen, ob der Daemon läuft… die Ausgabe sollte etwa so aussehen

postgrey   978  0.0  2.3  10460  4912 ?        Ss   Dec10   0:00 /usr/sbin/postgrey --pidfile=/var/run/postgrey.pid --daemonize --inet=127.0.0.1:60000

Sollten noch Änderungen nötig sein, z.B. die IP-Adresse ändern, so kann man das in der /etc/default/postgrey tun

vim /etc/default/postgrey

Nachdem wir nur stolze Besitzers eines Greylistingfilters sind, wäre es ja auch super, wenn Postfix ihn benutzen würde.
Um das zu bewerkstelligen, öffnen wir die /etc/postfix/main.cf

vim /etc/postfix/main.cf

und fügen check_policy_service inet:127.0.0.1:60000 bei den smtpd_recipient_restrictions ein.
Der Abschnitt sollte dann etwa so aussehen:

smtpd_recipient_restrictions =
                permit_sasl_authenticated,
                permit_mynetworks,
                reject_unauth_destination,
                check_policy_service inet:127.0.0.1:60000,
                check_policy_service unix:private/policy,
                reject_non_fqdn_sender,
                reject_non_fqdn_recipient,
                reject_unknown_hostname,
                reject_unknown_sender_domain,
                reject_rbl_client ix.dnsbl.manitu.net,
                reject_rbl_client sbl-xbl.spamhaus.org,
                reject_rbl_client list.dsbl.org,
                reject_rbl_client relays.org,

Jetzt noch ein kleines

postfix reload

und der Filter arbeitet im Postfix.

Um zu sehen ob er auch wirklich arbeitet, sollten in /var/log/mail.log folgende Einträge zu lesen sein:

Dec 13 13:34:28 bender postfix/smtpd[30419]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx]: 450 4.7.1 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/deinedomain.de.html; from= to= proto=ESMTP helo=

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s