Stoppt die Vorratsdatenspeicherung! Jetzt klicken &handeln! Willst du auch an der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:
Toppoint - Logo

Startseite
Der Verein
Angebot
Veranstaltungen
Info/FAQ
• Kurzinfo (Zugangsdaten)
• Umstellung
• Shell-Info
• eMail-Info
  • Übersicht
  • EMail-Clients
  • Clients konfigurieren
  • Spam-Schutz
  • PGP-Signaturen
  • FAQ
• Internet-Info
• Homepage-Info
• Nützliche Programme
• Wer macht Was?
• Systemstatus
• FAQ
Mitglieder-Bereichmember area
Impressum
Gästebuch
Suche
Sitemap

Druckversion

Suche:

Für Toppoint-Mitglieder

User:

Passwort:


(SSL)
Hilfe ?

Die Mailfilter der Toppoint

Carsten Ehlers, 15.5.2003

Inhalt:

  1. EMail-Spam
  2. Globale Mail-Filter
  3. weitere Filtermöglichkeiten für User
    1. Konfiguration vom Spamassassin
    2. Konfiguration von Procmail
    3. Aussortieren von Spam mit spamassassin und procmail

1.) EMail-Spam

Als EMail-Spam bezeichnet man heute alle möglichen Formen von unerwünschter EMail. Der Begriff Spam tauchte als erstes im UseNET auf als Bezeichnung für massenhafte Werbe-Postings quer durch alle Newsgruppen.

Bei EMails spricht man auch von

UCE: unsolicited commercial email : unerwünscht Werbe-Email
UBE: unsolicited bulk email : unerwünschte Massen-Email

Die EMail-Spammer sammeln EMail-Adressen häufig aus Newsbeiträgen, indem sie die From:- (manchmal auch Reply-To:-) Zeile auswerten oder über Roboter, die Webseiten nach EMail-Adressen scannen. Ist eine EMail-Adresse erst einmal in Spammer-Listen drin, so ist es unmöglich, sie wieder "spamfrei" zu bekommen. Dafür sorgen auch sog. Adresshändler, die ihre Adressenlisten an Spammer weiterverkaufen.

Auf keinen Fall sollte man auf Spam-Mails antworten oder die dort angegebene Webseite aufrufen. Noch schlimmer ist es, einem "REMOVE"-Aufruf zu folgen, denn dadurch kann der Spammer feststellen, dass die EMail-Adresse exisitert und gelesen wird. Das macht die Adresse für ihn nur noch wertvoller.

Die rechtliche Seite von EMail-Spam ist derzeit ziemlich ungeklärt. Die deutschen Gerichte bewegen sich da in einer Grauzone, ein Gericht erklärt EMail-Spam nach dem Gesetz gegen den unlauteren Wettbewerb für unrechtlich, ein anderes Gericht erklärt ihn für grundsätzlich zulässig. Das betrifft aber auch nur Spam, der aus Deutschland kommt - der absolut gesehen, kaum ins Gewicht fällt. Der meiste Spam kommt über Länder, die gar keine Anti-Spam-Gesetze haben.

Als Privatmensch kann man Spam leider nur sehr begrenzt bekämpfen. Man hat die Möglichkeit, den Spam auszufiltern, damit man ihn nicht sieht. Oder man untersucht den EMail-Header einer jeden Spammail und beschwert sich dann beim Postmaster des entsprechenden Providers. Letzteres erfordert aber einiges an Wissen um die EMail-Verteilung und EMail-Header und erfordert einiges an Detektivarbeit. Das Filter ist zwar schön und gut (endlich sehe ich kein Spam mehr), aber damit ist er ja nicht weg. Im folgenden werde ich kurz beschreiben, welche Möglichkeiten zur Email-Spam-Filterung es auf der Toppoint gibt.

2.) Der globale EMail-Filter

Der globale EMail-Filter läuft auf unserem Haupt-Mailserver und über ihn lässt sich schon der Empfang von EMails durch den Mailserver unterbinden.

