Ich prüfe hier mit CLAMAV als Daemon auf Viren in Mails. Durch die Schritte 1-4 hat dieser Daemon allerdings nicht mehr allzuviel Arbeit, ca. 2-5 Viren je Monat müssen noch ausgesondert werden.
Wichtig ist, den clamd zu nutzen, da dies wesentlich resourcenfreundlicher ist als eine Nutzung des Kommandozeilenscanners freshclam.
Je nach verwendeter Distribution lädt man sich bei https://www.clamav.net/ das entsprechende Paket herunter und kompiliert selbst, oder nutzt die Tools wie apt. Eine gute Anleitung findet sich hier: https://www.clamav.net/documents/installing-clamav.
Damit der Clam was tut, muss außerdem Amavisd-new installiert werden. Je nach Distribution geht das anders. Eine Anleitung für Ubuntu-User findet sich z.B. hier: https://wiki.ubuntuusers.de/Amavis-Spam-Virenfilter/.
Wenn beide Tools installiert sind, müssen wir dem Postfix noch erklären, was er damit machen soll. Aber auch das findet sich schon tausendfach beschrieben im Netz. Wichtig ist, eine Art Kette aufzubauen. Also: Mail kommt am Postfix an, der übergibt sie an Amavis, da wird sie per ClamAv gescannt und zurück an Postfix übergeben. Der „Voodoo“ dafür findet hauptsächlich in Postfix master.cf statt.
Dazu habe ich die Zeile für smtp geändert in
smtp inet n - - - - smtpd
-o content_filter=smtp-amavis:[127.0.0.1]:10024
Am Ende der master.cf habe ich angefügt
smtp-amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n - - - - smtpd
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
Damit gibt der Postfix eingehende Mails an den Amavis weiter und bekommt sie von da wieder zurück.