Ich habe Postfix mit Clamav als Virenscanner unter SuSE 7.1 laufen. Weil Clamav nur Dateien nach Viren filtern kann und von Emails weiter nichts versteht, braucht man noch amavisd-new, um infizierte Mails in Quarantäne zu stecken und wenn gewünscht, den Sender und/oder Empfänger zu benachrichtigen. Amavisd übergibt die Mails clamav, der lediglich sagt, ob eine Infektion vorliegt. Es liegt dann wiederum an amavisd, die Mails zurück an Postfix zu übergeben oder Benachrichtigungen zu versenden.
Da ich mir die Mühe gemacht hatte, für clamav und amavisd-new RPM-Pakete zu erstellen, hier
der Link zum Download. Beachtet, dass das von mir gebastelte und keine offiziellen Pakete sind. amavisd-new erfordert einige Perl-Packages, die man von SuSE nachinstallieren kann oder z.B. mittels
Code:
perl -MCPAN -e 'install "File::Tail"'
Bei der Installation des amavisd-RPMs werden die fehlenden Perl-Module aufgelistet. RPMs lassen sich entweder im Konqueror oder in der Befehlszeile per
installieren.
Nach der Installation sollte man die Konfigurationsdateien anpassen (insbesondere $mydomain in der /etc/amavisd.conf) und testen, ob sich die beiden Daemons mittels
rcamavisd start und
rcclamd start starten lassen.
Anbindung von Clamav an Postfix
In der /etc/postfix/main.cf leitet man Mails mittels
Code:
content_filter = smtp:[127.0.0.1]:10024
auf amavisd um. Des weiteren muss man in der /etc/postfix/master.cf dafür sorgen, dass die gefilterten Mails wieder zurück an Postfix zur endgültigen Verteilung gelangen:
Code:
# for the amavis virus scanner
smtp-amavis unix - - n - 3 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
Als Vorlage nahm ich
diese Anleitung.