Service2Max - Die neue Service-Dimension

policyd-weight für Postfix unter Debian Etch installieren

Erstellt von Patrick Matsumura am 20.08.2008

| Keine Kommentare

Spamabwehr ist heute eine der Hauptbeschäftigungen jedes Webhosters, jedes grösseren und kleineren ISPs und natürlich auch jedes einzelnen Benutzers, wenn’s um Emails geht. Dieses kleine Tutorial soll eine kleine Hilfe für Systemadministratoren sein, die etwas mehr Schutz für die Emailkonten der eigenen Systeme suchen.

Heute reden wir über policyd-weight, einem kleinen Programm, dass als Daemon läuft und in Perl programmiert wurde. Es soll bei der Bekämpfung von gefälschten Absenderadressen und HELOs helfen. Mit policyd-weight kann man Punkte für verschiedene Kriterien wie DNSBL, HELO, MAIL FROM und IP-Adressen vergben und auswerten bevor die Nachricht überhaupt die Queue erreicht. Dies führt zu weniger Datentraffic, geringere Systemauslastung und natürlich auch zu weniger Spam. Voraussetzung ist allerdings eine gute Konfiguration der einzelnen Punktbewertungen.

1. policyd-weight installieren

Jetzt sollten wir aber anfangen und policyd-weight installieren. Natürlich geht es, wie gewohnt, einfach über apt.

# apt-get install policyd-weight

Nachdem es installiert ist, werden wir noch die Default-Konfiguration erstellen. Diese wird nämlich bei der Installation über apt nicht automatisch erzeugt. Dazu geben wir folgenden Befehl ein:

# /usr/bin/policyd-weight defaults > /etc/policyd-weight.conf

Die Einstellungen können eigentlich alle so bleiben. Ich habe lediglich die Werte $MAXDNSBLSCORE = 10 und $TCP_PORT = 60001 gesetzt. Nachdem wir das getan haben, müssen wir policyd-weight mit

# /etc/init.d/policyd-weight restart

neustarten.

2. Postfix konfigurieren

Damit Postfix nun auch weiss, dass es den neu installierten Dienst nutzen soll und wo es ihn findet, werden wir Anpassungen an /etc/postfix/main.cf vornehmen müssen. Konkret handelt es sich um die smtpd_recipient_restrictions. Nachfolgend eine Beispielkonfiguration:

smtpd_recipient_restrictions =
            permit_mynetworks,
            permit_sasl_authenticated,
	    reject_invalid_hostname,
            reject_unknown_recipient_domain,
            reject_unauth_pipelining,
            reject_unauth_destination,
	    check_policy_service inet:127.0.0.1:60001
	    permit

Na gut… dann wollen wir doch schnell Postfix sagen, dass es die neue Konfiguration laden soll. Also schnell ein

# /etc/init.d/postfix reload

und Postfix kurz arbeiten lassen. Danach können wir unseren Erfolg mit

# tail -f /var/log/mail.log

überprüfen. Sollten Meldungen wie folgendes im Log auftauchen, dann wissen wir, dass alles läuft.

postfix/policyd-weight[4519]: weighted check:  DYN_NJABL=ERR NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 HELO_IP_IN_CL_SUBNET=-1.2 (check from: .seznam. - helo: .admiralestateagents. - helo-domain: .admiralestateagents.)  FROM/MX_MATCHES_NOT_HELO(DOMAIN)=1 IN_PM_RFCI=3.2 IN_ABUSE_RFCI=3.2    , rate: 1.7
postfix/policyd-weight[4519]: decided action=550 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; in postmaster.rfc-ignorant.org; in abuse.rfc-ignorant.org

Also dann… legt los und mach eure Server sicherer und schützt eure Kunden, euch selbst oder einfach ALLE vor möglichem Spam. Natürlich ist das nur eine von vielen Möglichkeiten, die ihr gegen Spammer unternehmen könnt. Solltet ihr Fehler im Beitrag finden, Verbesserungsvorschläge, Lobgesang, oder sonst was loswerden wollen, dann nutzt doch bitte das Kommentarsystem.

Patrick

Weiterführende Links:
- Postfix Homepage
- policyd-weight Homepage