Unterabschnitte
Dieses Package ist als Zusatz-Paket zum Mail-Paket zu verstehen. Eingehende Nachrichten
werden mit Hilfe dieses Programms, vor der Verteilung in die einzelnen Postfächer, auf
Spam-Inhalt überprüft und gegebenenfalls herausgefiltert. Diese Dokumentation wurde
bereits auf die nächste Version v1.4.10 abgestimmt. Nutzer vorheriger Version sollten
die im jeweiligen Antispam-Paket enthaltene Dokumentation als Referenz verwenden.
Was ist Spam?
Von Spam spricht man, wenn eine Kopie einer Nachricht das Internet überflutet, mit
dem Ziel soviele Empfänger wie möglich zu erreichen, obwohl diese die Zusendung der
Nachricht nicht verlangt haben. Meisstens werden über Spam dubiose Produkte
kommerziell beworben, die versprechen in 14 Tagen zum Millionär zu werden, oder
es werden nicht ganz legale Service angepriesen.
An dieser Stelle kommt das Antispam-Package ins Spiel!
Wenn die Überprüfung auf Spam über den Parameter EXISCAN_SPAMD_ENABLED (Mail-Package)
aktiviert wurde, wird jede eingehende Nachricht nach diversen Regeln bewertet und
bei der Identifikation als Spam als solche behandelt. Standardmässig wird z.B., in
Abhängigkeit von dem Parameter EXISCAN_SPAMD_ACTION (Mail-Package) eine solche
Nachricht an den User-Account `spam@domain.de' weitergeleitet, um es dem Mail-Administrator zu
ermöglichen diese vor dem Löschen noch einmal zu verifizieren. Durch diese Prozedur
werden die Mail-Nutzer vor Nachrichten geschützt, die sie normalerweise sowieso nicht
empfangen wollten.
Das Antispam-Package besteht aus folgender Komponente:
Diese Package benötigt zur korrekten Funktion zwingende die installierten Packages `Mail',
`Perl' und andere Perl-Funktions-Packages.
Das Antispam-Package wird über das Setup-Menü installiert. Nach dem Installieren der
Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration
anzupassen. Nach Beendigung diese Schrittes werden die Konfigurationsdateien generiert
und alle benötigten Programme gestartet.
Das Menü im Setup-Programm wird über `Mail Services' -> `Goto mail modules'
angesprochen und ist wie folgt aufgebaut:
- Antispam interface
- View documentation: Anzeigen der Dokumentation
- Edit configuration: Bearbeiten der Konfiguration
- Advanced configuration file handling: Konfigurationen verwalten
- View configuration log file: Die Konfigurations-Logmeldungen anzeigen
- Show status: Status der Antispam-Komponenten anzeigen
- Stop service: Alle Antispam-Komponenten anhalten
- Start service: Alle Antispam-Komponenten starten
- Check mailbox: Spam-Mailbox auf vorhandene Mails überprüfen
- Read messages: Eingegangene Spam-Mails lesen
- View log file: Die Antispam-Logmeldungen anzeigen
- Exit: Untermenü verlassen
- Exit: Untermenü verlassen
Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weiteren Input erwarten.
Deshalb wird auf deren Funktion vorerst nicht weiter eingegangen.
Die Konfiguration kann über den Menüpunkt `Edit configuration' geändert werden.
Standardmäßig wird der Editor `joe' aufgerufen. Nachdem der Editor beendet wurde
wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt,
werden über ein Skript die modifizierten Änderungen umgehend wirksam gemacht.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende
Parameter vorhanden; wer sie von Hand editieren will findet sie unter
/etc/config.d/antispam.
-
- START_ANTISPAM
- Für die Aktivierung des Antispam-Programms muss diese Variable lediglich auf
den Wert `yes' gestellt werden. Die Einstellung `no' deaktiviert das Antispam-Programm.
Gültige Werte: yes, no
Standard-Einstellung: START_ANTISPAM='no'
- ANTISPAM_ALLOWED_ADDRESSES
- Über diesen Parameter können IP-Adressen oder Netzwerke angegeben werden, denen es
zusätzlich zum lokalen Host erlaubt ist eine Verbindung zum Spam-Daemon aufzubauen.
Es ist somit nicht notwendig auf allen Rechnern einen eigenen Spam-Daemon zu installieren.
Gültige Werte: IP-Adressen und/oder Netzwerke
Beipiel: ANTISPAM_ALLOWED_ADDRESSES='192.168.6.20,192.168.7.0/24'
Standard-Einstellung: ANTISPAM_ALLOWED_ADDRESSES=''
- ANTISPAM_LISTEN_ADDRESSES (Optional)
- Über diesen Parameter kann eine IP-Adresse angegeben werden, auf die der Spam-Daemon
Verbindungsanfragen entgegen nehmen soll. Wird der Parameter auf den Wert 'all' gesetzt,
so werden auf allen Netwerkanschlüssen Verbindungsanfragen entgegen genommen. Wird der
Parameter nicht gesetzt oder leer gelassen, so wird standardmäßig die Adresse '127.0.0.1'
verwendet.
Gültige Werte: leer, all, IP-Adresse
Beispiel: ANTISPAM_LISTEN_ADDRESSES='192.168.0.20'
Standard-Einstellung: ANTISPAM_LISTEN_ADDRESSES=''
- ANTISPAM_DNS_AVAILABLE
- Um die Funktionsfähigkeit von DNS zu prüfen wird standardmässig versucht die Namen
einiger Hosts im Internet aufzulösen. Dies kann in einigen Fällen zu Fehlern führen,
weil z.B. die Netzwerkverbindung unterbrochen wurde und so vermutet wird, dass keine
DNS-Auflösung möglich ist. Über diesen Parameter wird nun bestimmt, ob eine automatische
Prüfung stattfinden soll (test), generell immer davon ausgegangen werden soll, dass DNS
verfügbar (yes) bzw. nicht verfügbar (no) ist.
Gültige Werte: yes, no, test[: name1 name2]
Standard-Einstellung: ANTISPAM_DNS_AVAILABLE='test'
- ANTISPAM_ENABLE_RBL_CHECKS
- Wird dieser Parameter auf `yes' gesetzt, so wird bei einer Überprüfung zusätzlich
eine Verbindung zu RBL-Servern (realtime blackhole lists) aufgebaut und geprüft, ob
der Absender der Nachricht dort bereits als Spammer bekannt ist.
Gültige Werte: yes, no
Standard-Einstellung: ANTISPAM_ENABLE_RBL_CHECKS='yes'
- ANTISPAM_ENABLE_SPAMCOP
- Wird dieser Parameter auf `yes' gesetzt, so wird eine als Spam eingestufte Nachricht
automatisch an SpamCop (http://www.spamcop.net/) zur Analyse weitergeleitet.
Gültige Werte: yes, no
Standard-Einstellung: ANTISPAM_ENABLE_SPAMCOP='no'
- ANTISPAM_MAILBOX_FILE
- Dieser Parameter legt den Mailboxname und -pfad der Spam-Mailbox fest.
Wird dieser Parameter nicht gefüllt, so wird der Standardname 'spam' im
Verzeichnis /var/spool/mail verwendet.
Gültige Werte: Mailboxname optional incl. Pfad
Standard-Einstellung: ANTISPAM_MAILBOX_FILE=''
- ANTISPAM_MAX_CHILDREN
- Dieser Parameter legt fest, wieviele Kinderprozesse maximal gleichzeitig auf dem
Server aktiviert werden sollen. Auf sehr langsamer Hardware ist es manchmal
sinnvoll diesen Parameter anzupassen. Standardmäßig werden die systemspezifischen
Einstellungen verwendet.
Gültige Werte: Zahl
Standard-Einstellung: ANTISPAM_MAX_CHILDREN='0'
- ANTISPAM_BAYES_AUTO_LEARN
- Wird dieser Parameter auf `yes' gesetzt, so werden Nachrichten mit einem hohen
Spam-Score dem Bayes-Filter zugeführt. Dieser wertet die zugeführten Informationen
aus und paßt dann dynamisch seine Spam-Bewertung an.
Gültige Werte: yes, no
Standard-Einstellung: ANTISPAM_BAYES_AUTO_LEARN='yes'
- ANTISPAM_BAYES_LEARN_FROM_SPAM_x
- Über diese Parameter können Mailbox-Dateien mit vollständiger Pfadangabe angegeben
werden, in denen `Spam'-Nachrichten (schlecht) gesammelt werden. Falls z.B. bei jedem
User die gleiche Datei verwendet werde soll, so ist der Einsatz von Wildcards möglich.
Diese werden dann im vorgegebenen Zeitintervall zum Trainieren des Bayes-Filter verwendet.
(Siehe ANTISPAM_BAYES_LEARN_CRON_SCHEDULE)
Gültige Werte: Zahl bzw. Mailboxname incl. Pfad
Beispiel:
ANTISPAM_BAYES_LEARN_FROM_SPAM_N='1'
ANTISPAM_BAYES_LEARN_FROM_SPAM_1='/var/spool/mail/spam'
- ANTISPAM_BAYES_LEARN_FROM_HAM_x
- Über diese Parameter können Mailbox-Dateien mit vollständiger Pfadangabe angegeben
werden, in denen 'Ham'-Nachrichten (gut) gesammelt werden. Falls z.B. bei jedem User
die gleiche Datei verwendet werde soll, so ist der Einsatz von Wildcards möglich.
Diese werden dann im vorgegebenen Zeitintervall zum Trainieren des Bayes-Filter verwendet.
(Siehe ANTISPAM_BAYES_LEARN_CRON_SCHEDULE)
Gültige Werte: Zahl bzw. Mailboxname incl. Pfad
Beispiel:
ANTISPAM_BAYES_LEARN_FROM_HAM_N='1'
ANTISPAM_BAYES_LEARN_FROM_HAM_1='/home/frank/.imapmail/ham-archive'
- ANTISPAM_BAYES_LEARN_CRON_SCHEDULE
- Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall die angegebenen
Spam- bzw Ham-Mailbox-Dateien für das Training des Bayes-Filters ausgewertet werden
sollen. Die fünf Teilparameter haben dabei folgende Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standard-Einstellung wird jeweils am Sonntag um 03:05h
der Vorgang angestoßen. Wer Näheres über die verwendete Befehlsyntax erfahren
möchte, sollte über Google nach `man' und `crontab' suchen.
Gültige Werte: Crontab-spezifischer Parametereintrag
Standard-Einstellung: ANTISPAM_BAYES_LEARN_CRON_SCHEDULE='5 3 * * 0'
- ANTISPAM_AUTO_WHITELIST
- Wird dieser Parameter auf `yes' gesetzt, so wird versucht, anhand der von einem
Absender versandten Nachrichten und deren Spam-Wertung, die Spam-Wertung der aktuell
von diesem Absender empfangenen Nachricht einzustufen. D.h. wurden über einen
längeren Zeitraum Nachrichten von einem Absender als 'Nicht-Spam' eingestuft, so
kann mit hoher Warscheinlichkeit auch bei der aktuellen Nachricht davon ausgegangen
werden, dass es sich nicht um Spam handelt, obwohl vielleicht der Spam-Schwellwert
geringfügig überschritten wurde. Die Einstellung `no' deaktiviert diese Funktion.
Gültige Werte: yes, no
Standard-Einstellung: ANTISPAM_AUTO_WHITELIST='yes'
- ANTISPAM_AUTO_WHITELIST_FACTOR
- Wurde die automatische Whitelist-Funktion über den Parameter ANTISPAM_AUTO_WHITELIST
aktiviert, so beeinflusst der hier definierte Faktor die Einstufung einer Nachricht
als Spam. d.h. man hat einerseits den Durchschnittswert der Spam-Wertungen eines
Absenders und andererseits den aktuell berechneten Spam-Wert. Die endgültige Wertung
ergibt sich danach aus folgender Formel:
endgültige W. = aktuelle W. + (durchschnittliche W. - aktuelle W.) * Faktor
Ein Faktor von `1' bedeutet, dass immer der Durchschnittswert verwendet wird.
Ein Faktor von `0' bedeutet, dass immer der aktuell berechnete Wert verwendet wird.
Gültige Werte: Zahl
Standard-Einstellung: ANTISPAM_AUTO_WHITELIST_FACTOR='0.5'
- ANTISPAM_BLACKLIST_FROM_x
- Über diese Parameter können Email-Adressen angegeben werden, die fälschlicherweise sehr
häufig als `Nicht-Spam' klassifiziert werden, obwohl das Gegenteil der Fall ist. Über
ANTISPAM_BLACKLIST_FROM_N wird die Anzahl der Einträge festgelegt und über
ANTISPAM_BLACKLIST_FROM_x werden die einzelnen Einträge definiert. Eingaben wie z.B.
`*@domain.de' oder `*.domain.de' sind ebenfalls zulässig.
Gültige Werte: Zahl bzw. Mail-Adresse
Beispiel:
ANTISPAM_BLACKLIST_FROM_N='1'
ANTISPAM_BLACKLIST_FROM_1='spammer@spammershome.com'
- ANTISPAM_WHITELIST_FROM_x
- Über diese Parameter können Email-Adressen angegeben werden, die fälschlicherweise sehr
häufig als `Spam' klassifiziert werden, obwohl das Gegenteil der Fall ist. Über
ANTISPAM_WHITELIST_FROM_N wird die Anzahl der Einträge festgelegt und über
ANTISPAM_WHITELIST_FROM_x werden die einzelnen Einträge definiert. Eingaben wie z.B.
`*@domain.de' oder `*.domain.de' sind ebenfalls zulässig.
Gültige Werte: Zahl bzw. Mail-Adresse
Beispiel:
ANTISPAM_WHITELIST_FROM_N='1'
ANTISPAM_WHITELIST_FROM_1='nospammer@whitejacket.com'
- ANTISPAM_INFOMAIL
- Über diesen Parameter kann der automatisierte Versand einer Mail aktiviert werden,
die über den Status des Spam-Postfaches informiert. Wird der Parameter auf den Wert
`no' gesetzt, so erfolgt keine Benachrichtigung.
Gültige Werte: yes, no
Standard-Einstellung: ANTISPAM_INFOMAIL='yes'
- ANTISPAM_INFOMAIL_SUBJECT
- Über diesen Parameter wird der Text der Betreffzeile festgelegt, die über den Status
des Spam-Postfaches informiert. Dieser Parameter wird nur ausgewertet, wenn zuvor
ANTISPAM_INFOMAIL='yes' gesetzt wurde.
Gültige Werte: Text
Standard-Einstellung: ANTISPAM_INFOMAIL_SUBJECT='Spam mailbox status'
- ANTISPAM_INFOMAIL_BODY
- Über diesen Parameter wird der Text der Nachricht festgelegt, die über den Status
des Spam-Postfaches informiert. An Stelle des `|'-Zeichens wird vor dem Versand der
Nachricht das Ergebnis der Postfachüberprüfung eingesetzt. Dieser Parameter wird nur
ausgewertet, wenn zuvor ANTISPAM_INFOMAIL='yes' gesetzt wurde.
Gültige Werte: Text incl. `|'-Zeichen
Standard-Einstellung: ANTISPAM_INFOMAIL_BODY='Result of the spam mailbox check:
\n|
\nPlease delete messages after verification!'
- ANTISPAM_INFOMAIL_CRON_SCHEDULE
- Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall eine Überprüfung
des Spam-Postfaches erfolgen soll. Dieser Parameter wird nur ausgewertet, wenn zuvor
ANTISPAM_INFOMAIL='yes' gesetzt wurde. Die fünf Teilparameter haben dabei folgende
Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standard-Einstellung wird täglich um 07:03h eine Überprüfung
durchgeführt. Wer näheres über die verwendete Befehlsyntax erfahren möchte, sollte über
Google nach `man' und `crontab' suchen.
Gültige Werte: Crontab-spezifischer Parametereintrag
Standard-Einstellung: ANTISPAM_INFOMAIL_CRON_SCHEDULE='3 7 * * *'
Um als Spam klassifizierte Nachrichten zu überprüfen wählt man den Menüpunkt `Read messages'
und lässt sich die Betreffzeilen der Nachrichten anzeigen. Durch Eingabe der Nachrichtennummer
kann man sich dann den Nachrichtentext anzeigen lassen und durch drücken von `d' die Nachricht
gegebenenfalls löschen.
Wurde eine Nachricht fälschlicherweise als Spam eingestuft, so geht man wie folgt vor um diese
trotzdem dem Empfänger zuzustellen:
- 1
- Eingeben von `m <Mail-Adresse>' um eine Nachricht weiterzuleiten.
- 2
- Eingabe der Betreffzeile.
- 3
- Durch Eingabe von `m<Nummer der Nachricht>' oder `
~M<Nummer der Nachricht>' wird
die weiterzuleitende Nachricht ausgewählt. Dabei wird mit `~m' nur der Nachrichttext
und mit `~M' zusätzlich auch die Header-Zeilen eingefügt.
- 4
- Mit STRG-D wird die Nachricht abgeschlossen, mit STRG-C abgebrochen.
- 5
- Falls gewünscht Eingabe von CC und BCC-Empfängern, sonst nur mit RETURN bestätigen.
Will man testen ob der Spam-Filter korrekt funktioniert, so kann man sich selbst eine
Nachricht von einem Mail-Account außerhalb des eigenen Netzes mit folgender Zeichenkette,
die keine Leerzeichen oder Zeilenumbrüche enthält, zusenden:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Ab der Version 1.1.2 werden die paketspezifischen Meldungen nicht mehr in die Datei
/var/log/messages geschrieben, sondern es wird eine eigene Datei /var/log/antispam.log
verwendet. Um sicher zu stellen, dass die Logdatei korrekt durch das Programm Logrotate
aktiviert wird, sind folgende Änderungen an der base-Konfiguration, Menü 'System admininstration
-> Base configuration -> Edit base configuration', durchzuführen:
Beispiel:
START_SYSLOGD='yes'
SYSLOGD_DEST_N='2'
SYSLOGD_DEST_1='*.*;local7.none /var/log/messages'
SYSLOGD_DEST_1_LOGROTATE='/etc/init.d/syslogd restart'
SYSLOGD_DEST_2='local7.* /var/log/antispam.log'
SYSLOGD_DEST_2_LOGROTATE='/etc/init.d/antispam restart quiet'
Um die Änderungen sofort zu aktivieren gibt man folgenden Befehl an der Konsole
ein '/etc/init.d/syslogd restart' oder wartet einfach die nächtliche Archivierung
der Logdateien ab.
Jens Vehlhaber
2008-03-25