Spamassassin auf trash.net


Von Roman (romanf auf trash.net)


Leider wirst du auch als Mitglied nicht magisch von lästigen Spam E-Mail verschont. Wir bieten aber unter anderem Spamassassin als eine Möglichkeit, der Spam-Flut paroli zu bieten. Spamassassin ist sehr mächtig, hier erklären wir nur, wie du es aktivierst. Weitergehende Artikel gibts im Internet.

Hinweis: Die Mailinglisten von trash.net sind bereits mit Spamassassin getaggt, und müssen nicht nochmals Spamassassin durchlaufen.

Grundsätzliche Arbeitsweise von Spamassassin auf trash.net

Spamassassin wird bei uns auf zwei unterschiedlichen Pfaden aktiviert:

Pfad A) Wenn du im Self-Service unter Viren- & Spamschutz den Punkt "Check auf Spam" aktivierst, dann wird Spamassassin mittels Amavis die eingehenden E-Mail prüfen. Da Amavis innerhalb von Postfix eingreift, wird auf diesem Weg Spamassassin aktiv, bevor die E-Mail in dein Postfach ausgeliefert wird. Das hat zwei markante Effekte:

  • Selbst wenn du mittels Weiterleitung die E-Mail an ein anderes Postfach schickst, wird trotzdem Spamassassin ausgeführt (praktisch, gäll?).
  • Da Amavis Spamassassin im System-Kontext ausführt, werden nur die Konfigurations-Optionen aus dem Self-Service betrachtet. Eine vollständige Konfiguration über user_prefs ist in diesem Pfad nicht möglich (tja, chasch nid alles ha!).

Zu beachten ist bei Amavis zudem: Amavis markiert ein E-Mail als Spam und stellt sie zu, wenn der Score höher als der im Self-Service konfigurierte "Grenzwert für Tags im Betreff" ist. Wenn der Score aber über den "Grenzwert um Spam zu löschen" kommt, dann wird die E-Mail
gefiltert und in /var/lib/amavis/virusmails abgelegt (sprich, die E-Mail kommt nicht bis zu dir!). Wenn du dies nicht willst, dann musst du den Grenzwert entsprechend hoch setzen (z.B. 200).

Im Prinzip kann man sich Amavis wie einen MTA vorstellen, der im Mailrouting drin sitzt und filtert - unabhängig davon, ob der Empfänger
lokal ist. Daher ist dies nützlich für alle mit einer Mailweiterleitung sowie den virtuellen Mailboxen.

Amavis greift auch für alle virtuellen Maildomains. Die Konfiguration von virtuellen E-Mail Postfächern wird über Phamm gemacht.

Pfad B) Wenn eine E-Mail in dein Postfach ausgeliefert wird (also Pfad A passiert hat), dann kommt procmail zum Zug. Dies impliziert auch, dass procmail nur für lokal zustellbare E-Mail greifen kann. Wird Spamassassin durch ein procmail-Rezept aufgerufen, dann läuft Spamassassin unter deiner UID und kann somit auch per user_prefs konfiguriert werden.

Dies ist sinnvoll für alle, die volle Kontrolle haben möchten und sich die Mails lokal zustellen lassen.

Achtung: Eine aktivierte Weiterleitung per .forward oder mittels Einstellung im Self-Service zählt nicht als lokal zustellbar. Da wird nur Amavis durchlaufen.

Aktivieren von Spamassassin (Pfad B)

Wenn du dich bereits mit Procmail auskennst, dürfte das ein Kinderspiel sein, ansonsten wird noch ein bisschen Zeit für das Einarbeiten in Procmail draufgehen. Die Anleitung richtet sich vorallem an Procmail-Einsteiger.

Als ersten Schritt erzeugen wir eine minimal brauchbare procmail config, welche so aussieht:

MAILDIR=$HOME/Maildir/
PMDIR=$HOME/.procmail
LOGFILE=$PMDIR/log
DEFAULT=$HOME/Maildir/ # sort out pre-tagged listmails :0 * ^List-Id:.*trash.net.* * ^X-Spam-Status: Yes $HOME/Maildir/.caughtspam/ # deliver listmails :0 * ^List-Id:.*trash.net.* $DEFAULT # Pipe Mails to spamassassin :0fw | /usr/bin/spamassassin # send spam to spambox :0 * ^X-Spam-Status: Yes $HOME/Maildir/.caughtspam/ # send all other mails to inbox :0 $DEFAULT

Das speicherst du nun als ~/.procmailrc ab.

Wichtig: Die Verzeichnisse ~/.procmail und ~/Maildir müssen existieren. Das Verzeichnis ~/Maildir/.caughtspam/ macht Procmail selber! Falls vorhanden, musst du noch dein ~/.forward löschen.

Spamassassin trainieren

Damit du den Bayes-Filter von Spamassassin mit deinen eigenen Ham- und Spam-Mails trainieren kannst, haben wir auf access1 und access2 das Tool "sa-learn" installiert. Details dazu gibt's hier.

Weiterführende Links: