Im wesentlichen handelt es sich hier um eine Zusammenfassung des HOWTO's von carsten (http://www.ctserver.org/viewtopic.php?t ... =spam+clam) erweitert um die Installation von Antivir Mailgate und die Integration von Spamassassin via SA-Exim.
Das Howto gliedert sich in 6 Abschnitte:
- 1. Grundinstallation des ct-servers
2. Installation des Clamav Virenscanners
3. Installation von Mailgate
4. Installation von Spamassassin
5. Funktionstest
6. Quellen
Das Howto behandelt dabei die folgenden Versionen:
- exim4 4.50-8
- spamassassin 3.0.3-1
- antivir-mailgate-prof-2.0.3-25
In diesem HOWTO starten wir mit einem leeren System um jeden Schritt nachvollziehen zu können.
1. Grundinstallation
Es folgt der Installationsdialog für die Gundinstallation:
- Code: Alles auswählen
boot: manual
Netzwerk einrichten
IP-Adresse: 192.168.1.2
Netzmaske: 255.255.255.0
Gateway: 192.168.1.1
Adresse des DNS-Servers: 192.168.1.2
Rechnername: server
Domainname: zuhause.xx
Festplatten partitionieren
Wie soll partitioniert werden? Partitionstabelle von Hand eingeben
in der Oberfläche Partition auswählen:
Benutzen als: ext3
Partition formatieren: ja
Einhängepunkt (mount): /
Mount-Options: defaults
Label: /
Reservierte Blöcke: 5%
Nutzung: Standard
Boot-Flag: Aus
Größe: 4.3GB
Anlegen der Partition beenden
Partitionierung beenden und Änderungen übernehmen
Änderungen auf die Festplatte schreiben? Ja
Grub-Bootloader auf einer Festplatte installieren
Den Bootloader in den MBR installieren? Nein
Device für den Bootloader: leer lassen um keinen Bootloader zu installieren
- Fehlermeldung und Anzeige des Hauptmenüs
Debian-Installer Hauptmenü
Ohne Bootloader fortfahren Weiter
Installation beendet
CD entfernen und neu booten
Grub per Hand um den Eintrag:
- Code: Alles auswählen
kernel (hd0,14)/vmlinuz root=/dev/hda15 vga=normal
initrd (hd0,14)/initrd.img
erweitern (nur Beispiel).
Zeitzone konfigurieren
- Code: Alles auswählen
Ist die Hardware-Uhr auf GMT eingestellt ? Nein
Befinden Sie sich wirklich in der Zeitzone Europe/Berlin? Ja
Konfiguriere passwd
Root-Passwort: rootsecret
Geben Sie den vollen Namen für den neuen Benutzer ein: user1
Geben Sie den Benutzernamen für Ihr Konto ein: user1
Geben Sie bitte das Passwort für den neuen Benutzer ein: user1secret
Konfiguration - CD-Check
- Code: Alles auswählen
ct-server CD einlegen: weiter
Grundkonfiguration
infra
bind9
dhcp3
ipcop
Passwort für die Systemverwaltung (root)? ipcoproot
Passwort für die Web-Konfiguration (admin)? ipcopadmin
intra
apache2
secure
clamav
serv
samba
cupsys
util
ssh
webmin
Konfiguration abschließen
Wollen Sie die Konfigurationsänderungen jetzt untersuchen lassen? ja
Überprüfen der Änderungen
Verlassen
Detailkonfiguration überprüfen
Konfiguration IPCop-Firewall
Benutzername für DSL Internetzugang ? ....
Passwort für DSL Internetzugang ? ....
Konfiguration ausführen
Erstinstallation abgeschlossen. System neu booten? ja
BEM 1.: Obwohl wir die Installation von Exim nicht ausgewählt haben wird Exim auf die Platte geschrieben und eingerichtet. Um jedoch die Heavy Version, die für den Virusscan benötigt wird zu installieren verwenden wir hier als Quelle eine Debian DVD ( <[Debian GNU/Linux 3.1 r0a _Sarge_ - Official i386 Binary-1 (20050607)]> ) und fügen sie mit
server# apt-cdrom add
der sources.list hinzu. Natürlich kann man auch einen Debian-Mirror in die sources.list eintragen.
BEM 2.: Die Partitionsauswahl und die Wahl einiger anderer Parameter der Grundinstallation eignen sich nicht unbedingt für ein Produktivsystem und sollten entsprechend angepasst werden.
Danach verwenden wir aptitude um die fehlenden Pakete zu installieren:
server# aptitude
Mit
/exim4-daemon-heavy
suchen wir das entsprechende Exim4 Paket und markiere es mit + für die Installation. (Dabei wird der exim4-daemon-light automatisch zum Löschen markiert.)
Weiters werden automatisch folgenden Pakete für die Installation markiert:
libmysqlclient12 4.0.24-10
libperl5.8 5.8.4-8
libpq3 7.4.7-6sar
mysql-common 4.0.24-10
exim4-daemon-heavy 4.50-8
Danach benötigen wir noch:
fetchmail 6.2.5-12
cyrus21 2.1.18-1
spamassassin 3.0.3-1
(Bem: Installiert auch libsasl2 2.1.19-1.5 und sasl2-bin 2.1.19-1.5)
Schließlich erscheint noch der folgende Konfigurationsdialog:
- Code: Alles auswählen
Detailconfiguration IMAP-Server
Passwort für cyrus-Verwaltung: cyrussecret
Konfiguration des SMTP-Servers
SMTP-Server Ihres Providers/Hosters: leer für lokale Zustellung
Name der DNS-Domain für abgehende E-Mail: zuhause.xx
Benutzername für den SMTP-Zugriff: leer
Passwort für SMTP-Zugriff: leer
Am Ende legen wir noch ein zwei Testuser an. Damit auch lokal Mail zugestellt werden kann müssen die Benutzer auch einen lokalen Account haben.
Bsp: um User imap1 und imap2 anzulegen
- Code: Alles auswählen
server# imapcreate.pl -u cyrus -p Passwort fr cyrus -m imap1 localhost
server# imapcreate.pl -u cyrus -p Passwort fr cyrus -m imap2 localhost
server# adduser --gecos "imap1" imap1
server# adduser --gecos "imap2" imap2
Squirrelmail (Optional)
um Squirrelmail zu verwenden installiert man es mit ctsrvcfg und setzt dann folgenden Link
ln -s /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail.conf
Weiters ist das Paket libapache2-mod-php4 wie folgt zu installieren:
server# apt-get install libapache2-mod-php4
Tipp: Um herauszufinden welche Konfigurationsdatei Exim verwendet kann man folgendes Kommando benutzen:
$ exim4 -bV | tail -1
Wird ähnliches wie
/etc/exim4/exim4.conf
ausgegeben so verwendet Exim eine "monolithische" Konfigurationsdatei. Im anderen Fall
/var/lib/exim4/config.autogenerated
werden eventuell mehrere Dateien verwendet. Gibt es in der Datei /etc/exim4/update-exim4.conf.conf die Option
dc_use_split_config='true'
dann wird die config.d/ Struktur verwendet. Ist der Wert auf 'false' gesetzt dann wird die Template Konfiguration verwendet (hier /etc/exim4/exim4.conf.template ).
2. CLAMAV konfigurieren
in /etc/exim4/exim4.conf.template nach dem Kommentar main/02_exim4-config-options
- Code: Alles auswählen
av_scanner=clamd:/var/run/clamav/clamd.ctl
einfügen.
Danach die ACL-Regeln für Malware erstellen. Dazu nach dem Abschnitt acl/40_exim4-config_check_data und unmittelbar vor dem Kommentar:
- Code: Alles auswählen
# This hook allows you to hook in your own ACLs without...
# ...
# ...
.ifdef CHECK_DATA_LOCAL_ACL_FILE
.include CHECK_DATA_LOCAL_ACL_FILE
.endif
folgende Einträge einfügen:
- Code: Alles auswählen
deny
message = Serious MIME detected ($demime_reason)
log_message = $sender_host_address tried sending defect MIME
demime = *
condition = ${if > {$demime_errorlevel}{2}{1}{0}}
deny
message = Message contains malware or virus ($malware_name)
log_message = $sender_host_address tried sending $malware_name
demime = *
malware = *
deny
message = Attachment has unsupported file format $found_extension
log_message = $sender_host_address tried sending mime in format $found_extension
demime = bat:cmd:com:cpl:dll:exe:pif:scr:vb:vbs
Kurze Erklärung:
Die "deny"-Blöcke werden sequentiell abgearbeitet.
Zuerst wird gecheckt ob die Anhänge in Ordnung sind. Danach werden sie ausgepackt und auf Viren geprüft. Zuletzt erfolgt noch eine Prüfung auf verdächtige Anhänge aufgrund deren Extension.
Der eigentliche Aufruf des Virusscanners erfolgt in der Zeile "malware = *". '*','1' oder 'true' führen dazu, dass die Mail auf Viren geprüft wird. Wird ein Virus gefunden enthält die Variable $malware_name den Virusnamen und der "deny"-Teil ausgeführt. Um Mails zu akzeptieren bei denen es zu Problemen mit dem Mailscanner kommt kann man /defer_ok wie folgt anfügen:
malware = */defer_ok
Zum Schluß muß man den User clamav noch der Gruppe Debian-exim hinzufügen, damit dieser Zugriff auf das Verzeichnis /var/spool/exim4/scan bekommt.
(NB: in der Datei /etc/clamav/clamd.conf sollte man checken, dass die Option ScanMail vorhanden ist.)
Bevor man nun seine Mails nach Viren scannen läßt, sollte man unbedingt die Virusdatenbank updaten. Dazu dient das Tool freshclam, welches man einfach mit
server# freshclam
aufruft, nachdem man eine Verbindung zum Internet hergestellt hat.
3. MAILGATE
Die Installation der Antivirensoftware AntiVir MailGate ist sehr einfach:
1.) Download des Tar-Files von http://www.antivir.de/de/produkte/antiv ... index.html
2.) ein Keyfile beantragen http://www.antivir.de/order/privreg/linux.htm
3.) das Tar-File entpacken und als root install aufrufen
4.) Fragen des Installscripts beantworten
5.) in der Datei /etc/avmailgate.conf kontrollieren ob die Zeile
ForwardTo SMTP: localhost port smtp-backdoor
existiert.
6.) in /etc/services
smtp-backdoor 825/tcp
einfügen
7.) in /etc/exim4/exim4.conf.template folgende Zeile in den Optionen (Bereich main/02_exim4_config_options)
daemon_smtp_port = smtp-backdoor
einfügen.
8.) mit
/etc/initd/exim4 restart
avmailgate start
sowohl exim als auch Mailgate starten.
Danach kann man wie weiter unten beschrieben wird Tests durchführen.
Aussortierte Mails landen nun im Ordner /var/spool/avmailgate/rejected. Hier können sie von Hand gelöscht werden oder mit dem Tool "avq" bearbeitet werden.
Der oben beschriebene Weg Mailgate zu installieren führt zum Betrieb von Mailgate im so genannten "Proxy Modus".
Es gibt auch noch eine zweite Variante Mailgate zu betreiben. Diese nennt sich "Content filter Modus". Wie dabei vor zu gehen ist wird detailiert in der zugehörenden Doku beschrieben (siehe <Avmailgate Installationsverzeichnis>/doc/INSTALL.DE).
Um die Meldungen von AvMailGate leichter verfolgen zu können, definiert man in der Datei /etc/avmailgate.conf einen Pfad für die Variable LogFile wie folgt:
LogFile /var/log/avmailgate.conf
Weiters kann man auch die Attachments von Mailgate filtern zu lassen kann man folgende Einträge in der /etc/avmailgate.conf machen:
BlockExtensions bat;cmd;com;cpl;dll;exe;pif;scr;vb;vbs
4. SPAMASSASSIN
Prinzipiell gibt es mehrere Möglichkeiten Spamassassin in Exim zu integrieren. Im Folgenden werden zwei vorgestellt:
A. Exiscan-ACL's
Dabei sollte im Main Teil der Exim-Konfiguration folgende ACL definiert sein:
acl_smtp_data = acl_check_data
und nach dem Abschnitt main/02-exim4-config-options
spamd_address=127.0.0.1 783
eintragen.
Dies führt dazu, dass Mails nachdem die Daten vollständig empfangen wurden mit den Regeln, die im ACL-Abschnitt nach "acl_check_data" definiert wurden, geprüft werden.
Der Abschnitt main/02_exim4-config_options sieht dann wie folgt aus:
- Code: Alles auswählen
#####################################################
### main/02_exim4-config_options
#####################################################
av_scanner=clamd:/var/run/clamav/clamd.ctl
spamd_address=127.0.01 783
### main/02_exim4-config_options
#################################
system_filter=/etc/exim4/system.filter
accept_8bitmime
print_topbitchars
never_users=root
Der Systemfilter wird verwendet um Header umzuschreiben. Weiter unten wird gezeigt wie dieser Filter aussieht.
accept_8bitmime
Diese Option führt dazu, dass Exim 8BITMIME in der Antwort auf einen SMTP EHLO Befehl sendet, und den BODY= Parameter bei MAIL Befehlen akzeptiert. (Laut Exim Docu kann man dies auch weg lassen, da Exim keine besonderen Vorkehrungen für diese Befehle besitzt.)
print_topbitchars
Standardmäßig betrachtet Exim nur Zeichen die im Bereich 32-126 als druckbare Zeichen. So werden nicht druckbare Zeichen in Escape-Sequenzen übersetzt um das Layout für Logeinträge beizubehalten. Ist print_topbitchars gesetzt so werden auch Zeichen ab 128 und darüber als druckbare Zeichen verwendet.
never_users=root
Diese Option führt dazu, dass der Empfangsprozeß von Nachrichten auf keinen Fall als "root" User erfolgt. Ein anderes gebräuchliches Beispiel wäre
never_users=root:deamon:bin
zu verwenden.
Unterhalb der Einträge für CLAMAV werden jene für Spamassassin eingefügt:
- Code: Alles auswählen
warn message=X-Spam-Score:$spam_score ($spam_bar)
condition=${if<{$message_size}{80k}{1}{0}}
spam=nobody:true
warn message=X-Spam-Report:$spam_report
condition=${if<{$message_size}{80k}{1}{0}}
spam = nobody:true
condition=${if>{$spam_score_int}{1}{1}{0}}
warn message=X-Spam-Flag: YES
condition=${if<{$message_size}{80k}{1}{0}}
spam=nobody
deny
message=This mesage scored $spam_score points.
condition=${if<{$message_size}{80k}{1}{0}}
spam=nobody:true
condition=${if>{$spam_score_int}{30}{1}{0}}
Erklärung:
warn
Die "warn" ACL-Blöcke führen dazu, dass wenn alle Bedingungen erfüllt sind eine Headerzeile eingefügt wird. (BEM.: Mit der Option log_message="Mein Text fürs Log" kann man Text direkt in die Mainlog-Datei schreiben).
condition
Mit Hilfe der "condition" Zeilen werden die Bedingungen formuliert, die Mails erfüllen müssen um die entsprechenden Aktionen auszuführen.
spam
Die Zeile "spam=nobody" gibt an, dass für Spamassassin das systemweite Profil (Konfiguration) verwendet werden soll. Man kann statt nobody auch einen beliebigen, im System unbekannten, User verwenden. Die "spam"-Condition gibt "true" zurück wenn der im Spamprofil abgelegte Threshold erreicht bzw. überschritten wird. Mit spam=nobody:true erreicht man, dass die Bedingung immer erfüllt ist. Dies ist sinnvoll wenn man danach den Spamscore abfragt und damit die Akzeptanz von Mails steuert.
Nun benötigen wir nur noch den oben erwähnten Systemfilter. Dazu erstellen wir die Datei /etc/exim4/system.filter mit dem folgenden Inhalt:
- Code: Alles auswählen
if $header_X-Spam-Flag: contains "YES" then
headers add "New-Subject: ****SPAM**** $h_subject:"
headers remove subject
headers add "Subject: $h_New-Subject:"
headers remove New-Subject
endif
Dies führt dazu, dass alle Mails die das Spam-Flag auf "Yes" gesetzt haben ein neues Subject erhalten.
Zum Schluß müssen wir noch in /etc/default/spamassassin
ENABLE=1
setzen, damit Spamassassin automatisch gestartet wird.
B. SA-Exim
Eine weitere Möglichkeit Spamassassin zu integrieren bietet das Paket sa-exim welches man mit
server# apt-get install sa-exim
installiert. Abhängig von der Verwendung des Mailservers, hat dies den Vorteil, dass Spam bereits zum Zeitpunkt des SMTP abgelehnt werden.
Danach
a.) in der Datei /etc/exim4/exim4.conf.template nach MAIN CONFIGURATION SETTINGS unterhalb des Eintrags "exim_path"
local_scan_path=/usr/lib/exim4/local_scan/sa-exim.so
eintragen.
Sonst benötigt Sa-Exim keine Einträge in der exim4.conf.template Datei.
b.) In der Datei /etc/exim4/sa-exim.conf
setzen wir die Option
SAEximRunCond: 1
auf 1 oder kommentieren die Zeile aus um alle Mails zu scannen.
Auch alle weiteren Einstellungen die die Akzeptanz der Mails betreffen werden in der Datei /etc/exim4/sa-exim.conf vorgenommen.
Folgende Optionen sind für den Start interessant:
- SAEximRejectCond gibt an ob Mails die als Spam erkannt wurden verworfen werden sollen.
SApermreject gibt den "threshold" spam score an.
SApermrejectSavCond gibt an ob Mails die verworfen wurden gespeichert werden sollen.
SApermrejectsave gibt den Pfad an wo verworfene Mails gespeichert werden sollen
SAmsgpermrej gibt die Message an die im Falle einer Spam zurückgesendet wird.
Will man auch für SA-Exim das Subject mit *****SPAM***** kennzeichnen so kann man in der Datei /etc/spamassassin/local.cf
rewrite_header Subject ***** Spam(_SCORE_) *****
eintragen.
(Bem.: Das Tag STARS(*) gibt dem Score entsprechend viele Sterne aus.)
Die Datei /etc/spamassassin/local.cf sieht wie folgt aus:
- Code: Alles auswählen
# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
###########################################################################
#
rewrite_header subject *****SPAM (_SCORE_)*****
report_safe 1
allways_add_report 1
# trusted_networks 212.17.35.
# lock_method flock
required_score 0.5
lock_method flock
ok_languages de en
ok_locales en
trusted_networks 192.168/16 127/8
bayes_auto_learn 1
bayes_auto_learn_threshold_spam 3.0
bayes_min_ham_num 0
bayes_min_spam_num 0
Erklärung:
- report_save hier kann man einstellen ob die Originalmessage als text/plain (Option 2) oder als message/rfc822 MIME (Option 1) angehängt wird. Bei Mailclients die Attachments automatisch öffnen ist es vorteilhaft report_save 2 zu setzen. Ist der Wert 0 so werden nur die Spamhaeders eingefügt. Die Message selbst bleibt dabei unverändert.
ok_languages zeigt an welche Sprachen akzeptiert werden. Spamassassin kann aber nicht immer die korrekte Sprache erkennen. Gebräuchliche Optionen sind de..Deutsch, en..Englisch (Nähere Infos in man Mail::SpamAssassin::Conf)
trusted_networks ip.add.re.ss/mask zeigt an welchen Netzwerken bzw. Hosts man vertraut und somit kein DNS blacklist check durchführt
use_bayes (0|1) zeigt an ob der Naive-Bayesian-Style Classifier verwendet werden soll
use_bayes_rules (0|1) gibt an ob die Bayesian Classifier Regeln aktiviert werden sollen oder nicht
bayes_auto_learn (0|1) damit aktiviert/deaktiviert man die Auto-Learn-Funktion die ab einem gewissen Threshold Mails dem "learning-system" zukommen läßt
bayes_auto_learn_threshold_nonspam n.nn gibt die Grenze für bayesian Nonspam-Messages an
bayes_auto_learn_threshold_spam n.nn gibt die Grenze für bayesian Spam-Messages an
bayes_min_ham_num und bayes_min_spam_num gibt an ab wie vielen Messages das Bayesian-System aktiviert wird. Es wird also abgewartet bis das System eine gewisse Anzahl von Spam und Notspam-Messages gelernt hat, bevor das System aktiviert wird.
lock_method type hier definiert man welcher Lockingmechanismus verwendet werden soll (bei Unix flock)
Es gibt noch eine ganze Menge von weiteren Optionen die man am Besten im man von Mail::SpamAssassin::Conf nachließt.
Ein weiteres Feature von SA-Exim ist die "Teergrube". Damit kann man eindeutige Spammer bremsen indem man alle 10 Sekunden eine "Continuation line" sendet
451- wait for more output
451- wait for more output
...
Dadurch werden Ressourcen des Spammers gebunden und verbraten.
Man sollte aber vorsichtig sein wessen Ressourcen man dabei verschwendet. Paßt man nicht auf sind es womöglich jene des eigenen Mailrelais.
5. Funktionstest
Zu Beginn wollen wir die Funktion von Spamassassin testen. Dazu starten wir Spamassassin mit
/etc/init.d/spamd start
Nun testen wir ob Exim Mails annimmt und für bekannte User akzeptiert. Dazu verwenden wir zunächst Telnet um eine Mail zu versenden.
- Code: Alles auswählen
# telnet server 25
220 server.zuhause.xx ESMTP Exim 4.50 Mon, 19 Sep 2005 11:37:45 +0200
HELO imap1
250 server.zuhause.xx Hello imap1 [192.168.1.40]
MAIL FROM: imap1@zuhause.xx
250 OK
RCPT TO: imap2@zuhause.xx
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
From: imap1@zuhause.xx
To: imap2@zuhause.xx
Subject: ein Test
test test
.
250 OK id=1EHI6U-0000Qc-R0
Wenn der Server mit 250... antwortet sollte alles OK sein.
In der Mailbox sollte nun eine Message wie folgt liegen:
- Code: Alles auswählen
From: imap1@zuhause.xx
To: imap2@zuhause.xx
Message-Id: <E1EHI6U-0000Qc-R0@server.zuhause.xx>
Date: Mon, 19 Sep 2005 11:39:00 +0200
X-SA-Exim-Connect-IP: 192.168.1.40
X-SA-Exim-Mail-From: imap1@zuhause.xx
Subject: ein Test
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on server.zuhause.xx
X-Spam-Level:
X-Spam-Status: No, score=-2.5 required=2.0 tests=ALL_TRUSTED,AWL,NO_REAL_NAME
autolearn=ham version=3.0.3
X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100)
X-SA-Exim-Scanned: Yes (on server.zuhause.xx)
X-Spam-Status: No, hits=1.1 required=5.0
tests=NO_REAL_NAME, MSGID_FROM_MTA_SHORT
autolearn=no version=2.6
X-Spam-Level: *
Im Falle von Exiscan sieht die Message wie folgt aus:
- Code: Alles auswählen
Return-Path: <imap1@zuhause.xx>
Received: from server.zuhause.xx ([unix socket])
by server (Cyrus v2.1.18-IPv6-Debian-2.1.18-1) with LMTP; Mon, 19 Sep 2005 11:54:49 +0200
X-Sieve: CMU Sieve 2.2
Received: from [192.168.1.40] (helo=imap1)
by server.zuhause.xx with smtp (Exim 4.50)
id 1EHILt-0000Rw-Vy
for imap2@zuhause.xx; Mon, 19 Sep 2005 11:54:49 +0200
From: imap1@zuhause.xx
To: imap2@zuhause.xx
Subject: ein Test
Message-Id: <E1EHILt-0000Rw-Vy@server.zuhause.xx>
Date: Mon, 19 Sep 2005 11:54:49 +0200
X-Spam-Score:-2.6 (--)
test test
Sollte die Mail keinen Spam Header (X-Spam-....) haben oder beim Versenden ein Fehler (4xx) auftreten sollte man die Exim Konfiguration bzw. die Rejectlogs ansehen um den Grund zu finden.
Als zweiten Test könnte man von einem Mailclient folgendes Mail senden:
- Code: Alles auswählen
From: imap2 <imap2@zuhause.xx>
To: imap1@zuhause.xx
Subject: SA-EXIM MAKE MONEY !!!!!!! GTUBE
Date: Tue, 20 Sep 2005 08:10:14 -0800
X-Mailer: Sylpheed version 1.0.3 (GTK+ 1.2.10; i486-pc-linux-gnu)
GTUBE
(NB.: Der Text ist nicht so wichtig. Es kommt vor allem darauf an, dass nur Großuchstaben, viele Leerzeichen und Rufzeichen verwendet werden. Der String GTUBE ist dabei so ähnlich wie die Eicar Virussignatur und erhöht den Spamscore.)
In der Mailbox angekommen, sieht die Mail wie folgt aus:
- Code: Alles auswählen
Return-Path: <imap2@zuhause.xx>
Received: from server.zuhause.xx ([unix socket])
by server (Cyrus v2.1.18-IPv6-Debian-2.1.18-1) with LMTP; Tue, 20 Sep 2005 08:20:33 +0200
X-Sieve: CMU Sieve 2.2
Received: from [192.168.1.40] (helo=localhost)
by server.zuhause.xx with smtp (Exim 4.50)
id 1EHbUW-0000SP-PP
for imap1@zuhause.xx; Tue, 20 Sep 2005 08:20:33 +0200
Date: Tue, 20 Sep 2005 08:10:14 -0800
From: imap2 <imap2@zuhause.xx>
To: imap1@zuhause.xx
Message-Id: <20050920081014.69291693.imap2@zuhause.xx>
X-Mailer: Sylpheed version 1.0.3 (GTK+ 1.2.10; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 192.168.1.40
X-SA-Exim-Mail-From: imap2@zuhause.xx
Subject: SA-EXIM MAKE MONEY !!!!!!! GTUBE
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on server.zuhause.xx
X-Spam-Level: *
X-Spam-Status: No, score=1.1 required=2.0 tests=ALL_TRUSTED,AWL,
DATE_IN_FUTURE_06_12,PLING_PLING,SUBJ_ALL_CAPS,SUBJ_HAS_SPACES,
SUBJ_HAS_UNIQ_ID autolearn=no version=3.0.3
X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100)
X-SA-Exim-Scanned: Yes (on server.zuhause.xx)
GTUBE
Im Falle von Exiscan erhält man einen etwas ausführlicheren Header:
- Code: Alles auswählen
Return-Path: <imap2@zuhause.xx>
Received: from server.zuhause.xx ([unix socket])
by server (Cyrus v2.1.18-IPv6-Debian-2.1.18-1) with LMTP; Tue, 20 Sep 2005 08:13:06 +0200
X-Sieve: CMU Sieve 2.2
Received: from [192.168.1.40] (helo=localhost)
by server.zuhause.xx with smtp (Exim 4.50)
id 1EHbNK-0000RT-97
for imap1@zuhause.xx; Tue, 20 Sep 2005 08:13:06 +0200
Date: Tue, 20 Sep 2005 08:02:48 -0800
From: imap2 <imap2@zuhause.xx>
To: imap1@zuhause.xx
Subject: EXISCAN MAKE MONEY !!!!!!! GTUBE
Message-Id: <20050920080248.2d2b4595.imap2@zuhause.xx>
X-Mailer: Sylpheed version 1.0.3 (GTK+ 1.2.10; i486-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Score:0.9 (/)
X-Spam-Report:Software zur Erkennung von "Spam" auf dem Rechner
server.zuhause.xx
hat die eingegangene E-mail als mXgliche "Spam"-Nachricht identifiziert.
Die ursprXngliche Nachricht wurde an diesen Bericht angehXngt, so dass
Sie sie anschauen kXnnen (falls es doch eine legitime E-Mail ist) oder
Xhnliche unerwXnschte Nachrichten in Zukunft markieren kXnnen.
Bei Fragen zu diesem Vorgang wenden Sie sich bitte an
the administrator of that system
Vorschau: GTUBE [...]
Inhaltsanalyse im Detail: (0.9 Punkte, 2.0 benXtigt)
Pkte Regelname Beschreibung
---- ---------------------- --------------------------------------------------
0.6 SUBJ_HAS_SPACES Betreff enthXlt sehr viele Leerzeichen
0.4 SUBJ_ALL_CAPS Betreff enthXlt nur GroXbuchstaben
1.1 SUBJ_HAS_UNIQ_ID Eindeutige Identifizierungskennzeichnung im Betreff
1.2 DATE_IN_FUTURE_06_12 Absendezeit 6 bis 12 Stunden nach Datum in "Received"-Kopfzeilen
-2.8 ALL_TRUSTED Nachricht wurde nur Xber vertrauenswXrdige Rechner weitergeleitet
0.4 PLING_PLING UngewXhnlich viele Ausrufezeichen im Betreff
GTUBE
Zuletzt versenden wir mit einem beliebigen Mailclient eine Spam die verworfen wird mit dem folgenden Text:
- Code: Alles auswählen
This is the GTUBE, the
Generic
Test for
Unsolicited
Bulk
Email
If your spam filter supports it, the GTUBE provides a test by which you
can verify that the filter is installed correctly and is detecting incoming
spam. You can send yourself a test mail containing the following string of
characters (in upper case and with no white spaces and line breaks):
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
You should send this test mail from an account outside of your network.
Hier sollte man 550 als Antwort bekommen und die Mail sollte im Falle von SA-Exim in dem Rejected-Message Ordner landen (falls dies konfiguriert wurde).
Der Inhalt dieser Mail befindet sich auch in der Datei /usr/share/doc/spamassassin/examples/sample-spam.txt
CLAMAV
Um Clamav zu testen starten wir zuerst den Daemon mit:
/etc/init.d/clamd start
Zum Testen verwendet man am besten die Eicar Testsignatur.
Mittels Telnet kann man sich den Eicar-String nach der DATA Zeile senden. Als Ergebnis sollte man
550 This message contains a virus or other harmful content (Eicar-Test-Signature).
Danach kann man versuchen den Eicar Virus in ein Zipfile zu verpacken und erneut mit einem Mailclient versenden.
Sollte es Probleme geben so kann man wie folgt testen ob Clamav überhaupt funktioniert:
telnet 3310
scan /Pfad/zum/Eicar/Virus
Clamav sollte den Virus erkennen.
Danach kann man das Eicarfile in den Ordner /var/spool/exim/scan kopieren und erneut wie oben scannen. Gibt es dabei Probleme so liegt wahrscheinlich ein Rechteproblem vor.
6. Quellen
[1] Exiscan-ACL: http//duncanthrax.net/exiscan-acl
[2] SA-Exim: http://marc.merlin.org/linux/exim/sa.html
[3] SA-Exim Readme: /usr/share/doc/sa-exim/README.gz
[4] Spamassassin: http://spamassassin.apache.org/
[5] Clamav: http://www.clamav.net/ml.html
[6] Exim-Spam-Clam Howto: http://www.timj.co.uk/linux/Exim-SpamAn ... anning.php
Spamassassin:
[7] http://wiki.apache.org/spamassassin/Usi ... assin.html
[8] Kapitel 40 Content scanning der Exim Doku /usr/share/doc/exim4-doc-html/html/spec.html
Für Spamassassin gibt es einen netten Konfigurationsgenerator den man über ein Webinterface steuern kann:
[9] http://www.yrex.com/spam/spamconfig.php
ClamAV:
[10] http://www.clamav.net
Um ClamAV aktuell zu halten empfiehlt es sich folgenden Eintrag in die sources.list aufzunehmen:
stable/sarge:
deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main
testing/etch:
deb http://ftp2.de.debian.org/debian-volatile etch/volatile main
Grundkonfiguration:
[11] c't special 04/05 S82ff
[12] Tipps und Howtos http://www.ctserver.org
AntiVir Mailgate
[13] MailGate Download http://www.antivir.de/de/produkte/antiv ... index.html
[14] MailGate Registrierung http://free-av.de/unixreg_form_de.htm






