Spam aus Mails Filtern

Für wen gilt dies hier?

Die folgenden Hinweise gelten für alle Sites, die ihre Mail bekommen / abholen per
  • POP3 oder IMAP
Ein Teil der Hinweise - nicht alle, insbesondere nicht der Abschnitt Wie filtert man auf dem POP3/IMAP/Webmail Server? gilt auch für Teilnehmer mit folgener Mailzustellungsart:
  • UUCP
  • direkter SMTP Auslieferung über unsere Mailserver reh / reh2 / methan mit verlängerten Aufbewahrungszeiten.
Bei allen 3 obengenannten Zustellungsarten läuft die Mail über unsere Posteingangsserver (MXer), wo die Bewertung durch Spamassassin stattfindet.

Teilnehmer, deren eigener Rechner im DNS als zuständiger Mailserver (MX) eingetragen ist, betrifft dies nicht, da deren eingehende Mail gar nicht über unsere Mailserver läuft.

Was tut SpamAssassin bei IN-Berlin?

Wir setzen auf unserem Mailserver SpamAssassin ein. Alle(*) eingehenden Mails werden durch ein umfangreiches, trainierbares Regelwerk bewertet. In den ausgelieferten Mails befinden sich dann zusätzliche Headerzeilen wie
X-Spam-Score: *** (3.506) BAYES_50,FORGED_RCVD_HELO,RCVD_NUMERIC_HELO,WORK_AT_HOME
Die Zahl der Sternchen entspricht der "Punktzahl", die dahinter angegeben ist, danach sind die Tests aufgeführt, die zu dieser Bewertung geführt haben. Die Kopfzeilen (Header) können sowohl auf dem POP3/IMAP/Webmail Server als auch beim Empfänger ausgewertet werden. Wir lassen keine sonst bei SpamAssassin übliche Zeile X-Spam-Flag: YES einbauen, da wir die Entscheidung, ab welcher Punktzahl eine Mail als Spam angesehen werden soll, den einzelnen Teilnehmern überlassen wollen.

Andere Formen der Spam-Markierung verwenden wir seit August 2006 nicht mehr.

Wo kann man den Spamfilter für sich filtern lassen?

Alle, deren eingehende Mails über unsere Mailserver gehen, können auf

https://service.in-berlin.de/intern/config.cgi?command=editspamfilter

die Filter für ihr eigenes Postfach oder für die gesamte Site einstellen. Bei POP3/IMAP Empfängern geht dies auch sehr spezifisch für einzelne Adressen.

Die Spamfilter wirken auch auf Mailweiterleitungen.

Folgende "Reaktionen", abhängig vom "X-Spam-Score", sind möglich:
  • Mail annehmen
  • Mail in Spamordner verschieben (nicht bei Empfang per UUCP oder direkter SMTP Auslieferung)
  • Mail ablehnen (Absender bekommt i.d.R. mit, wenn die Mail abgelehnt wurde: "rejected by policy")
  • Mail wegwerfen

Daraus folgt sofort die
Warnung vor überlaufenden Postfächern: wer Mails immer nur per POP3 abholt, "sieht" Spam nicht, der in den Ordner "spam" verschoben wird, aber die unerwünschten Mails verbrauchen trotzdem Speicherplatz. Der Spamordner wird automatisch angelegt, sofern er nicht bereits existiert.

Abhilfe: Zugriff per IMAP (abhängig vom verwendeten Programm muß der Ordner "spam" (oder "INBOX.spam") evtl. erst "abonniert" werden, damit er sichtbar wird) oder per https://webmail.in-berlin.de/ .

zusätzliche Maßnahmen gegen Spam (Black- und Whitelisting)

(gilt auch für UUCP sites)
Black- und Whitelists beziehen sich auf Empfängeradressen, sie haben an dieser Stelle nichts mit Absenderadressen zu tun. Nicht wenige bekommen Spam an Adressen wie eip9iema@sitename.in-berlin.de. Die kann man gleich zurückweisen lassen. Einzustellen ist dies auf der Webseite zur "Konfiguration der eigenen IN-Berlin-Site": https://service.in-berlin.de/intern/config.cgi?command=editcatch . Dies könnte dann z.B. so aussehen:

  • Whitelist:
    • willichhaben@sitename.in-berlin.de
    • willichauchlesen@sitename.in-berlin.de
    • mein.name@sitename.in-berlin.de
    • postmaster@sitename.in-berlin.de

  • Blacklist: sitename.in-berlin.de

  • automatisch "whitelisted" werden
    • Mailweiterleitungen
    • POP3/IMAP Postfächer
    • Adressen von Mailinglisten

