Modul Menü

Wer ist online?

Insgesamt sind 5 Besucher online: 1 registrierter, 0 unsichtbare und 4 Gäste
Der Besucherrekord liegt bei 226 Besuchern, die am 8. Jul 2012, 14:25 gleichzeitig online waren.

Mitglieder: Google [Bot]

basierend auf den aktiven Besuchern der letzten 5 Minuten

Statistik

20 Beiträge


Geburtstage

Heute hat kein Mitglied Geburtstag Geburtstage in den nächsten 3 Tagen: lomdar67 (46)

Kalender

<< Juni 2013 >>
Mo Di Mi Do Fr Sa So
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Fest u. Feiertage Kalender-Ereignisse

Anstehende Termine:

Exim, Spam, Clamav, Mailgate Howto

HOWTOs zum c't Server

Moderator: Moderatoren Team

Exim, Spam, Clamav, Mailgate Howto

Beitragvon mbreinich » 4. Okt 2005, 10:09

Im Folgenden Howto wird beschrieben wie man den Exim Mailserver der ct-server Edition um Spamassassin, Clamav und/oder AntiVir Mailgate erweitert.

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
mbreinich
Starter
Starter
 
Beiträge: 4
Registriert: 3. Sep 2005, 13:48

Beitragvon lomdar67 » 5. Okt 2005, 14:12

Super! Finde ich echt klasse, das sich endlich jemand die Zeit genommen hat, das alles zusammen zu schreiben. Sobald mir Annika etwas mehr Zeit läßt, werde ich's ausprobieren!

melwood
We raise hopes, here ... until they're old enough to fend for themselves.
- Mike Callahan
lomdar67
Admin
Admin
 
Beiträge: 984
Registriert: 1. Aug 2005, 10:23
Wohnort: Edling

Beitragvon SkyBite » 12. Nov 2005, 14:10

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:

server# imapcreate.pl -u cyrus -p Passwort fr cyrus -m imap1 localhost
....



Hab ein kleines Probem.
Ich bekomm immer eine fehler meldung wenn ich versuch die Zeile zu bestätigen?!

server:~# imapcreate.pl -u cyrus -p Passwort fr cyrus -m imap1 localhost
imclient_connect: unknown host "fr" at /usr/lib/perl5/Cyrus/IMAP/Admin.pm line 71.
Use of uninitialized value in subroutine entry at /usr/lib/perl5/Cyrus/IMAP/Admin.pm line 107.
(in cleanup) client is not of type Cyrus::IMAP at /usr/lib/perl5/Cyrus/IMAP/Admin.pm line 107.


Hab mir die Zeilen zwar angeguckt, aber nichts besonderes gesehen (vielleicht auch nur nicht verstanden ;) )

Könnte es auch daran liegen, das ich generell alle Pakete über apt-get installiert hab?! Oft kommt es ja zu problemen mit ctsrvcfg.


mfg
Chris
SkyBite
Regular
Regular
 
Beiträge: 46
Registriert: 30. Aug 2005, 22:43
Wohnort: Wuppertal

Beitragvon lucifer » 12. Nov 2005, 16:20

Hi,

wenn ich das richtig sehe sollte es so aussehen:
Code: Alles auswählen
imapcreate.pl -u cyrus -p <Passwort für cyrus> -m imap1 localhost


Gruß
Jens
Gigabyte M61P-S3, AMD X2 BE-2350, 2GB RAM, 3xGBit, AVM, HFC, 2x DVB-T, ctsrv2, 500GB SATA, 400GB ATA, DomUs:
endian(2.2beta3); Mail (postfix, gld...); www (Apache2, php...); mld; mysql; comm (TSS2, Jabber); server (samba, dns, TwonkeyVision...); In Vorbereitung: ISDN/asterisk und VDR.
ocfs2 wird mit eigenem Subnetz zwischen den DomUs www, mld und server benutzt.
Hier ist die Kristallkugel...
lucifer
Moderator
Moderator
 
Beiträge: 979
Registriert: 27. Aug 2005, 17:27
Wohnort: Waltrop

Beitragvon neobiker » 12. Nov 2005, 16:23

...hast Du schon mal daran gedacht, "Passwort fr cyrus" durch das Passwort für den cyrus User zu ersetzen?
Gruss neobiker
Bildhttp://wiki.neobiker.de
"Der Computer macht genau das, was Du ihm sagst - nicht das, was Du von ihm willst!"
neobiker
Moderator
Moderator
 
Beiträge: 1226
Registriert: 11. Aug 2005, 22:06
Wohnort: Nürnberg / Umgebung

Beitragvon SkyBite » 12. Nov 2005, 16:52

*LOL* :shock: ne, muß mir das jetzt peinlich sein?! :oops:

Naja, man darf ja auch mal im Linux-Kürzelwahn den überblick verlieren :wink:

Nicht dest trotz geht es immer noch nicht.

imapcreate.pl -u cyrus -p test -m imap1 localhost
Use of uninitialized value in subroutine entry at /usr/lib/perl5/Cyrus/IMAP/Admin.pm line 107.
(in cleanup) client is not of type Cyrus::IMAP at /usr/lib/perl5/Cyrus/IMAP/Admin.pm line 107.
Can't call method "authenticate" on an undefined value at /usr/bin/imapcreate.pl line 131.



mfg
chris
SkyBite
Regular
Regular
 
Beiträge: 46
Registriert: 30. Aug 2005, 22:43
Wohnort: Wuppertal

Beitragvon C167 » 12. Nov 2005, 17:19

hm.. äuft cyrus?
C167
Silver User
Silver User
 
Beiträge: 343
Registriert: 12. Aug 2005, 22:01

