J'ai du procéder à l'installation de ClamAV sur un serveur. Histoire de gagner un peu de temps si jamais j'ai à le refaire, je vais en profiter pour conserver une trace, d'où le présent billet.

ClamAV, comme son nom le laisse suggérer, est un antivirus disponible pour toutes les plate-formes (Linux, Windows, Mac OS). Pour toutes les informations utiles, vous pouvez vous référer au site officiel : http://www.clamav.net.

Dans notre cas, nous allons installer l'antivirus sur une distribution Debian Jessie par le biais des paquets disponibles via apt-get :
apt-get install -y clamav


On va modifier la configuration par défaut et on va donc couper le service :
systemctl stop clamav-freshclam.service


Nous allons modifier le délai d'actualisation de la base antivirale de ClamAV. Ce dernier est effectivement configuré pour être effectué 24 fois par jour soit toutes les heures. 1 fois toutes les 4 heures me semble être suffisant :
sed -i "s/Checks 24/Checks 6/g" /etc/clamav/freshclam.conf


On peut maintenant redémarrer le service :
systemctl start clamav-freshclam.service


Maintenant que ClamAV est installé, nous allons mettre en place une tâche CRON pour qu'un scan du système soit effectué tous les jours.

Tout d'abord nous allons créer les répertoires pour y stocker les différents journaux qui seront créés suite aux différents scans :
mkdir -p /var/log/clamav
mkdir -p /var/log/clamav/scans


Ensuite nous allons créer la tâche CRON qui sera exécutée de manière quotidienne :
echo '#!/bin/bash' > /etc/cron.daily/clamav
echo 'now=$(date +"%Y-%m-%d")' >> /etc/cron.daily/clamav
echo 'clamscan -i -r / --detect-pua=yes --exclude-dir=^/sys --exclude-dir=^/dev --exclude-dir=^/proc >> /var/log/clamav/scans/$now.log' >> /etc/cron.daily/clamav
# On supprime les rapports les plus anciens pour ne conserver qu'une semaine de log
echo 'find /var/log/clamav/scans/*.log -mtime +7 -exec rm -f {} \;' >> /etc/cron.daily/clamav


Il n'y a plus qu'à rendre le script exécutable :
chmod +x /etc/cron.daily/clamav


On vérifie la présence du script clamav dans le cron.daily:
run-parts --test /etc/cron.daily


Et le tour est joué.

A chaque vérification du système par ClamAV, un fichier de log sera créé et disponible dans /var/log/clamav/scans/ avec un fichier horodaté. Voici un exemple de rapport généré par ClamAV :
----------- SCAN SUMMARY -----------
Known viruses: 4455427
Engine version: 0.99.2
Scanned directories: 3575
Scanned files: 25089
Infected files: 0
Data scanned: 1334.10 MB
Data read: 1007.84 MB (ratio 1.32:1)
Time: 103.994 sec (1 m 43 s)

06/06/2016 11:30:00

Partager cet article

Commentaires (Cliquer pour afficher)

comments powered by Disqus