Installer l'antivirus ClamAV
dans Postfix
…
~~READMORE~~
# aptitude install clamsmtp clamav-freshclam ... Clamav signatures not found in /var/lib/clamav ... failed! Please retrieve them using freshclam ... failed! Then run '/etc/init.d/clamav-daemon start' ... failed! Starting virus filtering SMTP proxy: clamsmtpd.
3 services doivent démarrer, sauf si les “signatures” ne sont pas a jour |
Les 3 services: “clamsmtpd
” , “freshclam
” et “clamd
”.
Mais dans mon cas, je crois que c'est une première, le service “freshclam
” n'a pas pu mettre a jour certains fichiers essentiels.
Il est bloqué comme ça:
# netstat -anp | grep freshclam tcp 0 0 213.251.128.136:37457 193.51.160.14:80 ESTABLISHED 1168/freshclam
De ce fait, le daemon clamd
refuse de démarrer:
# /etc/init.d/clamav-daemon restart Stopping ClamAV daemon: clamd. Clamav signatures not found in /var/lib/clamav ... failed! Please retrieve them using freshclam ... failed! Then run '/etc/init.d/clamav-daemon start' ... failed!
… et donc, quand Postfix
est configuré (voir plus loin), la reception des mails est en carafe avec dans les logs:
Apr 24 02:32:16 warez-mail clamsmtpd: 100001: CLAMAV: couldn't connect to: /var/run/clamav/clamd.ctl: No such file or directory
La solution est de redémarrer freshclam
:
# /etc/init.d/freshclam restart
Et puis clamav-daemon
:
# /etc/init.d/clamav-daemon restart
A savoir: la conf par defaut de “ClamSMTP” dit:
clamsmtp
ecoute sur le port 10026 et renvoi le mail traité par le port 10025.
Ce qu'on peut bien croire en voyant ça:
# netstat -anp | grep clam tcp 0 0 127.0.0.1:10026 0.0.0.0:* LISTEN 2140/clamsmtpd
Dans /etc/postfix/main.cf
ajouter:
# TJ ------------ # clamav via clamsmtp # source: /usr/share/doc/clamsmtp/postfix.html content_filter = antivirus:127.0.0.1:10026 receive_override_options = no_address_mappings
Dans /etc/postfix/master.cf
faire les modifs:
# TJ ------------ # ANTIVIRUS clamav # AV scan filter (used by content_filter) # (renommer "antivirus") antivirus unix - - n - 32 smtp -o smtp_send_xforward_command=yes # For injecting mail back into postfix from the filter 127.0.0.1:10025 inet n - n - - 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
# postfix reload
On n'a bien “master” (de Postfix) qui ecoute le port 10025:
# netstat -anp | egrep "^tcp.*master" tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 23620/master tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN 23620/master
Test avec ce fichier en piece jointe…
(Ce n'est pas un virus, mais le fichier va faire réagir l'antivirus comme si il en était un.)
Test entre 2 comptes locaux.
Dans les logs:
Apr 17 03:01:58 warez-mail postfix/smtp[6318]: 378EB20821: to=<noreplySPAM@tjaouen.fr>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.17, delays=0.12/0/0.05/0, dsn=2.0.0, status=sent (250 Virus Detected; Discarded Email) Apr 17 03:01:58 warez-mail clamsmtpd: 100000: from=evil@somewhere.com, to=noreplySPAM@tjaouen.fr, status=VIRUS:Eicar-Test-Signature