Ein deutschsprachiges Unternehmen mit rund einem Dutzend Domains und einigen Dutzend Postfächern, etwa 600 externe Nachrichten am Tag
Ausgangslage
Die Nutzer meldeten zwei Probleme zugleich: Spam und Phishing kamen am Filter vorbei, und ein Teil der legitimen Post von Partnern wurde als Spam markiert. Frühere Versuche hatten eigene Regeln ergänzt und Punktzahlen erhöht, was beide Probleme verschärfte.
Die Umgebung: Debian 12, Postfix mit postscreen, Dovecot mit LMTP und Sieve, SpamAssassin 4.0 und amavis mit ClamAV.
Lösung
Daten statt Intuition. Die Kopfzeile, die der Filter jeder Nachricht hinzufügt, nennt die Regeln, die angesprochen haben. Über echte Post und mehrere Wochen Logs ausgewertet, zeigt sie, welche Erkennungsmechanismen arbeiten und welche schweigen. Keine Einstellung wurde ohne Beleg in diesen Daten geändert.
Die erste Reparatur beseitigte die Ursachen: DNS-Blacklists, die nie antworteten, eine vergiftete und fast leere Bayes-Datenbank, Autolernen, das dem Filter beibrachte, Phishing sei in Ordnung, Positivlisten für ganze Freemail-Domains und überzogene eigene Regeln. Als der Spam nach drei Monaten zurückkam, fand eine stundenweise Auswertung der Logs vergessene Cron-Aufträge und eine geschrumpfte Datenbank, und die Datenbank wurde im Hintergrund neu aufgebaut, ohne den Mailverkehr zu unterbrechen.
Ergebnisse
- Spam vor der Reparatur
- Als sauber bewertet, Median 1,1 Punkte bei einer Schwelle von 3,1
- Vom Bayes-Filter bewertet
- 100 % der Nachrichten nach der Reparatur, stundenweise geprüft
- Neu aufgebaute Bayes-Datenbank
- 5,3 Millionen Tokens, aus 47.828 Spam- und 110.302 legitimen Nachrichten
- Beispiel-Phishingmail
- Von −2,7 Punkten im Posteingang auf 9,1 Punkte im Spamordner
- Fehlalarme bei Newslettern von Partnern
- Keine nach der Reparatur
- Nächtliches Training
- Etwa 2 Minuten statt mehrerer Stunden