AMaViS est maintenant distribué sous licence GPL. Ceci veut dire entre
autres que nous disposons du code source du programme et que nous pouvons
contrôler ce qu'il fait (a contrario des programmes d'antivirus qui ne
sont distribués que sous forme binaire).
Son installation est simple. Après avoir décompressé les sources, un script
./configure facilite la compilation. Il suffit d'effectuer les
étapes suivantes :
$ ./configure --prefix=/usr/local/antivirus
$ make
# make install
L'étape de configuration recherche un antivirus sur le système, en particulier
elle cherche uvscan dans les répertoires /usr/bin et
/usr/local/bin. Vous vous souvenez des liens symboliques que nous
avons faits tout à l'heure ? Voici une explication de leur utilité !
Assurez-vous aussi d'avoir installé le binaire metamail (généralement
dans le paquet du même nom dans votre distribution), car c'est le programme
utilisé pour séparer les attachements des courriers reçus. J'ai cherché pendant
pas mal de temps pourquoi ça ne marchait pas avant de comprendre ce qui
manquait...
Le principal élément d'AMaViS est un script shell : scanmails,
qui prend le courrier électronique sur l'entrée standard (c'est sendmail
qui lui envoie), passe chaque attachement à l'antivirus et, selon le résultat,
envoie le courrier à l'agent de livraison s'il n'y a pas de virus détecté, ou
envoie un courrier à l'administrateur en cas de problèmes.
Assurez-vous ensuite d'avoir un alias nommé virusalert dans les
aliases de courrier électronique. C'est en effet l'adresse à laquelle un
courrier est envoyé en cas de découverte d'un virus dans un courrier.
Toutefois, cette adresse est paramétrable dans le script scanmails.
Ensuite, il faut penser au fichier de log, qui est situé par défaut dans
/var/log/scanmails/logfile. Il faut donc créer le répertoire
/var/log/scanmails/ et peut-être même le fichier logfile.
Attention, avec sendmail l'agent de distribution (le programme
sendmail lui-même) tourne en tant que root, alors que pour
Postfix, l'agent de distribution (le programme local) tourne en
tant qu'utilisateur postfix. Il faut en tenir compte, car c'est cet
utilisateur qui va écrire dans le fichier de log. Je préconise donc les
manipulations suivantes :
# mkdir /var/log/scanmails
# touch /var/log/scanmails/logfile
# chown postfix:postfix /var/log/scanmails /var/log/scanmails/logfile
Un dernier petit point à régler, c'est celui des logs gérés avec
syslog. En effet, scanmails envoie à syslog (c'est paramétrable)
une notification d'exécution, avec la priorité mail.info. Le fichier
/var/log/mail.info grandira alors lui aussi. Il faudra penser à
regarder et purger périodiquement les fichiers /var/log/mail.info et
/var/log/scanmails/logfile.