Mail-Server

ID #1248 Funktionsweise von SpamAssassin

Einleitung:

Der Aufbau jedes Mail-Systems ist bereits kompliziert. Sobald noch externe Module dazu kommen wird es manchmal unübersichtlich. Daher hier mal eine Übersicht über die Funktionen und Funktionsweisen von SpamAssassin

SpamAssassin

SpamAssassin ist überwiegend in der Script-Sprache Perl programmiert. Daher stößt man auch häufiger in dem Zusammenhang auf das Perl-Archiv CPAN.
Ein weiterer Nachteil, ist, daß das Kernstück bei jedem Aufruf neu kompiliert werden muß. Daher ist die Verwendung von spamd bei massenweisem Scannen von Mails.

Es basiert grundsätzlich auf zwei verschiedene Systeme:
a) Regelbasierte Filterung
b) Ein Bayes-Filter

Zusätzlich gibt es noch eine Plugin-Schnittstelle um weitere Filter zu integrieren.

Konfiguration und Umgang

Die Konfigurationsdateien finden sich meist im eigenen Verzeichnis /etc/spamassassin/. Bei älteren Systemen evtl. auch in /etc/mail/spamassassin/.

Zusätzlich finden sich evtl. auch noch weiter Konfigurationen und eigene Bayes-Datenbanken im Home-Verzeichnis des jeweiligen Users: $HOME/.spamassassin/.

Das Regelwerk findet sich häufig im Verzeichnis /usr/share/spamassassin/. Die interessantesten sind hier die die Dateien 30_text_de.cf und 50_scores.cf.

Wer gerne eigene Regeln einfügt sollte dies am Besten in eine eigenen Datei schreiben und diese in die Hauptkonfiguration inkludieren.

Es gibt 2 Methoden eine Email von SpamAssassin untersuchen zu lassen:

  1. Mit dem Befehl spamassassin.
    Damit wird SpamAssassin direkt aufgerufen. Sinnvoll, wenn man unregelmäßig kleinere Mails verarbeiten will oder einfach nur um die Konfiguration zu testen.
  2. Mit dem Befehl spamc.
    Dies ist der Client zum Daemon spamd. Da der Daemon ständig im vorkompiliert im Speicher liegt, ist dies für größere Anzahl von Scan-Vorgängen zu bevorzugen.

Punkte-System

SpamAssassin arbeitet mit einem Punkte-System. D.h. jeder Filter setzt ein Flag (z.B. HTML_MESSAGE. An einem beliebigen anderen Punkt im Regelwerk stehen dann die Punkte zu diesem Flag.

Am Ende werden alle Punkte zu den gesetzten Flags zusammen gerechnet und die Summe ergibt dann den Spam-Score.
Ab eine Email dann als Spam klassifiziert wird hängt vom Wert für Require ab. Denn nur wenn der Score über dem Require-Score liegt wird das Spam-Flag gesetzt.

Bayes-Filter

Erstmal ein paar Definitionen:

TokenEtwa vergleichsweise ein "Wort".
Bayes-DBDie Token-Datenbank mit Wichtung.
sa-learnProgramm zum verwaltet und füllen der Bayes-DB.
Bayes-FilterKlassifiziert einen Text anhand der auftretenden Tokens/Wörter in Prozent.

Die Eingliederung des Bayes-Filter kann man sich wie ein Plugin vorstellen. Letztendlich werden nur Flags gesetzt: BAYES_00, BAYES_05, BAYES_20, BAYES_40, BAYES_50, BAYES_60, BAYES_80, BAYES_95, BAYES_99
Welche Punktewerte dahinter stecken steht wiederum im Regelwerk von SpamAssassin.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2007-08-09 19:38     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   2 von 5 (2 Bewertungen)

Artikel kommentieren