Der Filter bekommt 3 Informationen:

  • der einliefernde Host, der die EMail sendet
  • die Absender-Adresse der EMail
  • die Empfänger-Adresse der EMail.

Mit Hilfe dieser 3 Kriterien lassen sich Regeln definieren, nach denen eine EMail angenommen und abgelehnt wird.

So lassen sich z.B. relativ einfach Mails ausfiltern, die

  • über sog. offene 3rd-party-Relays eingeliefert wurden, d.h. über Mailserver, die Mails von überall annehmen und Mails überallhin weiterleiten. (Ein korrekt kofigurierter Server nimmt nur Mails für seinen Bereich an bzw. leitet sie nur in seinen Bereich weiter.)
  • Mails, die z.B. über Server aus Korea oder China eingeliefert werden. Viele Server dort sind unzureichend geschützt, so dass von dort praktisch "nur" Spam kommt.
  • Mails, die als Absender z.B. @hotmail.com haben, aber nicht über deren Mailserver ausgeliefert wurden. Auch diese sind häufig Spam, da die Spammer ihre Absenderadresse meist fälschen (z.B. auf hotmail), aber dann deren Mailserver nicht benutzen dürfen.

Was der Filter nicht kann, ist in den Header oder gar den Inhalt der EMail reinschauen, da diese die Toppoint gar nicht erreichen. Damit kann also nicht nach bestimmten Schlagworten im Subject oder Inhalt der Mail gefiltert werden. Wer dieses möchte, sollte im Abschnitt 3 weiterlesen.

Dieser Mailfilter ist für jeden der Toppoint nutzbar. Wer dort eingetragen werden will, schickt bitte eine EMail an . Wer in den Filter eingetragen ist, dessen Mails werden nach unseren Standard-Filterregeln gefiltert und er bekommt wöchentlich eine Auflistung aller für ihn abgelehnten EMails. Daran kann er erkennen, welche Mails abgelehnt wurde und ggf. zu unrecht abgelehnte Mails erkennen (das passiert in 1-2% der Fälle). Dann können wir aber für jeden Nutzer einzeln Ausnahmen definieren, so dass diese EMail beim nächsten Mal den Mailfilter passieren kann. Die Standard- Filterregeln können also für jeden eingetragenen Nutzer noch angepasst werden (sowohl zusätzliche Filter, als auch Ausnahmen vom Standard- Filter). Wer dies wünscht, muss uns das unter der oben angegebenen Adresse schicken.

3.) weitere Filtermöglichkeiten für User

Jeder User hat die Mögichkeit anstatt oder zusätzlich zum globalen Mailfilter sich eigene Filterregeln zu definieren. Das ist allerdings nicht ganz so einfach, da sollte man schon etwas sicher sein im Umgang mit der Unix-Shell und einem Unix-Editor.

Die EMail, die für einen User auf unserem Mailserver ankommen, müssen dann in sein Postfach gelegt werden. Dazu ist das Programm procmail zuständig. Procmail kann aber noch mehr als nur Emails vom Mailserver annehmen und ins Postfach legen. Entsprechend konfiguriert, kann es auch als Mailfilter eingesetzt werden.

Ein weiteres System, dass zusammen mit procmail eingesetzt werden kann, ist der SpamassassinSpamassassin. Der Spamassassin ist ein Filter, der dann Deine EMail auf bestimmte Schlagworte im Header und Body untersucht, anhand seiner Regeln einen sog. Spam-Level für diese Mail errechnet und das Ergebnis in den Header schreibt. Damit wird die Mail nur gekennzeichnet, aber nicht aussortiert. Das muss man dann mit procmail erledigen.

Hier mal Aussschnitte einer Mail, die vom Spamassassin als Spam deklariert wurde:

  • In des Subject wurde *****SPAM***** eingefügt
  • Die Zeile X-Spam-Status: Yes, hits=8.5 required=5.0 wurde gesetzt
  • Die Zeile X-Spam-Flag: YES wurde gesetzt
  • Die Zeile X-Spam-Level: ******** wurde gesetzt.