Beitragvon SkyBite » 12. Nov 2005, 17:32

Laut webmin, ja ?!
SkyBite
Regular
Regular
 
Beiträge: 46
Registriert: 30. Aug 2005, 22:43
Wohnort: Wuppertal

Beitragvon SkyBite » 12. Nov 2005, 18:49

hm....

also entweder hab ich jetzt was total falsch gemacht, oder es gibt hier doch ein paar Fehler mehr im HowTo?!

server# adduser --gecos "imap1" imap1
server# adduser --gecos "imap2" imap2
server# imapcreate.pl -u cyrus -p Passwort fr cyrus -m imap1 localhost
server# imapcreate.pl -u cyrus -p Passwort fr cyrus -m imap2 localhost



... in dieser Reihenfolge funktioniert das zumindest?!
SkyBite
Regular
Regular
 
Beiträge: 46
Registriert: 30. Aug 2005, 22:43
Wohnort: Wuppertal

Beitragvon SkyBite » 13. Nov 2005, 15:13

Also irgendwie läuft nix richtig bei mir in diesem HowTo
Wollte die testemail verschicken...

# telnet server 25
trying 192.168.1.2 ...
unable to connect to remote host: connection refused


?!?!?
SkyBite
Regular
Regular
 
Beiträge: 46
Registriert: 30. Aug 2005, 22:43
Wohnort: Wuppertal

Beitragvon IcePic » 12. Dez 2005, 12:51

Brauch ich mailgate und clamav? Wo genau ist der unterschied zwischen beiden?
IcePic
Starter
Starter
 
Beiträge: 3
Registriert: 25. Nov 2005, 17:26

Beitragvon RobTrapp » 22. Dez 2005, 20:38

Hi ich find bei mir kein Cyrus wie angegeben!

Finde nur so Cyrus Admin usw. welches komponeten für Cyrus muß ich denn auswählen????

Hardware: ASUS M4A78Pro, AMD Athlon X2 2,5 GHz (ondemand govenor), 4GB
Systemplatte: WD3200BEKT
Datenplatten: 4 x WD10EADS im mdadm RAID5, 1 x DVD-ROM
NICs: EXTERN = 2 x DLINK DGE-530T
INTERN = 1 x Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
Gehäuse: Codegen 4U-600 19" Zoll im 26HE Rack
Software: ctsrv-4.1, Xen 3.4.1
(Dom0 & DomUs): Endian 2.3 geerntet nach ftopic2825.html , Fileserver (Samba, PS3MediaServer)
RobTrapp
Golden User
Golden User
 
Beiträge: 585
Registriert: 26. Nov 2005, 23:12

Beitragvon RobTrapp » 29. Dez 2005, 00:09

Kann keiner helfen???

Hardware: ASUS M4A78Pro, AMD Athlon X2 2,5 GHz (ondemand govenor), 4GB
Systemplatte: WD3200BEKT
Datenplatten: 4 x WD10EADS im mdadm RAID5, 1 x DVD-ROM
NICs: EXTERN = 2 x DLINK DGE-530T
INTERN = 1 x Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
Gehäuse: Codegen 4U-600 19" Zoll im 26HE Rack
Software: ctsrv-4.1, Xen 3.4.1
(Dom0 & DomUs): Endian 2.3 geerntet nach ftopic2825.html , Fileserver (Samba, PS3MediaServer)
RobTrapp
Golden User
Golden User
 
Beiträge: 585
Registriert: 26. Nov 2005, 23:12

Beitragvon lomdar67 » 29. Dez 2005, 10:55

RobTrapp hat geschrieben:Kann keiner helfen???


cyrus-imapd oder cyrus21-imapd je nach dem, welche Version du installieren willst...

Oder über ctsrvcfg...

melwood
We raise hopes, here ... until they're old enough to fend for themselves.
- Mike Callahan
lomdar67
Admin
Admin
 
Beiträge: 984
Registriert: 1. Aug 2005, 10:23
Wohnort: Edling

Beitragvon RobTrapp » 29. Dez 2005, 14:14

Achso dann kann ich ja einfach Fetchmail Cyrus und Spamassassin über den Ctsrvcfg installiern.

Denn das Aptitude führt mich nicht zu dem was ich will!

@melwood
Worin bestehen denn die unterschiede von denen von dir genannten Paketen?? Anscheinden ja nur die Version oder???
Edit: hat sich schon erledigt!

Was mir jetzt aber aufgefallen ist ist das mit Mailgate mit dem Key beantragen der Link nicht mehr geht!
Und unter dem Ersten link zum Download des Tar files auch nichts mehr zu finden ist außer das man sich regestieren soll um die 30 Tage Test Demo zu bekommen?? Soll ich mich denn hier regestrieren http://www.antivir.de/de/produkte/antiv ... index.html

Kann da jemand helfen???

Hardware: ASUS M4A78Pro, AMD Athlon X2 2,5 GHz (ondemand govenor), 4GB
Systemplatte: WD3200BEKT
Datenplatten: 4 x WD10EADS im mdadm RAID5, 1 x DVD-ROM
NICs: EXTERN = 2 x DLINK DGE-530T
INTERN = 1 x Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
Gehäuse: Codegen 4U-600 19" Zoll im 26HE Rack
Software: ctsrv-4.1, Xen 3.4.1
(Dom0 & DomUs): Endian 2.3 geerntet nach ftopic2825.html , Fileserver (Samba, PS3MediaServer)
RobTrapp
Golden User
Golden User
 
Beiträge: 585
Registriert: 26. Nov 2005, 23:12

Nächste

Zurück zu HOWTOs

Wer ist online?

Mitglieder: Google [Bot]

cron