
Man kann sich die Frage stellen, warum ein GNU/Linux System einen Virenscanner braucht. Auch wenn es auf den ersten Blick unnötig erscheint, so macht es dennoch Sinn. Denn oft reicht ein GNU/Linux System Daten an andere Systeme weiter ( z.B. Mail, Samba, ... ), die auf Schadsoftware anfällig sind ( z.B. Windows ). Diese könnte man doch vor sowas schützen, indem man schädliche Programme vorher abfängt.
Ich hatte mich mit einem Debian Squeeze System an diese Anleitung gehalten, jedoch klappte es nicht direkt und mir war auch unklar, warum der Author diverse Ports vertauscht.
Daher schreib ich hier kurz meine Schritte nieder. Ich gehe davon aus, dass es bereits einen funktionierenden Postfix gibt, der ganz normal Mails verschicken und empfangen kann.
apt-get install clamav clamav-freshclam clamsmtp
Folgende Zeilen einfach am Ende der Datei eintragen:
content_filter = scan:127.0.0.1:10026 receive_override_options = no_address_mappings
Hier hab ich folgende Einträge ebenfalls ganz unten angefügt:
# AV scan filter (used by content_filter) scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes # For injecting mail back into postfix from the filter 127.0.0.1:10025 inet n - n - 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8
Man beachte jeweils das Leerzeichen vor -o. Wird das vergessen, funktioniert es nicht und man erhält z.B. folgenden Fehler im Log:
bad transport type: smtp_send_xforward_command=yes
Den Hinweis zum Leerzeichen fand ich in diesem Forum.
So, nun kann man den Postfix restarten und wenn man alles richtig gemacht hat, erscheint auch keine Fehlermeldung im Log.
/etc/init.d/postfix restart
Zu guter letzt sollte man natürlich prüfen, ob der Virenscanner auch wirklich anschlägt. Dafür gibt es spezielle Testdateien von Eicar. Die schickt man sich einfach selbst und beobachtet dabei das Logfile. Man sollte natürlich vorher drauf achten, dass dieses Testfile nicht schon voher abgefangen wird. Ich hab z.B. versucht von GMX mir das Eicar Testfile zu schicken, was dann auch gleich fehl schlug, da GMX ebenfalls auf Viren überprüft.
Wenn ClamAV ordentlich funktioniert, sollte man z.B. Einträge dieser Art im Log sehen:
250 Virus Detected; Discarded Email status=VIRUS:Eicar-Test-Signature
Saubere Mails erkennt man im Log, die mit Status Clean gekennzeichnet sind
status=CLEAN
Vergessen darf man natürlich nicht, sich immer die aktuellen Virensignaturen zu holen:
00 1 * * * root /usr/bin/freshclam --quiet