Dieses Paket ist als Zusatzpaket 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 1.8.12 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 so viele Empfänger wie möglich zu erreichen, obwohl diese die Zusendung der Nachricht nicht verlangt haben. Meistens werden über Spam dubiose Produkte kommerziell beworben, die versprechen in 14 Tagen zum Millionär zu werden, oder es werden nicht ganz legale Services angepriesen.
An dieser Stelle kommt das Antispam-Paket ins Spiel!
Wenn die Überprüfung auf Spam über den Parameter EXISCAN_SPAMD_ENABLED (Mail-Paket) aktiviert wurde, wird jede eingehende Nachricht nach diversen Regeln bewertet und bei der Identifikation als Spam als solche behandelt. Standardmäßig wird z.B., in Abhängigkeit von dem Parameter EXISCAN_SPAMD_ACTION (Mail-Paket) 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 E-Mail-Nutzer vor Nachrichten geschützt, die sie normalerweise sowieso nicht empfangen wollen.
Das Antispam-Paket besteht aus folgender Komponente:
Dieses Paket benötigt zur korrekten Funktion zwingend die installierten Pakete 'Mail', 'Perl' und andere Perl-Funktionspakete.
Das Antispam-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses 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:
Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen.
Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen 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.
Gültige Werte: yes, no
Standardeinstellung: START_ANTISPAM='no'
Gültige Werte: IP-Adressen und/oder Netzwerke
Beispiel: ANTISPAM_ALLOWED_ADDRESSES='192.168.6.20,192.168.7.0/24'
Standardeinstellung: ANTISPAM_ALLOWED_ADDRESSES=”
Gültige Werte: leer, all, IP-Adresse
Beispiel: ANTISPAM_LISTEN_ADDRESSES='192.168.0.20'
Standardeinstellung: ANTISPAM_LISTEN_ADDRESSES=”
Gültige Werte: yes, no, test[: name1 name2]
Standardeinstellung: ANTISPAM_DNS_AVAILABLE='test'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_ENABLE_RBL_CHECKS='yes'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_ENABLE_SPAMCOP='no'
Gültige Werte: Postfachname optional inkl. Pfad
Standardeinstellung: ANTISPAM_MAILBOX_FILE=”
Gültige Werte: Zahl
Standardeinstellung: ANTISPAM_MAX_CHILDREN='0'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_BAYES_AUTO_LEARN='yes'
Gültige Werte: Zahl bzw. Postfachname inkl. Pfad
Beispiel:
ANTISPAM_BAYES_LEARN_FROM_SPAM_N='1'
ANTISPAM_BAYES_LEARN_FROM_SPAM_1='/var/spool/mail/spam'
Gültige Werte: Zahl bzw. Postfachname inkl. Pfad
Beispiel:
ANTISPAM_BAYES_LEARN_FROM_HAM_N='1'
ANTISPAM_BAYES_LEARN_FROM_HAM_1='/home/frank/.imapmail/ham-archive'
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird jeweils am Sonntag um 03:05h der Vorgang angestoßen. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach 'man' und 'crontab' suchen.
Gültige Werte: Crontab-spezifischer Parametereintrag
Standardeinstellung: ANTISPAM_BAYES_LEARN_CRON_SCHEDULE='5 3 * * 0'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_AUTO_WHITELIST='yes'
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
Standardeinstellung: ANTISPAM_AUTO_WHITELIST_FACTOR='0.5'
Gültige Werte: Zahl bzw. E-Mail-Adresse
Beispiel:
ANTISPAM_BLACKLIST_FROM_N='1'
ANTISPAM_BLACKLIST_FROM_1='spammer@spammershome.com'
Gültige Werte: Zahl bzw. E-Mail-Adresse
Beispiel:
ANTISPAM_WHITELIST_FROM_N='1'
ANTISPAM_WHITELIST_FROM_1='nospammer@whitejacket.com'
Über die nachfolgenden Parameter kann die Funktion zur automatisierten
Aktualisierung der Spamregeln konfiguriert werden. Wird der Parameter
ANTISPAM_RULE_UPDATE='yes' gesetzt, so wird
einmal alle 24 Stunden nach aktualisierten Spamregeln gesucht. Häufigere
Prüfungen sind nicht zu empfehlen, da der eigene Rechner ansonsten von
Aktualisierungen ausgeschlossen werden könnte.
Falls neue Regeln herunter geladen wurden, wird mittels des zugehörigen
GnuPG-Schlüssels geprüft ob die Archive unverändert übertragen wurden.
Danach werden die Regeln im Verzeichnis /var/antispam/spamassassin/sa-update-files
entpackt und ein Neustart des spamd-Prozesses angefordert.
Im Anschluss startet das im Hintergrund laufende antispam-control-
Skript den Prozess wie gewünscht neu.
Da die eigentlichen Spamregeln hierdurch nicht überschrieben werden,
ist es jederzeit möglich zur Ursprungskonfiguration zurück zu kehren
ohne das Antispam-Paket neu installieren zu müssen.
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_RULE_UPDATE='no'
Gültige Werte: Zahl
Beispiel:
ANTISPAM_RULE_CHANNEL_N='1'
ANTISPAM_RULE_CHANNEL_1_ACTIVE='no'
ANTISPAM_RULE_CHANNEL_1_NAME='updates.spamassassin.org'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_RULE_CHANNEL_1_ACTIVE='no'
Gültige Werte: gültiger Kanalname
Beispiel: ANTISPAM_RULE_CHANNEL_1_NAME='updates.spamassassin.org'
Gültige Werte: Zahl
Beispiel:
ANTISPAM_RULE_KEY_N='2'
ANTISPAM_RULE_KEY_1_ACTIVE='no'
ANTISPAM_RULE_KEY_1_URL='http://spamassassin.apache.org/updates/GPG.KEY'
ANTISPAM_RULE_KEY_1_ID='5244EC45'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_RULE_KEY_1_ACTIVE='no'
Gültige Werte: gültige GnuPG-URL
Beispiel: ANTISPAM_RULE_KEY_1_URL='http://spamassassin.apache.org/updates/GPG.KEY'
Gültige Werte: gültige GnuPG-ID
Beispiel: ANTISPAM_RULE_KEY_1_ID='5244EC45'
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird jeden Tag um 23:40h diese Prüfung durchgeführt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach 'man' und 'crontab' suchen.
Gültige Werte: Crontab-spezifischer Parametereintrag
Standardeinstellung: ANTISPAM_RULE_CRON_SCHEDULE='40 23 * * *'
Gültige Werte: yes, no
Standardeinstellung: ANTISPAM_INFOMAIL='yes'
Gültige Werte: Text
Standardeinstellung: ANTISPAM_INFOMAIL_SUBJECT='Spam mailbox status'
Gültige Werte: Text inkl. '|'-Zeichen
Standardeinstellung: ANTISPAM_INFOMAIL_BODY='Result of the spam mailbox check: \n| \nPlease delete messages after verification!'
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird täglich um 07:03h eine Überprüfung durchgeführt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach 'man' und 'crontab' suchen.
Gültige Werte: Crontab-spezifischer Parametereintrag
Standardeinstellung: 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 <E-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 Nachrichtentext
und mit '~ M' zusätzlich auch die Kopfzeilen 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 Mailaccount 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 Paketversion 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='/usr/sbin/service --quiet restart syslogd' SYSLOGD_DEST_2='local7.* /var/log/antispam*.log' SYSLOGD_DEST_2_LOGROTATE='/usr/sbin/service --quiet restart antispam'
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.