Spamfilter mit Procmail und SpamAssassin

Beschreibung für die Einrichtung eines Spamfilters mit Procmail und SpamAssassin

Der Mailserver soll ausschließlich als Spamfilter dienen (also keinen kompletten Mailserver ersetzen). Mails werden abgerufen, auf Spam geprüft und in die richtigen Postfächer einsortiert. Das Sersenden der E-Mails geht weiterhin über externe Server.

OS und Software

Als Betriebssystem wird Gentoo Linux verwendet. Folge Programme sind zu installieren:

• Fetchmail http://www.fetchmail.info/

Holt die Mails vom externen Mailserver via POP3 ab und übergibt sie dem MDA (Mail Delivery Agent, hier Procmail)

• Procmail http://www.procmail.org/

Filtert mit Hilfe von Spamassasin Spam aus und leitet die Mails in die lokalen POP3 Postfächer weiter, hier Cyrus

• Spamassasin http://spamassassin.apache.org/

Untersucht alle E-Mails auf Spam und markiert Spam entsprechend

• Cyrus http://cyrusimap.web.cmu.edu/

Cyrus ist der Mail Retriever Agent, d.h. er stellt die POP3 Postfächer bereit, die zum E-Mails abrufen nötig sind. Für die Authentifizierung am Server wird SASL verwendet

Arbeitsweise

Fetchmail holt die Mails ab. In der Datei /etc/fetchmailrc stehen die dazu nötigen Server, Benutzernamen und Passwörter. Anschließend übergibt Fetchmail die Mails an Procmail. In der Datei /etc/procmailrc stehen die Filterroutinen.Vertraute Absender werden direkt an den richtigen Empfänger weitergeleitet. Übrige Mails werden auf Spam untersucht. Spam wird aussortiert und an den Benutzer user.spam geschickt (so können fälschlicherweise aussortierte Mails eingesehen werden) ,wo sie erst nach einigen Tagen gelöscht werden. Procmail sortiert die restlichen Mails anhand der Adresse, an die die E-Mail geschickt wurde, in das richtige Postfach (z.B. user.nerdgeek). Die Postfächer werden von Cyrus bereitgestellt. Nun kann man über das lokale Netzwerk oder das Internet die E-Mails wie gewohnt vom Server abrufen.

Config Files

/etc/procmailrc

#Konfiguration der Mailsortierung
#########################################
# Variablen setzen
DELIVER=”/usr/lib/cyrus/deliver”
LOGFILE=/var/log/procmail.xy
VERBOSE=on

## Alles von ebay an nerder
:0 c
* ^From.*@ebay.de
| $DELIVER -e -a nerder -m user.nerder

## Alles von ebay an geeker
:0
* ^From.*@ebay.de
| $DELIVER -e -a geeker -m user.geeker

## Alles von .ru löschen
:0
* ^From.*.ru
/dev/null

## Alles an maier@maier.de löschen
:0
* ^TO.*maier@maier.de
/dev/null

## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
#:0fw: spamassassin.lock
#* < 256000
#| spamassassin

## Alles Mails mit Wörten (***SPAM***|health|...)im Hedaer löschen
:0 H
* (***SPAM***|health|Casino|Health|HEALTH|Vagrea|Celias|Sexbomb
|Energy|energy|prices|pill|pills)
| $DELIVER -e -a spam -m user.spam
#/dev/null

## Die Regel leitet alle Mails, die kleiner als 250kb sind an SPAMASSASSIN weiter
:0fw: spamassassin.lock
* < 256000
| spamassassin

## Alle Mails ab ** Spampunkten werden an user.spam geschickt
:0: spamassassin.lock2
* ^X-Spam-Level: \*\*\*\*\*\*
| $DELIVER -e -a spam -m user.spam

## Spams die noch da sind in auch am user.spam schicken
#:0H:
#* ^X-Spam-Status: Yes
#| $DELIVER -e -a spam -m user.spam

## Mails an mail@suppenkasper.de an user.suppenkasper
:0 c
* ^TO.*mail@suppenkasper.de
| $DELIVER -e -a suppenkasper -m user.suppenkasper

## Mails an info@suppenkasper.de an user.suppenkasper
:0 c
* ^TO.*info@suppenkasper.de
| $DELIVER -e -a suppenkasper -m user.suppenkasper

/etc/fetchmailrc

#set daemon 300
set logfile “/var/log/fetchmail”

poll “mail.maier.de” protocol pop3
user “maier@maier.de”
pass “464hfu/§gkfd”
mda /usr/bin/procmail

poll “mail.suppenkasper.de” protocol pop3
user “info@suppenkasper.de”
pass “C32%!VRDCTbR”
mda /usr/bin/procmail

2 Gedanken zu „Spamfilter mit Procmail und SpamAssassin

  1. I don’t suppose that you may possibly be following up this post with another one particular? I enjoy what you wrote right here, but I would adore to get much more information.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>