policyd-weight

Vom ewigen Schlachtfeld der Spambekämpfung gibt es Interessantes zu berichten. Ich wurde durch einen Beitrag im Rootforum auf policyd-weight aufmerksam und habe dieses äußerst nette Tool gleich mal installiert.

Policyd-weight ist ein sog. Policy Daemon für Postfix, der ankommende SMTP-Verbindungen auf verschiedene Kriterien hin überprüft. Im Gegensatz zu Spamassassin, der diese Überprüfung erst nach Einlieferung der Mail in die Queue vornimmt, weist policyd-weight die Mail bereits im SMTP-Dialog zurück, nachdem DNS-Blocklisten, HELO, MAIL FROM sowie die Client IP-Adresse bewertet wurden:

Sep 24 02:07:45 pluto postfix/policyd-weight[12795]: weighted check: NOT_IN_DYN_NJABL=0 NOT_IN_BL_NJABL=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_DSBL_ORG=0 NOT_IN_IX_MANITU=0 NOT_IN_ORDB_ORG=0 CL_IP_EQ_HELO_IP=-2 (check from: gmx – helo: gmx) FROM_MATCHES_HELO=-2 client=213.165.64.20 helo=mail.gmx.net from=mailings@gmx.net, rate: -8.5

Der Client kann sowohl positive als auch negative Punkte erhalten (obiges Beispiel war eine “gute” Mail von GMX) und je nach Punktzahl wird die Mail entweder angenommen oder zurückgewiesen:

Sep 24 02:03:02 pluto postfix/smtpd[12326]: NOQUEUE: reject: RCPT from unknown[82.31.26.164]: 550 mail@domain.de: Recipient address rejected: Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs; MTA helo: wtal.de, MTA hostname: unknown[82.31.26.164] (helo/hostname mismatch); from=stuarthouston_80@mi.is to=mail@domain.de proto=SMTP helo=wtal.de

Der entscheidende Vorteil gegenüber meiner vorigen Lösung (Postgrey) ist die wesentlich verbesserte Flexibilität. Legitime Mails kommen sofort an und nicht erst nach einer Wartezeit, nachdem der einliefernde Mailer erneut versucht hat, die Mail zuzustellen.

Das Skript ist in Perl programmiert und somit beliebig anpassbar. Hier gibt es eine nette Grafik und hier ein erläuternder Text auf Deutsch.

edit://
In den Mails befindet sich dann netterweise noch ein zusätzlicher Header:

X-policyd-weight: IN_DYN_NJABL=3.25 NOT_IN_BL_NJABL=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_DSBL_ORG=0 NOT_IN_IX_MANITU=0 NOT_IN_ORDB_ORG=0 CL_IP_EQ_HELO_IP=-2 (check from: xm1 – helo: xm1) FROM_MATCHES_HELO=-2 FROM_MULTIPARTED=5.44 client=84.171.159.169 helo=ice.xm1.de from=fabian@ice.xm1.de, rate: 0.19

Ich finde es immer interessant zu wissen, was eine Mail so alles “durchgemacht” hat 😉

4 Replies to “policyd-weight”

  1. Also bis jetzt macht die Lösung echt einen super Eindruck. Ich habe seit der Einführung keine einzige Spammail mehr bekommen. Die sind alle schon im SMTP-Dialog abgelehnt worden!

    Die Zeit zu nehmen lohnt sich!

  2. Hi Fabian,

    danke fuer diesen kleinen “Bericht”. Ich “liebaeugle” auch schon seit einiger
    Zeit damit policyd-weight einzusetzen – bis jetzt fehlte aber immer die Zeit. Aber da
    Du ja schonmal nur positives berichten konntest, werd ich mir sicher die naechsten Tage
    mal die Zeit nehmen 🙂

    Danke
    Winni

  3. Offensichtlich sind wieder einmal neue Sober-Varianten im Umlauf:hi,
    ich hoffe jetzt mal das ich endlich die richtige person erwischt habe!
    ich habe jedenfalls mal unser klassenfoto von damals mit angehängt.
    wenn du dich dort wiedererkennst, dann schre

  4. Als ich vorgestern an den fail2ban-Einstellungen geschraubt habe, ist mir aufgefallen, dass bereits ein vordefinierter Filter für durch Postfix zurückgewiesene Mails (Code 550) existiert. Policyd-weight gibt diesen Code oft genug zurück. Dieses Tool habe

Leave a Reply

Your email address will not be published. Required fields are marked *