Home / LinuxUser / 2007 / 02 / Weg mit dem Dreck

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(241 Punkte bei 17 Stimmen)
Re: War doch klar...
(178 Punkte bei 7 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Weg mit dem Dreck

Spam-Mails filtern mit CRM114 und KMail

Mailfilter einrichten

Das Mailfilterprogramm von CRM114 greift auf eine Konfigurationsdatei, mehrere Listen wie eine Blacklist und eine Whitelist sowie jeweils eine standardmäßig 12 MByte große Hash-Datei für Spam und Ham.

Erstellen Sie in Ihrem Home-Verzeichnis mit mkdir ~/.crm114 ein Verzeichnis für die CRM114-Dateien und wechseln Sie mit cd ~/.crm114 dorthin. Kopieren Sie unter Debian und Ubuntu mit cp -a /usr/share/crm114/*.crm . die kompletten Programmdateien – minimal jedoch mailreaver.crm, maillib.crm, mailtrainer.crm, rewriteutil.crm – in das neue Verzeichnis. Bei der Upstream-Version verwenden Sie die Dateien aus dem Binär- oder Quelltext-Archiv. Das aktuelle Filterprogramm für CRM114 heisst mailreaver.crm. Das ältere mailfilter.crm sollten Sie nicht mehr verwenden.

Kopieren Sie zusätzlich die Konfigurationsdatei für den Mailfilter, die Datei mailfilter.cf, in Ihr CRM114-Verzeichnis und passen Sie sie mit Hilfe eines Texteditors an. Für die Integration in KMail benötigen Sie keinen Fernzugriff auf CRM114. Lassen Sie also trotz aller Warnungen die Zeile :spw: /DEFAULT_PASSWORD/ unverändert.

Wählen Sie bei einen geeigneten Decoder für Mime-kodierte Mailanhänge, indem Sie das Kommentarzeichen vor der entsprechenden :mime_decoder:-Zeile entfernen und vor allen anderen :mime_decoder:-Zeilen gegebenenfalls setzen. Prüfen Sie mit dem Befehl which /usr/bin/mimencode welcher Mime-Encoder auf Ihrem System installiert ist. Ersetzen Sie dabei /usr/bin/mimencode durch den jeweiligen Encoder.

Der Decoder openssl aus dem OpenSSL-Paket findet sich in der Regel bei einem üblichen Desktop-System. Von mimencode gibt es zwei Varianten: Die aus dem Paket metamail benötigt zum Dekodieren die Option -u im Aufruf. Im Zweifelsfall hilft ein Blick in die Manpage und das Ausprobieren auf der Befehlszeile.

Das Mailfilterprogramm fügt als Spam, Ham oder Unsicher eingestuften Mails nach Wunsch einen Prefix in der Betreff-Zeile im Header der E-Mail hinzu. KMail benötigt diese Information nicht, da das Mailfilter-Programm sie zusätzlich an anderer Stelle in den Header schreibt. Aktivieren Sie :spam_flag_subject_string: //, :unsure_flag_subject_string: // und ggf. :good_flag_subject_string: //, wenn Sie unveränderte Betreff-Zeilen vorziehen.

Standardmäßig protokolliert das Mailfilterprogramm alle bearbeiteten Mails in der Datei allmail.txt. Funktioniert der Mailfilter bei Ihnen wie gewünscht, sparen Sie mit :log_to_allmail.txt: /no/ den dafür benötigten Speicherplatz ein.

Die Konfigurationsdatei aus dem CRM114-Paket von Debian vor der Version 20060704a-3 hat einen Fehler[11]. Der Pfad zu mailtrainer.crm stimmt nicht. Stellen Sie folgende Schreibweise sicher: :trainer_invoke_command: /.\/mailtrainer.crm/.

Mit cssutil -rb spam.css und cssutil -rb nonspam.css erstellen Sie die Hash-Dateien für die Erkennungsmerkmale für Spam- und Ham-Mails. Der Befehl erstellt die angegebene CSS-Datei, falls noch nicht vorhanden, und gibt dann eine kleine Statistik aus.

Das Mailfilterprogramm greift auf zwei Listen-Dateien zurück, um eine kombinierte Black- beziehungsweise Whitelist zu realisieren oder zum Beispiel Mail-Adressen umzuschreiben. Für den Start genügt es, mit touch rewrites.mfp priolist.mfp leere Dateien anzulegen (siehe Kasten "Rewrite-Regeln und White-/Blacklists").

Vor der Integration in KMail testen Sie in der Shell, ob ihre Mailfilter-Installation funktioniert. Rufen Sie mit crm mailreaver.crm das CRM-Programm auf, tippen Sie irgendeinen Text und drücken Sie die Eingabetaste gefolgt von [Strg]+[D]. Das CRM-Programm sollte nun einige mit X-CRM114 beginnende Header-Zeilen anzeigen.

Antispam-Assistent

KMail bietet einen Antispam-Assistenten, der erkennt, welche Spamfilter Sie installiert haben und geeignete Filterregeln erstellt. Im Test kamen unter Debian Etch KMail aus KDE 3.5.5 und unter Suse 10.1 KMail aus KDE 3.5.1 zum Einsatz.

Der Antispam-Assistent von KMail aus KDE 3.5.5 kennt CRM114 noch nicht. Ab KDE-Version 3.5.6, die für Januar geplant ist, sollte KMail CRM114 erkennen [12]. Älteren Versionen von KMail bringen Sie CRM114 bei, indem Sie der Konfigurationsdatei kmail.antispamrc für CRM114 einen Eintrag hinzufügen (siehe Listing 2).

Sie finden diese Datei bei Debian und Ubuntu im Verzeichnis /etc/kde3 und unter Suse im Verzeichnis /opt/kde3/share/config. Alternativ kopieren Sie die Datei nach ~/.kde/share/config und bearbeiten Sie dort. Öffnen Sie diese Datei gegebenenfalls mit Root-Rechten in einem Texteditor und erhöhen Sie zunächst unter [General] bei tools= die Anzahl der Spamfilter um eins. Fügen Sie anschließend den Eintrag am Ende der Datei an und passen dabei in der ersten Zeile des Eintrags Spamtool #11 die Nummer des Eintrags an. Alternativ kopieren Sie einfach die entsprechende Datei von der LinuxUser-Webseite.

Legen Sie für Spam-Mails und für als unsicher eingestufte Mails je einen Ordner an. Klicken Sie dazu in der Ordnerliste zum Beispiel beim Ordner Mülleimer auf die rechte Mausstaste und wählen Sie Neuer Unterordner .... Ordner eines Online IMAP-Kontos bietet der Antispam-Assistent nicht zur Auswahl an, verwenden Sie in diesem Fall die ohnehin schnelleren lokalen Ordner.

Es empfiehlt sich, Spam-Mails nicht gleich in den Mülleimer zu verschieben, sondern zunächst in einen eigenen Ordner, da KMail alle Mails aus dem Mülleimer beim Beenden löscht. So haben Sie jederzeit Gelegenheit nachzuschauen, ob der Filter eine Mail fälschlicherweise als Spam eingestuft hat.

Erstellen Sie mit dem Antispam-Assistenten unter Extras | Anti-Spam Assistent ... in zwei Schritten die passenden Filterregeln. Wählen Sie dazu als Spamfilter CRM114 aus (siehe Abbildung 2). Im zweiten Schritt wählen Sie die Ordner für Spam-Mails und als unsicher eingestufte Mails.

Abbildung 1: Der Antispam-Assistent von KMail hilft mit einer grafischen Oberfläche beim Einrichten des Filters.

Abbildung 2: Im zweiten Schritt geben Sie die Ordner für Spam-Mails und als unsicher eingestufte Mails an.

Nun ist KMail bereit, CRM114 als Spamfilter zu nutzen. Die fünf neuen Filterregeln sollten am Anfang der Liste der Filterregeln stehen, damit Sie immer zuerst zum Einsatz kommen. Wählen Sie Einstellungen | Filter einrichten... und verschieben Sie die Spamfilter-Regeln gemäß Ihrer Reihenfolge mit den Pfeilsymbolen nach oben (siehe Abbildung 3).

Abbildung 3: Die Filterregeln für den Spamfilter sollten ganz am Anfang der Liste stehen.

In der Werkzeugleiste gibt es zwei neue Symbole. Mit dem grünen Haken markieren Sie erwünschte Mails und mit dem Symbol, das an die gelben Tüten mit dem grünen Punkt erinnert, markieren Sie unerwünschte Mails. Als Ham eingestufte Mails filtert KMail nach Ihren übrigen Filterregeln oder belässt Sie im Posteingang. Als Spam und als unsicher eingestufte Mails verschiebt KMail sofort in die entsprechenden Ordner.

Trainieren Sie nicht wie wild irgendwelche Mails. CRM114 verhält sich besonders am Anfang wie ein aufmerksames kleines Kind, das sehr schnell lernt. Dabei interessiert sich CRM114 jedoch nur für falsch als Spam oder Ham eingestufte Mails und für Mails, bei denen sich das Programm unsicher ist.

Trainieren Sie CRM114 oft, am besten jede Stunde oder laden die neuen Mails immer nur häppchenweise, indem die Übertragung zwischendrin abbrechen. Je öfter Sie trainieren, desto weniger Mails müssen Sie markieren, da CRM sie bereits kennt. Und CRM arbeitet so effektiver! Bereits nach den ersten Stunden filterte CRM im Test einen Großteil der Spam-Mails aus (siehe Abbildung 4).

Achten Sie besonders in der Anfangszeit jedoch noch regelmäßig auf fälscherlicherweise als Spam eingestufte Mails und markieren Sie diese als gewünscht. Auch hier lernt CRM114 mit einer angenehmen Geschwindigkeit.

Abbildung 4: Weg mit dem Müll! Bereits nach wenigen Stunden Training filtert CRM einen Großteil der Spam-Mails aus.

Möchten Sie eine als Ham markierte Mail im Ordner für als unsicher eingestufte Mails erneut filtern, damit Sie im richtigen Ordner landet, wählen Sie Filter anwenden | Alle Filter anwenden aus dem Kontextmenü oder drücken Sie einfach [Strg]+[J].

Genaueres über das Einstufen einer Mail erfahren Sie mit der Taste [V] zum Anzeigen der Mail inklusive Header-Zeilen (siehe Abbildung 5). Suchen Sie nach der Header-Zeile X-CRM114-Status. Diese Header-Zeilen ändert KMail mit den Filterregeln vom Antispam-Assistenten nicht sofort, nachdem Sie eine E-Mail als Ham oder Spam markieren. In einer als Ham markierten steht immer noch UNSURE oder SPAM drin.

Erst nach dem erneuten Filtern leitet KMail die Mail noch einmal durch den Spamfilter hindurch. Ergänzen Sie daher die Filterregel Als Nicht-SPAM klassifizieren und bei Bedarf auch Als SPAM klassifizieren bei den Filteraktionen daher noch um Durch Programm leiten mit crm -u $HOME/.crm114 mailreaver.crm (siehe Abbildung 3).

Abbildung 5: Durch und durch Spam, wie CRM114 in der Headerzeile X-CRM114-Status mitteilt.

Listing 1
IhrName@ihre.adresse.de>->MeineMailAdresse
[[:space:]]Ihr Name>-> MeinName
Listing 2
[Spamtool #11]
Ident=crm114
Version=1
Priority=65
VisibleName=CRM114
Executeable=crm -v | grep "CRM114"
URL=http://crm114.sourceforge.net
PipeFilterName=CRM114 Check
PipeCmdDetect=crm -u $HOME/.crm114 mailreaver.crm
ExecCmdSpam=crm -u $HOME/.crm114 mailreaver.crm --spam
ExecCmdHam=crm -u $HOME/.crm114 mailreaver.crm --good
DetectionHeader=X-CRM114-Status
DetectionPattern=SPAM
DetectionPattern2=UNSURE
DetectionOnly=0
UseRegExp=0
SupportsBayes=1
SupportsUnsure=1

CRM114 kompilieren

Laden Sie das Quelltex-Archiv [13], entpacken Sie es und wechseln Sie in das neu erstellte Verzeichnis. Kompilieren Sie zunächst die Bibliothek TRE, die reguläre Ausdrücke handhabt. Wechseln Sie dazu in das Verzeichnis tre-x .y. z, also zum Beispiel tre-0.7.4. Konfigurieren Sie die Quellen mit ./configure bzw. ./configure --enable-static, wenn Sie CRM114 statisch linken möchten, übersetzen Sie mit make übersetzen Sie den Quelltext und installieren Sie mit su -c "make install" die Bibliothek.

Etwaige Fehlermeldungen bezüglich Tests ignorieren Sie dabei einfach. Der Befehl ls -l /usr/local/lib/libtre* sollte die neu installierten Bibliotheksdateien auflisten. Wollen Sie dynamisch linken, rufen Sie als Root ldconfig auf. Die Datei /etc/ld.so.conf sollte dafür den Pfad /usr/local/lib enthalten.

Wechseln Sie danach mit cd .. in das übergeordnete Verzeichnis. Das Makefile von CRM installiert standardmäßig nach /usr. Passen Sie die Variable prefix an, um etwa nach /usr/local zu installieren. Möchten Sie dynamisch linken, setzen Sie vor die Zeile LDFLAGS += -static -static-libgcc ein Kommentarzeichen. Führen Sie schließlich nacheinander die Befehle make clean, make und su -c "make install aus.

Rewrite-Regeln und White-/Blacklists

Mit Hilfe von rewrites.mfp weisen Sie CRM114 an, Ihren Namen, Ihre eigene Mail-Adresse und gegebenfalls IP-Adresse und Name des Mail-Gateways durch generische Namen zu ersetzen (siehe Listing 1). Sie geben dabei zuerst an, was zu ersetzen ist, gefolgt von >-> und der Ersatz-Zeichenfolge: Suchen >->Ersetzen . Mit >--> geht das Suchen auch über mehrere Zeilen. Reguläre Ausdrücke sind dabei erlaubt [4].

Dies dient dem Schutz ihrer Privatsphäre. Zudem reduzieren Sie den Lernaufwand für CRM114, da ihre eigenen Angaben für die Entscheidung zwischen Spam oder Ham unwesentlich sind. Im Test funktioniert CRM114 jedoch auch ohne Rewrites mit erstaunlicher Genauigkeit und Effizienz.

Für eine White- oder Blacklist besteht in der Regel keine Notwendigkeit, da CRM114 sehr schnell lernt. Das neue mailreaver.crm verwendet nur noch die kombinierte White- und Blacklist priolist.mfp. Ein Beispiel finden Sie bei Debian und Ubuntu unter /usr/share/doc/crm114/examples oder im Upstream-Archiv. Ersparen Sie sich die fehleranfällige manuelle Pflege einer White- und Blacklist.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 77 Punkte (9 Stimmen)

Schlecht Gut

Infos zum Autor

Martin Steigerwald

Martin Steigerwald

Martin Steigerwald arbeitet als Trainer, Consultant und Systemadministrator bei der team(ix) GmbH in Nürnberg. Schwerpunkte seiner Tätigkeit sind Linux-Schulungen, die Konzeption, Installation und Wartung solider IT-Infrastruktur auf Basis von Debian Linux sowie Second Level Support für Linux als Business-Desktop bei Kunden von teamix(ix).


Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 3 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...