Spam Assassin ist ein sehr effektiver Spam Filter. Leider bietet Plesk keine Möglichkeit wichtige Kontakte automatisch auf die Whitelist von Spam Assassin zu setzen. So besteht die Gefahr, dass eingehende Mails im Spam-Filer landen oder bei entsprechender Einstellung sogar gelöscht werden. Das folgende Skript ergänzt Spam Assassin unter Plesk um genau eine Auto Whitelisting Funktion.

Cleveres Auto Whitelisting für Spam Assassin unter Plesk

Whitelisting sollte „smart“ sein. Es sollte unterscheiden, ob die ausgehende Mail eine Nachricht an einen persönlichen Kontakt  oder einfach nur eine Autoresponder-Mail ist. Der Autoresponder von Plesk unterscheidet nicht zwischen Kontakten und Spam Mails, die es durch den Spam-Filter geschafft haben. So würden bei aktivem Autoresponder auch Spam-Versender auf der Whitelist landen.

Da das Skript die Logdateien von Postfix verwendet, müssen hier einige Vorbereitungen getroffen werden, um normale Mails von Autoresponder Mails zu unterscheiden.
Dies geschieht anhand der Betreffs (Mail Subject) der ausgehenden Mails.

Hierzu wird in Plesk der Betreff  des Autoresponders mit dem Zuatz „(Auto-Reply)“ versehen:

magicspam-autoreponder

Da Postfix normalerweise keine Mail Subject-Info in die Logdateien schreibt, muss die Konfiguration von Postfix wie folgt angepasst werden:

Unter /etc/postfix/main.cf wird folgende Zeile angehängt:

Danach erstellen wird eine neue Datei namens /etc/postfix/header_checks mit folgendem Inhalt:

Nun starten wir Postfix über folgenden Befehl neu:

Das Auto-Whitelisting Skript für Spam Assassin

Das Auto Whitelsiting Skript filtert nun die Postfix Log-Dateien. Die Empfänger-Adressen ausgehender Mails werden in eine Textdatei geschrieben. Autoresponder Mails werden dabei aussen vor gelassen. Danach werden mehrfach vorkommende Einträge aus der Textdatei entfernt und die verbleibenden Einträge über den entsprechenden Befehl in die Whitelist Tabelle der Plesk Datenbank geschrieben.

Um zu vermeiden, dass die eigene Adressen auf die Whitelist von SpamAssassin gelangen, können diese über „EXCLUDE“ gefiltert werden. Das ist wichtig um Spam-Versender, welche domain-eigene Adressen als Absender vortäuschen (Spoofing9 nicht per Whitelist an SpamAssassin vorbei kommen.

Das Skript sollte stündlich per Plesk Taskplaner aufgerufen werden.

Plesk: Limit für Spam Assassin’s Whitelists und Blacklists erhöhen

Im laufenden Betrieb kommt es hin und wieder vor, dass man über das PLESK Backend Mailadressen manuell auf die SpamAssassin Whitelist oder Blacklist setzen möchte. Hier stösst man jedoch schnell an die Grenzen von PLESK, denn die Anzahl der manuellen Einträge ist auf 100 bzw. 150 Adressen limitiert.

Mit den folgenden Befehlen lässt sich dieses Limit auf 10.000 Einträge erhöhen:

Danach erhält man ein mysql> Prompt und gibt folgendes ein:

Nach Ausführung verlässt man MySQL mit