Zum Inhalt springen

spamfilter


Dr.Paulaner

Empfohlene Beiträge

von 70 mail innerhalb 12 stunden sind 68 mails spamm..das kann doch net sein, und ich habe auch keine zeit mir jeden einzelnen header anzuschauen um da aufzuräumen, nu habe ich ja massig webspace mit noch mehr emailaddis und postfächern; kennt denn jemand nen toolm welches auf dem server installiert wird, mir aol, hotmail, web.de blabla einfach wegkickt, mir bestimmte postfächer abholt und den kram dann in eingesäubertes postfach einsortiert welches ich abhole?

benutze zur zeit cloudmark unter outlook/exchange, nur..das holt den ganzen rotz ja auch erstmal ab.... gmx hat da so nen spamfilter....lacknase? maniac? jemand ne idee?? googlet sich da nix...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also Du hast mehrere Möglichkeiten:

Version A: auf dem mailserver (extern) filtern. Z.B. mit

[1] tmda (benutze ich nicht, hab's aber schon für Kunden installiert. Sehr gut für große Sites, WENN man qmail dazu verwendet.)

[2] spamassassin/spamd + procmail

[3] bogofilter + procmail

[4] Kombinationen aus obigem.

Der Nachteil dieser Variante ist, daß Du ziemlich viele Administrative Rechte bei Deinem $MAIL-ISP haben mußt. (Technisch aber wie unten.)

:-(

Variante B: die ich zu Hause nutze.

Ich versuche das mal schematisch zu erläutern:

Am Anfang steht fetchmail. Das ist ein reines Abholskript, das mir meine Mails auf meinen lokalen Mailserver (ist nur als relay-host zum Versenden konfiguriert) schiebt:

### .fetchmailrc (Beispiel) ###

set postmaster "andi"

poll mailserver.irgendwas.irgendwo with proto IMAP

user 'ich' there with password 'meinpasswd'

is 'andi' here with mda "/usr/bin/procmail -d %T"

ssl

### Ende ###

Das bewirkt, daß mein IMAP-Postfach mit der Kennung "ich" (z.B. via cron alle 5 min) abgefragt wird, das Zeug einem lokalen Postfach-Namen ("andi") zugeordnet wird und als lokaler MailDeliveryAgent procmail verwendet wird. Das ganze ssl-verschlüsselt, eh klar. Wenn was schief geht (server down etc.) bekomme ich eine mail von fetchmail an den postmaster. :-(

Jetzt kommt procmail - ein Postverteiler mit Filterfunktionen:

### .procmailrc (Beispiel) ###

# Diverser Standardkram wie "keine debug-Meldungen",

# "nur mit user-Privilegien ausführen", "Übertragungen

# loggen", "ausführende command-shell", "Mailverzeichnis"

VERBOSE=off

DROPPRIVS=yes

LOGFILE=/home/andi/.procmail/procmail.log

SHELL=/bin/sh

DEFAULT=/home/andi/.maildir/

## WHITELIST

# Alle meine Bekannten (= Mailadressbuch) sind

# in einer Whitelist abgespeichert. Deswegen parst

# procmail alle Header eingehender mails.

# procmail arbeitet mit sog. "Rezepten", die durch ":"

# eingeleitet werden. Hier wird mit "0" JEDE

# mail gefiltert ("f") und auf die Erfolgsmeldung

# gewartet ("w"), das ganze gilt nur für header

# ("h"). Der Filter ist das in procmail enthaltene

# formail. Es chekct, ob der header "X-Whitelist"

# vorhanden ist und entfernt ihn gegebenenfalls

# ("-I").

:0fwh

| formail -IX-Whitelist

# Alles weitere wird danach wieder durch formail

# gejagt und alle untenstehenden header mit meiner

# Kontaktliste (ohne Groß-/Kleinschreibung zu beachten)

# verglichen.

:0

* ? formail -x"From:" -x"Sender:" -x"Reply-To:" -x"Return-Path:" | egrep -is -f ~/.procmail/white.lst

# Alle positiven Ergebnisse gehen an die

# in dann Klammern stehende Unterfunktion.

# Allen Mails, die also von WhiteList-Kontakten

# kommen, wird der header "X-Whitelist: Yes"

# von formail hinzugefügt.

{

:0fwh

| formail -a "X-Whitelist: Yes"

}

## BOGOFILTER

# Bogofilter ist ein sog. "bayesian filter". Es

# verwaltet Kontaktlisten, Wortlisten und erkennt

# Formatierungsmerkmale etc. Ich habe mein

# bogofilter mit ca. 300 MB "Muster-Spam" trainiert.

# Hier wird alles (auch mit X-Whitelist-header) durch

# bogofilter gejagt. Wenn Bogofilter meint, es sei

# Spam, dann fügt es den header "X-Bogosity: Yes" ein.

:0fw

| bogofilter -p -e -u -l

# SOLLTE Bogofilter mit irgendwas nicht klarkommen,

# wird einfach weitergemacht mit der nächsten Regel.

:0e

{EXITCODE=75 HOST }

# Hier wird nun jede Mail, die von Bogofilter als Spam

# erkannt wurde, tatsächlich aber von einem legitimen

# Whitelistkandidaten stammte, an bogofilter mit der

# Bitte zurückgegeben, die Mail aus dem Spam-Katalog

# zu streichen und als Trainigsdatensatz für no-spam zu

# benutzen. Learning by doing :-(

:0c

* ^X-Bogosity: Yes, tests=bogofilter

* ^X-Whitelist: Yes

| bogofilter -N -l

## SpamAssassin (perl-Modul)

# spamassassin arbeitet auch mit einer lokalen,

# "trainierbaren" Datenbank, hat aber den Schwerpunkt

# auf Syntax, Formatierung, Stichwörtern und fragt Online-

# Datenbanken ab. Es meldet auch (noch) nicht bekannten

# Spam dort zurück. Es ist aber in der (justierbaren) Standard-

# punktewertung etwas "durchlässiger" als bogofilter.

# Immerhin können so andere "mitprofitieren", wenn man den

# Dreck in Datenbanken erfaßt. :-( # SpamAssassin fügt den header "X-Spam-Flag: YES" ein.

# Also - zusätzlich ALLES durch spamassassin. Da das

# ganze bei mir als Dienst läuft (ist performanter), erledigt

# das der spamclient "spamc".

:0fw

| spamc

# WENN zwar als angeblicher Spam erkannt, aber

# whitelist-Kandidat, dann bitte neu trainieren und

# in die eigene Spamassassin-Whitelist. (s.o.)

:0c

* ^X-Spam-Flag: YES

* ^X-Whitelist: Yes

| spamassassin -d --add-to-whitelist

# Wenn von bogofilter erkannt UND zugleich NICHT in meiner

# Whitelist, dann bitte als Spam lernen. Egal, ob als solcher

# erkannt oder nicht.

:0c:

* ^X-Bogosity: Yes

* !^X-Whitelist: Yes

| spamassassin --add-to-blacklist

# Was von bogofilter als Spam erkannt

# wurde UND nicht auf meiner whitelist war, geht

# gleich in den Müll (/home/andi/.maildir/trash).

:0:

* ^X-Bogosity: Yes

* !^X-Whitelist: Yes

trash

### Ende ###

Man kann jetzt fragen, wozu ich dann überhaupt spamassassin verwende, wenn letztlich bogofilter den >Ausschlag gibt. Immerhin: es erweitert die zunächst die "Filterbasis" und meldet meine Datenbankupdates, die es so dazugelernt hat.

Meine Trefferquote liegt bei 100%. Dabei ist aber für mich letztlich nicht der Spam-Findemechanismus entscheidend, sondern die Tatsache, daß keine Mails von Bekannten "verschwinden". (Dank eigener white.lst ...)

Schlußendlich habe ich auf dem Server, der das Postfach verwaltet postfix mit amavis-scanner laufen und dazu courier-imap (mit pop3ssl und imapssl). courier wäre nicht nötig, wenn ich meine mails (vor allem status und logs) daheim nicht auch von unterwegs verwalten können wollte. Klingt alles sau-kompliziert, ist aber auf einem *NIX/*NUX-System eine Sache von einer Stunde. Doku gibt's (wie immer) massenweise im Netz.

Meine 2 Eurocent ... (alles wird teurer!) :-D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja freilich! Wo kämen wir denn da hin? Am Ende muß ich noch anfangen, meiner Grundschullehrerin, die mir Schreiben beibrachte, Lizenzgebühren zahlen :-D

Als Tip: wenn Du procmail für Deinen account am normalen smtp vorbei (bzw. danach) "erzwingen" willst, dann kannst Du in Deinem $HOME-Verzeichnis eine Datei namens ".forward" (der Punkt MUSS sein!) anlegen, die prcomail "nachträglich" aufruft:

Inhalt von .forward (incl. Anführungszeichen!):

"|/usr/local/bin/procmail -f-"

Je nachdem, was da als Mailserver-Software läuft gibt es ein paar "ungute" Aufruf-Optionen. Genaueres findest Du unter http://www.sektorn.mooo.com/era/procmail/m...aq.html#forward

Noch zur Installation:

[1] procmail sollte auf JEDEM halbwegs vernünftigen Mailsystem vorhanden sein.

[2] spamassassin von CPAN installieren (perl sollte ja auf dem Mailsystem drauf sein):

http://eu.spamassassin.org/dist/INSTALL

[3] bogofilter runterladen, entpacken (tar xvfz bogofilter-0.9.1.2.tar.gz), INSTALL lesen :-(

http://sourceforge.net/project/showfiles.p...?group_id=62265

Der Rest nach Gusto :grins:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.


×
×
  • Neu erstellen...

Wichtige Information