Der 6. Teil bringt etwas Schutz in den ansonsten so nackt dastehenden Emailserver.
Die Integration von ClamAV als Virenscanner und SpamAssassin als Spambekämpfung stehen in diesem Teil im Mittelpunkt.
Als erstes widmet Ihr euch um den Virenscanner. Das Programm ist ja bereits installiert und die gröbsten Funktionen mittels der rc.conf vorkonfiguriert. Es gibt also nicht mehr viel zu tun, als ein paar letzte Anpassungen:
Ändert in der /etc/rc.conf die Werte folgender Dienste auf YES:
clamav_clamd_enable clamav_freshclam_enable clamav_milter_enable
Und startet die Dienste:
#> /usr/local/etc/rc.d/clamav-clamd start
#> /usr/local/etc/rc.d/clamav-freshclam start
#> /usr/local/etc/rc.d/clamav-milter start
(Für die, die seit Anfang dabei sind, schaut nochmal bitte in der aktualisierten rc.conf auf den Eintrag clamav_milter_flags!)
Kommt beim Start des Milters die Fehlermeldung “/var/log/clamav/clamd.log: Permission denied”,
so muss die Berechtigung der Logdatei kurz angepasst werden und dann einfach nochmal probieren:
#> chown clamav:clamav /var/log/clamav/clamd.log
#> /usr/local/etc/rc.d/clamav-milter start
Versucht nun eine saubere Testmail zu schicken und achtet auf die Ausgabe der /ver/log/maillog
#> echo test | mail -s test root
#> tail /var/log/maillog
Da sollte dann eine ähnliche Zeile wie diese erscheinen:
Milter add: header: X-Virus-Scanned: ClamAV version 0.88.6, clamav-milter version 0.88.6 on blabla
Milter add: header: X-Virus-Status: Clean
Die Email selber (in “Shared Folders/root”) besitzt nun im Header ebenfalls diese Einträge.
Versucht nun eine pseudoinfizierte Testmail zu schicken und achtet auf die Ausgabe der /ver/log/maillog
#> fetch 'http://www.bsdbox.de/downloads/emailserver/eicar.com.txt'
#> cat eicar.com.txt | mail -s test root
#> tail -n 100 /var/log/maillog
Da sollte dann eine ähnliche Zeile wie diese erscheinen:
Milter add: header: X-Virus-Scanned: ClamAV version 0.88.6, clamav-milter version 0.88.6 on blabla
Milter add: header: X-Virus-Status: Infected with Eicar-Test-Signature
Was mit der infizierten Email nun passiert ist:
Der eigentliche Empfänger und Postmaster haben eine Benachrichtigung erhalten, das ein Virus gefunden und blockiert wurde:
![]()
![]()
Betreff: Virus intercepted
A message sent fromto
contained Eicar-Test-Signature and has not been delivered.
Die originale Virusnachricht wurde in “Shared Folders/quarantine” abgelegt.
Der Betreff wird in “[Virus] Virusname” abgeändert.
![]()
Dieses Verhalten lässt sich durch die Optionen des Milters in der /etc/rc.conf beeinflussen:
Siehe auch: #> man clamav-milter
–
Kommen wir nun zum SpamAssassin.
Auch bei dem sind die grundlegendsten Optionen bereits in der /etc/rc.conf hinterlegt worden, so das nur ein paar Kleinigkeiten eingestellt werden müssen:
Ladet euch bitte diese Beispielkonfiguration herunter und ersetzt die Leere vom System damit:
#> cd ~
#> fetch 'http://www.bsdbox.de/downloads/emailserver/local.cf'
#> mv local.cf /usr/local/etc/mail/spamassassin/local.cf
Kürze Erklärung und Anpassungen die Ihr noch durchführen solltet:
rewrite_header subject. Ist NOCH nicht auskommentiert. Hinterher schon, da Spam vom System in einen eigenen Unterordner verschoben wird. Dann ist diese Markierung sinnlos.
trusted_networks. Hier bitte den IP-Bereich eures lokalen Netzwerkes eintragen.
Ändert in der /etc/rc.conf die Werte folgender Dienste auf YES:
spamd_enable spamass_milter_enable
Und startet die Dienste:
#> /usr/local/etc/rc.d/sa-spamd start
#> /usr/local/etc/rc.d/spamass-milter start
Versucht nun eine saubere Testmail zu schicken und achtet auf die Ausgabe der /ver/log/maillog
#> echo test | mail -s test root
#> tail /var/log/maillog
Da sollte dann eine ähnliche Zeile wie diese erscheinen:
Milter add: header: X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on blabla
Milter add: header: X-Spam-Status: No, score=1.2 required=4.8 tests=
Solltet ihr stattdessen diese hier sehen:
spamd: unauthorized connection from mailtest [192.168.1.160] at port 51626 at /usr/local/bin/spamd line 1030.
Dann ändert bitte folgenden Eintrag in der /etc/rc.conf bei spamd_flags “-A 127.0.0.1″ in “-A IPADRESSE”.
Komplett steht dann da z.B.
"spamd_flags="-l -c -d -r ${spamd_pidfile} -u spamd -H /var/spool/spamd -A 192.168.1.160"
(Das passiert z.B. dann, wenn der Emailserver in einem Jail betrieben wird).
SpamAssassin neu starten und den Test wiederholen:
#> /usr/local/etc/rc.d/sa-spamd restart
Versucht nun eine pseudo Spam-Testmail zu schicken und achtet auf die Ausgabe der /ver/log/maillog
#> fetch 'http://www.bsdbox.de/downloads/emailserver/spam.txt'
#> cat spam.txt | mail -s test root
#> tail -n100 /var/log/maillog
Da sollte dann eine ähnliche Zeile wie diese erscheinen:
Milter add: header: X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on blabla
Milter add: header: X-Spam-Status: Yes, score=1001.2 required=4.8 tests=ALL_TRUSTED,GTUBE
Wenn Ihr ganau aufgepasst habt, dann ist euch in der /var/log/maillog folgender Eintrag aufgefallen:
spamd[2925]: mkdir /home/marcel/.spamassassin: Permission denied at /usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin.pm
Das hat den Grund das SpamAssasin nicht die Berechtigung hat, einfach so in euren Home-Verzeichnissen zum zu pfuschen. Wenn nicht gerade chmod 777 genutzt werden soll (Ich rate dringend davon ab),
legt das Verzeichnis für die Benutzer gerade selber an: (Das wird hinterher mit Webmin automatisiert)
#> mkdir /home/BENUTZER/.spamassassin
#> chown BENUTZER:spamd /home/BENUTZER/.spamassassin
#> chmod 770 /home/BENUTZER/.spamassassin
Joah, damit sind wir am Ende des sechsten Teils. ClamAV und SpamAssassin laufen und schützen.
Pingback: bsdbox » Milter über Milter, der sechste Teil ist fertig.