Postfix Anti-Spam Configuration

In den letzten Tagen habe ich mal ein wenig an der Konfiguration meines (Postfix-)Mail-Servers geschraubt, da in der letzten Zeit zunehmend auch mein Haupt-E-Mail-Postfach von Spam kompromittiert wurde. Das hielt sich zwar, im Vergleich zu früheren Zeiten (einfach mal mit der regulären Firmen-Adresse in einer Newsgroup und einer Mailing-Liste posten – super Idee!) absolut noch in Grenzen, nerven tut es aber trotzdem.

Ganz hilflos ausgeliefert ist man dem Spam natürlich nicht, denn Spammer machen beim Versand ihres Penis-Enlargement-Mortgage-Loan-V14gra-Qutsches so einiges, was ein regulärer Mailversender nie machen würde – vom Sender unsinniger Mail-Header über den Versand der Mails von dynamischen IP-Adressen und bekannten Open-Relay-Servern aus bis hin zu fehlenden MX-Einträgen im DNS.

Nach einigem Ausprobieren und der Beobachtung von einigermaßen vielen Spam-Mails – genug Anschauungsmaterial in Form von einigen hundert Spam-Mails pro Tag habe ich ja – glaube ich nun eine recht gute Konfiguration gefunden zu haben: keine unerwünschten Mails mehr in mir gehörenden Mailboxen, aber auch eine False-Negatives, also zu unrecht aussortierte Mails in den letzten Tagen. Here it is:

smtpd_helo_required = yes

smtpd_helo_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_invalid_hostname,
    reject_non_fqdn_hostname,
    permit

smtpd_sender_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    permit

smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_unauth_destination,
    reject_non_fqdn_recipient,
    check_recipient_access pcre:/etc/postfix/header_checks,
    reject_unknown_recipient_domain,
    reject_rbl_recipient zen.spamhaus.org,
    permit

smtpd_client_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_invalid_hostname,
    check_client_access pcre:/etc/postfix/header_checks,
    reject_rbl_client zen.spamhaus.org,
    permit

Und /etc/postfix/header_checks:

/(dsl|dynamic|ppp|dhcp|broadband|cable|dialin|dialup).*..*$/   REJECT  Rule #1 No mails from dynamic IPs are allowed.
/[d]{1,3}[-.][d]{1,3}[-.][d]{1,3}[-.][d]{1,3}([D]+)/ REJECT  Rule #2 No mails from dynamic IPs are allowed.
/[d]{8,}/ REJECT  Rule #3 No mails from dynamic IPs are allowed.

Der Fachmann wird fragen: Warum werden nicht die allgemeineren RBL-Services wie dnsbl.sorbs.net benutzt? Ganz einfach: Diese enthalten mir einfach zuviele Mail-Server großer Freemail-Provider wie GMX, web.de und auch 1&1, und sind nicht besonders hilfreich, wenn sie reguläre Mails dieser Anbieter blockieren.

4 Antworten Subscribe to comments


  1. DADAbase.de » From Qmail to Postfix

    […] format, I could easily copy the mailboxes over to the vPostmaster directory. And I could integrate my RBL-checks again. […]

    22.03.2007 @ 12:29


  2. Georg

    Hi,

    bin gerade über diesen Artikel gestolpert er ist zwar schon älter, aber deswegen nicht weniger Interessant. Ich teste deine Einstellungen gerade. Es sieht ziemlich gut aus würde ich sagen.
    Allerdings scheint mir da ein Fehler zu sein in den „smtpd_recipient_restrictions“
    da schreibst du „reject_rbl_recipient zen.spamhaus.org“ muß das nicht so lauten: „reject_rbl_client zen.spamhaus.org“

    Jedesfalls liefert die Zeile bei mir Fehler. Eventuell überprüfst du das mal und gibts mir Bescheid.

    Vielen Dank und Grüße
    Georg

    11.09.2007 @ 15:26


  3. rottex

    hoi alle miteinander!

    bin auch grad am tunen:

    zu deiner config würde ich aber folgendes einwerfen:

    (in anderen howtows gelesen):

    Zitat:
    „reject_non_fqdn_recipient und reject_non_fqdn_sender
    stets immer über permit_mynetworks / permit_sasl_authenticated setzen.
    Ich sehe nicht ein, warum ich Mails von (meinen) Usern annehmen soll, die
    weder gültige Empfänger, geschweige denn gültige Absender haben. Mails,
    die ich anderswo eh nicht loskriege.

    Ich tue dem Nutzer keinen Gefallen, ihm den Müll abzunehmen und ihm im
    Glauben zu lassen, ich würde das zustellen.“

    und:

    „es reicht die einzelnen restrictions nur im smtpd_recipient_restrictions
    anzugeben, weil einmal checken reicht…. bei den anderen kein permit am ende sodass dunno zurückkommt und postfix weitercheckt….“

    siehe: http://listi.jpberlin.de/pipermail/postfixbuch-users/2007-February/031854.html

    27.09.2007 @ 21:50


  4. Nigg

    hat jemand obige Config produktiv im Einsatz? Verbesserungen?

    27.06.2008 @ 00:48


Archiv
Kategorien
Suche