Damit werden nur noch die Adressen willichhaben@sitename.in-berlin.de, willichauchlesen@sitename.in-berlin.de, mein.name@sitename.in-berlin.de, postmaster@sitename.in-berlin.de für sitename.in-berlin.de angenommen. Statt sitename.in-berlin.de kann hier auch eine eigene Domain stehen, für die unsere Server Mail annehmen. Es werden natürlich nur zu einer Site gehörende Adressen akzeptiert.

Die Blacklist enthält vollständige Adressen oder Domains, für die keine Mail angenommen werden soll.

Die Whitelist enthält vollständige Adressen oder Domains, für die Mail angenommen werden soll.

Wenn für eine Empfängeradresse Einträge aus beiden Listen zutreffen, "gewinnt" die Whitelist, d.h. die Mail wird angenommen.

Mail für angelegte zusätzliche POP3/IMAP Postfächer, Mailaliases und Mailinglisten wird auf jeden Fall angenommen; diese müssen nicht extra in der Whitelist aufgeführt werden (siehe oben).

Meldungen über zurückgewiesene Mails enthalten den Text
   ----- The following addresses had permanent fatal errors -----
<unerwuenscht@sitename.in-berlin.de>
    (reason: 550 5.2.1 <unerwuenscht@sitename.in-berlin.de>... Mailbox disabled for this recipient)
und werden nicht vom IN-Berlin, sondern von dem Mailserver versandt, der versuchte, die Mail bei den zuständigen IN-Berlin Mailservern (MXer) einzuliefern.

postmaster@sitename.in-berlin.de

  • An diese Adresse gehen normalerweise die Kontostände und andere wichtige Meldungen von IN-Berlin (z.B. Trafficwarnungen für DSL-Teilnehmer) - das können wir bei Bedarf auch anders einstellen.
  • Anfragen von Administratoren anderer Mailserver bei Problemen gehen normalerweise auch an die Adresse postmaster@(sub)domain .

Wenn der Spamfilter zu grob ist: (weiter) filtern mit Websieve

Dieser Abschnitt gilt nur für Sites, die ihre Mail per POP3 oder IMAP abholen (also nicht per UUCP oder per direkter SMTP Auslieferung).

Die folgenden Hinweise sind weiterhin richtig, aber in den meisten Fällen geht es inzwischen komfortabler und einfacher mit dem neuen Spamfilter-Webinterface. Die o.g. Spamfilterregeln werden zuerst abgearbeitet, bevor die in diesem Abschnitt genannten Regeln wirksam werden.

Mail über Mailinglisten bei IN-Berlin kann mit diesen Methoden "nachgefiltert" werden, wenn der Mailinglistenbetreiber weniger streng filtert.

Einen Filter mit Websieve, der Spam in eine spezielle Mailbox filtert, legt man folgendermaßen an:

IMAP-Ordner für Spam anlegen

Bevor der Filter selbst angelegt wird, muß ggf. ein IMAP-Mailordner angelegt werden, in den spamverdächtige Mails verschoben werden sollen (empfohlen, besonders in der Testphase sollte man nicht gleich alles wegwerfen).

Dies geht mit dem IMAP-fähigen eigenen Mailprogramm oder über https://webmail.in-berlin.de/ (wichtig: Ordner unterhalb INBOX anlegen!). Letzteres geht so:

  • Login auf https://webmail.in-berlin.de/ mit Daten des zu filternden Postfachs. (Also als sitename oder sitename_postfach, siehe Erläuterungen auf der Login-Seite.)
  • "Aufgaben" können diesmal übersprungen werden, falls welche angezeigt werden.
  • Gehe ggf. aus der Übersicht zu "webmail".
  • Mit dem Knopf "Ordner" (oben in der Leiste dritter von links) wird die LIste der Mailordner angezeigt.
  • das kleine Pluszeichen links von "INBOX" anklicken - Ordner innerhalb INBOX werden angezeigt.
  • ein Häkchen vor INBOX setzen
  • in Aktion auswählen" den Punkt "Ordner anlegen" klicken, Namen des neuen spam-ordners eintippen
  • OK klicken.

