Greylisting mit Postfix

Alle "verdächtigen" Absender und Clients sollen per Greylisting zurückgestellt werden. Alle "guten" werden direkt zugestellt.

Installation Postgrey

Postgrey laut Wiki installieren:

pacman -S postgrey

Der Service lauscht lokal am Port 10030. Eine anderer Port kann in der Service-Startdatei /lib/systemd/system/postgrey.service angegeben werden. Ebenso wie die Verzögerzungszeit (-delay).

Starten des Service:

systemctl enable postgrey
systemctl start postgrey

Konfiguration Postfix

Siehe https://arnowelzel.de/wp/greylisting-zur-spamvermeidung und http://spielwiese.la-evento.com/xelasblog/archives/59-Selektives-Greylisting-mit-Postgrey.html.

In main.cf:

smtpd_recipient_restrictions =
    ....
    check_client_access regexp:/etc/postfix/check_client_greylist
    ...

# Selektives Greylisting per Restriktionsklasse
smtpd_restriction_classes = check_greylist
check_greylist = check_policy_service inet:127.0.0.1:10030

Die Datei /etc/postfix/check_client_greylist anlegen und alle verdächtigen Clients per Regex filtern:

/^unknown$/                                                    check_greylist
/([0-9]{1,3}[.-]){3,4}[^0-9.]+/                                check_greylist
/^(dhcp|dialup|ppp|adsl|host|static|www|server|client)[^.]*[0-9]/       check_greylist
/^[^.]*[0-9]{5}/                                      check_greylist

Test

postmap -q "50-193-132-97-static.hfc.blablabusiness.net" regexp:/etc/postfix/check_client_greylist