d.h. die Mail hat insgesamt 8.5 Spampunkte bekommen, 5.0 waren nötig, damit sie als Spam gekennzeichnet wird (per Config einstellbar s.u.). Die Spamkennzeichnung wird durch die beiden Headerzeilen X-Spam-Flag, X-Spam-Level und das Subject-Rewriting gesetzt. Die Anzahl der Sterne in X-Spam-Level entspricht der Zahl der Spampunkte (ganzzahliger Wert)

An den Beginn der Mail wird ausserdem eine genaue Auswertung der gefunden Spam-Schlagworte angegeben. (Nähere Informationen darüber findet man unter http://www.spamassassin.org/http://www.spamassassin.org/).

From: "DR  TONY COLE" <>
Reply-To: 
To: 
Date: Fri, 16 May 2003 08:57:25 -0700
Subject: *****SPAM***** PLS VERY URGENT
X-Mailer: Microsoft Outlook Express 5.00.2919.7000
Content-Length: 2280
Lines: 27
X-Spam-Status: Yes, hits=8.5 required=5.0
        tests=DATE_IN_FUTURE_06_12,DEAR_SOMETHING,MSG_ID_ADDED_BY_MTA_2,
              NIGERIAN_TRANSACTION_1,NIGERIAN_TRANSACTION_2,
              SPAM_PHRASE_01_02,SUBJ_ALL_CAPS,SUPERLONG_LINE,URGENT_BIZ,
              USER_AGENT_OE,US_DOLLARS,US_DOLLARS_3
        version=2.43
X-Spam-Flag: YES
X-Spam-Level: ********
X-Spam-Checker-Version: SpamAssassin 2.43 (1.115.2.20-2002-10-15-exp)

SPAM: ——————-- Start SpamAssassin results ———————-
SPAM: This mail is probably spam.  The original message has been altered
SPAM: so you can recognise or block similar unwanted mail in future.
SPAM: See http://spamassassin.org/tag/ for more details.
SPAM:
SPAM: Content analysis details:   (8.50 hits, 5 required)
SPAM: USER_AGENT_OE      (0.2 points)  X-Mailer header indicates a non-spam MUA
SPAM: US_DOLLARS         (2.0 points)  BODY: Nigerian scam key phrase (million dollars)
SPAM: DEAR_SOMETHING     (1.8 points)  BODY: Contains 'Dear (something)'
SPAM: URGENT_BIZ         (1.1 points)  BODY: Contains 'URGENT BUSINESS'
SPAM: NIGERIAN_TRANSACTION_2 (0.6 points)  BODY: illegal Nigerian transactions (2)
SPAM: US_DOLLARS_3       (0.4 points)  BODY: Nigerian scam key phrase ($NN,NNN,NNN.NN)
SPAM: NIGERIAN_TRANSACTION_1 (0.2 points)  BODY: illegal Nigerian transactions (1)
SPAM: SPAM_PHRASE_01_02  (0.5 points)  BODY: Spam phrases score is 01 to 02 (low)
SPAM:                    [score: 1]
SPAM: SUPERLONG_LINE     (0.0 points)  BODY: Contains a line >=199 characters long
SPAM: DATE_IN_FUTURE_06_12 (1.1 points)  Date: is 6 to 12 hours after Received: date
SPAM: SUBJ_ALL_CAPS      (0.5 points)  Subject is all capitals
SPAM: MSG_ID_ADDED_BY_MTA_2 (0.1 points)  'Message-Id' was added by a relay (2)
SPAM:
SPAM: ——————-- End of SpamAssassin results ———————

[Rest der Mail]

Und als Gegenbeispiel eine "gute" Mail. Sie enthält nur die Header-Zeile X-Spam-Status: No, hits=0.5 required=5.0 und X-Spam-Level ohne Sterne.

Date: 16 May 2003 03:51:00 +0100
From: 
To: 
Subject: xxxxxxxxxxxxxxxxxxx
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Length: 867
Lines: 25
X-Spam-Status: No, hits=0.5 required=5.0
        tests=SIGNATURE_SHORT_DENSE,SPAM_PHRASE_00_01
        version=2.43
X-Spam-Level:

3.1 Konfiguration vom Spamassassin

Das Standard-Verhalten des Spamassassin kann sich jeder anpassen. Dafür ist eine Datei 'user_prefs' im Verzeichnis .spamassassin (der Punkt gehört zum Namen) im eigenen Homedir nötig:

- Verzeichnis erstellen:

mkdir .spamassassin
cd .spamassassin


- Konfigdatei anlegen

joe user_prefs

oder einen anderen Editor Deiner Wahl: jove, vi, … In diese Datei kann man dann bestimmte Konfiguration-Variabeln setzen, z.B.

# SpamAssassin user preferences file.  See 'man Mail::SpamAssassin::Conf' for
# details of what can be tweaked.
#*
#* Note: this file is not read by SpamAssassin until copied into the user
#* directory. At runtime, if a user has no preferences in their home directory
#* already, it will be copied for them, allowing them to perform personalised
#* customisation.  If you want to make changes to the site-wide defaults,
#* create a file in /etc/spamassassin or /etc/mail/spamassassin instead.
###########################################################################

# Wieviele Punkte sind nötig, damit eine Mail als Spam gekennzeichnet wird.
required_hits           5

# Soll das Subject geändert werden: 1=ja, 0=nein
# 2.64 rewrite_subject         1

# Wie soll das Subject geändert werden: Einfügen von [SPAM: <<Spampunkte>>]
# z.B. [SPAM: 8.5]
# 2.64 subject_tag             [SPAM: _HITS_]

# 3.0 Subject-Änderung:  Einfügen von [SPAM: <<Spampunkte>>]
rewrite_header Subject [SPAM: _SCORE_]

# Schreibe den Spam-Report in den Header der Mail (=1) oder in den Body (=0)
#report_header           1

# Benutze kurzen Report: 1=ja, 0=nein
#use_terse_report        1

Es ist aber genauso möglich, keine Konfig-Datei zu benutzen, dann gelten die Standard-Werte.

3.2 Konfiguration von Procmail

Die Konfiguration von procmail ist nicht ganz so einfach. Genaue Informationen und Anleitungen findet Ihr in den Manual-Pages zu procmail, erreichbar mit:

man procmailrc
man procmailex

Seine Weiterleitungsregeln schreibt man in eine Datei .procmailrc in sein Homeverzeichnis. Hier mal ein Beispiel für eine einfachere .procmailrc, die alle Mails durch den Spamassassin schickt. Damit werden alle Email erst einmal nur gekennzeichnet, aber noch nicht aussortiert.

Wenn Ihr Mails mit Outlook, Netscape oder anderen EMail-Programmen per POP3 abholt, so könnt Ihr in diesem Programmen dann Filterregeln definieren, die solche gekennzeichneten Mails aussortieren. Sie müssen aber trotzdem alle 'runtergelanden' werden.

Wie man sie schon vorher auf der Toppoint aussortiert, könnt Ihr dann im nächsten Abschnitt nachlesen.

Eine Beispiel-.procmailrc
########################################################################
# Kennzeichnen von SPAM
########################################################################

# Filter die Mail mit spamassassin
# Die Bedinung sichert, dass nur Mails kleiner als 250kB
# (250*1024 = 256000 Bytes) verarbeitet werden. Der meinste
# Spam ist nicht größer als ein paar k und das Verarbeiten von
# wirklich grossen Emails kann spamassassin auf die Knie zwingen.
:0fw
* < 256000
* ! X-Spam-Status:
| /usr/bin/spamassassin


# Ein procmail bug: Manchmal wird das "F" in "From" verloren. Ist dies
# der Fall, wird es wieder zugefügt.
:0 H
* ! ^From[ ]
* ^rom[ ]
{
  :0 fhw
  | sed -e 's/^rom /From /'
}

Dieses Beispiel könnt Ihr also als Eure .procmailrc so benutzen, im Mails als Spam markieren zu lassen.

3.3 Aussortieren von Spam mit spamassassin und procmail

In diesem Beispiel seht Ihr, wie Ihr Mails, die vom spamassassin als Spam gekennzeichnet wurden, mit Hilfe von procmail aus Euren Postfach aussortieren könnt.

WICHTIG:
Diese Mails könnt Ihr nicht mehr mit Hilfe Eures Mail-Clients per POP3 nach Hause runterladen. Um diese zu Lesen müsst Ihr Euren Mailclient auf IMAP umstellen oder Euch direkt per ssh auf online.toppoint.de einloggen und die Mails mit Hilfe des Mailreaders mutt lesen.

  1. Konfiguriere Spamassassin nach Punkt 3.1
  2. Lege ein Verzeichnis Mail in Deinem Homedir an, wenn es noch nicht existiert:

    cd ~
    mkdir Mail


  3. Benutze die folgende .procmailrc:
    # Setze Deinen eigenen Loginnamen in die nächste Zeile
    ME=calle
    MAILDIR=/home/$ME/Mail
    
    ########################################################################
    # Kennzeichnen von SPAM
    ########################################################################
    
    # Filter die Mail mit spamassassin
    # Die Bedinung sichert, dass nur Mails kleiner als 250kB
    # (250*1024 = 256000 Bytes) verarbeitet werden. Der meinste
    # Spam ist nicht größer als ein paar k und das Verarbeiten von
    # wirklich grossen Emails kann spamassassin auf die Knie zwingen.
    :0fw
    * < 256000
    * ! X-Spam-Status:
    | /usr/bin/spamassassin -a
    
    # Alle EMails, die als Spam gekennzeichnet wurden, werden in den
    # Mailfolder /home/<<login>>/Mail/spam verschoben.
    # is moved to "probably-spam".
    :0:
    * ^X-Spam-Status: Yes
    $MAILDIR/spam
    
    # Ein procmail bug: Manchmal wird das "F" in "From" verloren. Ist dies
    # der Fall, wird es wieder zugefügt.
    :0 H
    * ! ^From[ ]
    * ^rom[ ]
    {
      :0 fhw
      | sed -e 's/^rom /From /'
    }
    
    # Im folgenden habt Ihr die Möglichkeit, weitere Absenderadressen
    # als Spammer zu deklarieren, deren EMails dann ebenfalls aussortiert
    # werden.
    
    # Schreibe die Liste der Spammer-Emails (per '|' getrennt)
    # in die nächste Zeile und entferne das '#' am Anfang der nächsten 4 Zeilen
    #SPAMMERS=(email@foo.bar|email2@bar.foo|spammer@xxx.vom)
    #:0:
    #* $ ^From:.*$SPAMMERS([^a-zA-Z0-9+_.@-]|$)
    #$MAILDIR/spam
    
    # Genauso können wir ganze Domains als Spam-Domains kennzeichnen:
    #SPAMDOMAINS=(domain.com|spammer.domain|domain.invalid)
    #:0:
    #* $ ^From:.*(@|.)$SPAMDOMAINS([^a-zA-Z0-9+_.@-]|$)
    #$MAILDIR/spam
    

Damit habt Ihr schon mal ein schönes Gerüst, mit dem Ihr EMails filtern könnt. Allerdings wirken alle Filter, die im Abschnitt 3) besprochen sind, nur auf Euren Online-Account. Wer eine Site hat, kann hier nur den globalen Mailfilter (2) nutzen und muss dann bei sich zu Hause im UUCP-Sytem entsprechend filtern.

Für Fragen bzgl. Mailfilterung könnt Ihr Euch gerne an mich oder die Adresse wenden.

Und jetzt auf eine spamfreiere Mailbox.

Ciao, Carsten.

Toppoint e.V.
Tel.: 562136
Impressum
Diese Seite wird realisiert durch den Einsatz von phpCMSphpCMS
$Revision: 1.5 $ $Date: 2006/07/07 10:48:31 $

Counter:1110207 seit 05.03.2003, diese Seite:10940