Postfix- SpamAssassin Bonus für SASL-Clients
Beim Scannen von Mails auf unerwünschten Inhalt kann nicht zuletzt wegen dynamischer IPs nur sehr schwer zwischen "Freund" und "Feind" unterschieden werden.Damit nun aber "gute" Benutzer, die den Mailserver legalerweise zum Versenden von Mails benutzen effektiv vom Spamscan ausgeschlossen werden können kann folgendes Verfahren angewendet werden:
Alle Clients, die sich erfolgreich per SASL authentifiziert haben werden mit einem Bonus von z.B. 10 Punkten belohnt. Eben um diese 10 Punkte wird dann der SpamAssassin- Score reduziert. Im Detail sieht das so aus: In die Datei /etc/mail/spamassassin/local.cf werden folgende Zeilen eingefügt:
header __NO_SMTP_AUTH X-SMTP-Auth =~ /^no$/Dies bewirkt, dass jede Nachricht, die die Header-Zeile "X-SMTP-Auth = no" NICHT enthält mit einem Score von -10 belegt wird. Nun muß man noch dafür sorgen, dass alle Nachrichten die durchs System laufen und von einem Absender stammen, der nicht per SASL authentifiziert ist mit eben dieser Header-Zeile versehen werden. Dies geschieht am einfachsten durch Postfix selbst. Hierzu wird in der main.cf z.B. der Block smtpd_data_restrictions wie folgt modifiziert:
meta SMTP_AUTH !__NO_SMTP_AUTH
describe SMTP_AUTH Message sent using SMTP Authentication
tflags SMTP_AUTH nice
score SMTP_AUTH -10
1. smtpd_data_restrictions =Die Datei add_auth_header.regexp enthält dann noch folgendes:
2. ...
3. permit_sasl_authenticated
4. check_client_access regexp:/etc/postfix/add_auth_header.regexp
5. ...
/^/ PREPEND X-SMTP-Auth: noNach Reload von SpamAssassin und Postfix arbeitet das System bereits.