Jetzt steht ein Ziel für zu verschiebenden Spam zur Verfügung, und der Filter kann angelegt werden:

Sieve-Filter für Spam definieren

Login auf https://webmail.in-berlin.de/websieve mit Sitenamen oder site_mailbox und dem ensprechenden POP3/IMAP Passwort für die Site oder die Mailbox.

Im "Script Mode: basic"

(dieser ist standardmäßig eingestellt, gilt also für fast alle)

Neue Regel definieren (eigene Eingaben sind kursiv geschrieben, alternativ kann man dies auch in einem Screenshot ansehen)

[x] Use regular expressions

IF ... Field name X-Spam-Score contains [*]{6,}

THEN (x) File into [Mailbox für Spam auswählen]

oder

(x) Discard (verwerfen) (Vorsicht, gelöscht ist gelöscht!)

Im "Script Mode: advanced"

(für Sieve-Experten, die dies eingestellt haben. Alle anderen haben Script Mode "basic")
require ["fileinto", "regex"];
if header :regex  "X-Spam-Score" "[*]{6,}" {
     fileinto "INBOX.SPAM";
}
else {
     keep;
}
Mit der Zahl (hier: 6) wird die Schwelle, aber der Spam erkannt wird, eingestellt. Die Mailbox muß existieren, sonst landet die Mail trotz Filter in der INBOX. Weitere Regeln sind als elsif Blöcke ensprechend einzubauen, alle require Anweisungen gehören an den Beginn des Scripts.

feinere Siebe - Anregungen

Es lassen sich auch das Filtern in einen anderen Mailordner und das Löschen kombinieren: z.B. ab Score=4 verschieben, ab Score=12 löschen. Die Lösch-Regel muß in diesem Fall als erste kommen, da der kleinere Score auch auf Mails mit Score>=12 zutrifft.

Ein Ablehnen von Mail wird an dieser Stelle nicht empfohlen, da die Mail aus der Sicht des SMTP Protokolls bereits als zugestellt gilt. Deshalb werden solche sogenannten late bounces von vielen Mailserverbetreibern mißbilligt.

Filtern mit procmail

Wer einen eigenen lokalen Mailserver betreibt, kann auch procmail verwenden und die oben beschriebenen Headerzeilen selbst auswerten. ... bitte fortsetzen!

Hier ein Ausschnitt aus einer .procmailrc-Datei:

:0:
* ^X-Spam-Score: \*\*\*\*
junk

:0:
* ^X-Spam-Score: \*\*
junk-check

Damit werden beispielsweise alle E-Mails mit einem Score von 4 oder größer in einem eigenen E-Mail-Ordner junk gespeichert, während E-Mails mit einem Score von 2 oder 3 in einem Ordner junk-check gespeichert werden. E-Mails lassen sich ganz wegwerfen, indem statt junk oder junk-check /dev/null angegeben wird.

Links / Quellen

Anmerkungen

(2006-08-17) Vor einiger Zeit hatten wir Inkonsistenzen in der Spambehandlung auf den verschiedenen am Mailverkehr beteiligten Servern festgestellt. Diese sind mittlerweile behoben, so dass die Mails auf allen Rechnern mit den gleichen Regeln begutachtet werden. In diesem Zusammenhang sind einige Fehleinträge bereinigt worden, so dass u.U. auch die Regeln des Mailprogramms angepasst werden müssen. Die Spam-Markierung in der oben gezeigten Form ist die verbindliche Form und sollte sich auch in Zukunft nicht ändern.

-- Main.OlAf - 20 Oct 2007

Userdoc.DocumentationForm edit

Title Spam-Mails Filtern
Type HowTo
Classification Mail
QuickFind yes
Keywords Mail, Spam, procmail, sieve, websieve, IMAP, POP3, UUCP, webmail, Spamassassin,
Topic revision: 2010-07-08, OlAf

  • QuickFind



 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding IN-Berlin Public Wiki? Send feedback