Postfix – Antispam mit Greylisting / Postgrey

Hinweis: Wir haben in diesem Artikel möglicherweise Provisions-Links verwendet und sie durch (*) gekennzeichnet. Erfolgt über diese Links eine Bestellung, erhält maffert.net eine Provision. Es entstehen für Sie keine Nachteile beim Kauf oder Preis.

Greylisting ist eine Methode, die einen Absender zu mehreren Zustellversuchen „zwingt“. Der Absender schickt eine E-Mail und postgrey lehnt die mit einer temporären Fehlermeldung ab. Jeder „normale“ Mailserver probiert es ein weiteres mal und diesmal ist der Absender bekannt und die Mail wird zugestellt. Bereits bekannte Mailadressen sind nicht betroffen. Viele Spammer (Server und Botnetze) verschicken solche E-Mails nur einmal, da diese häufig nur normale SMTP Clients ohne Fehlerbehandlung sind oder die E-Mails einfach nur rausprügeln wollen, denn die Masse machts. Zwar werden die Server der Spammer mittlerweile auch immer besser (konfiguriert), dennoch bin ich der Meinung, dass es schon bei der ein oder anderen Spam E-Mail hilft! 😉

Greylisting durch das Tool „Postgrey“ aktivieren bzw. installieren:

  1. Das Postgrey Paket installieren:
    apt-get install postgrey
  2. überprüfen ob Postgrey schon läuft:
    netstat -tulpen | grep postgrey
  3. Postfix Konfiguration erweitern:
    Hierzu die Konfigurationsdatei von Postfix öffnen (nano /etc/postfix/main.cf) und bei „smtpd_recipient_restrictions =“ ein weiteren Eintrag „check_policy_service inet:127.0.0.1:10023,“ hinzufügen
    Das ganze kann dann in etwa so aussehen:

    smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_rbl_client dnsbl.inps.de,
    check_policy_service inet:127.0.0.1:10023,
    permit
  4. Postfix Konfigurationsdatei neu laden:
    /etc/init.d/postfix reload

Das wärs, nun sollte Postgrey die neuen E-Mails greylisten.

Feineinstellung:

In der Datei „/etc/default/postgrey“ kann man jetzt noch die Zeit ändern, ab der ein Absender beim zweiten Versuch akzeptiert wird. Ich empfehle derzeit aber noch die Standardzeit von 300 Sekunden stehen zu lassen, da dies äußert effektiv ist. Möchte man aber dennoch die Zeit ändern, dann brauch man einfach nur ein „–delay=150″ hinzufügen. Als Beispiel: POSTGREY_OPTS=“–inet=10023 –delay=150″. 10023 ist außerdem der Port! Den kann man natürlich auch den eigenen wünschten anpassen. Wenn irgendwelche Einstellugen geändert wurden, können die mit „/etc/init.d/postgrey restart“ aktiviert werden.

Überprüfung ob Postgrey überhaupt arbeitet:

Um zu überprüfen ob Postgrey bzw. das Greylisting auch funktioniert, sollte in der /var/log/mail.log Datei folgendes zu finden sein:

Nov 27 16:04:21 xxxx postgrey[17222]: action=greylist, reason=new, client_name=xxxx, client_address=xxxx, sender=xxxx, recipient=xxxx

Nov 27 16:04:22 xxxx postfix/smtpd[3760]: NOQUEUE: reject: RCPT from xxxx[xxxx]: 450 4.2.0 <xxxx>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/xxxx.html; from=<xxxx> to=<xxxx> proto=ESMTP helo=<xxxx>

Beim zweiten Zustellversuch (nach den z.B. 300 Sekunden), findet man dann folgende Meldung in der „mail.log“:

Nov 27 16:32:23 xxxx postgrey[17222]: action=pass, reason=triplet found, delay=607, client_name=xxxx, client_address=xxxx, sender=xxxx, recipient=xxxx

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert