TUTOS.EU

Installation de l'anti-virus ClamAV sous Linux

Comme dit sur https://docs.clamav.net, ClamAV est un AntiVirus cross-platform sous license GNU General Public V2. Sous Linux (uniquement), ClamAV offre une protection en temps réel.

En ce mois de mars 2026, on voit que seules les versions récentes et distributions Linux sont supportées

  • GNU/Linux
    • Alpine
      • 3.22 (x86_64, arm64)
    • Ubuntu
      • 24.04 (x86_64, arm64)
      • 22.04 (x86_64, arm64)
    • Debian
      • 13 (x86_64, arm64)
      • 12 (x86_64, arm64)
    • AlmaLinux
      • 10 (x86_64, arm64)
      • 9 (x86_64, arm64)
    • Fedora
      • 42 (x86_64, arm64)
      • 41 (x86_64, arm64)
    • openSUSE
      • 15 Leap (x86_64, arm64)

ClamAV présente l'avantage de demander peut de ressources : FreeBSD and Linux server edition: 3 GiB+

En préambule il faut donc mettre à jour son OS, pôur cela voir https://www.tutos.eu/1940.

Pour l'installation il faut se rendre sur https://docs.clamav.net/manual/Installing.html.

On peut installer en version Dockerisée ou, pour gratter un peu de ressources en version packagée.

Par exemple pour Ubuntu il est demandé de suivre les intructions d'installation d'une Debian, cad

apt install clamav
Lien vers le fichier : cliquez ici Copier le code

çà c'est pour la partie scan à la demande déclenché par cron.
Pour la partie scan temps réel, il faut en plus

apt install clamav-daemon
Lien vers le fichier : cliquez ici Copier le code

En complément/correction pour FreshClam, l’outil de mise à jour des signatures virales de ClamAV, j'ai du aussi faire

/bin/mkdir -p /run/clamav
/bin/chown clamav /run/clamav
Lien vers le fichier : cliquez ici Copier le code

Pour que le service démarre correctement, il faut que les bases virales soit là. Pour forcer un premier téléchargement des signatures faire

sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
Lien vers le fichier : cliquez ici Copier le code

Pour voir ce que dit freshclam, faire

journalctl -u clamav-freshclam -f
Lien vers le fichier : cliquez ici Copier le code

Pour la configuration, il faut aller voir sur https://docs.clamav.net/manual/Usage/Configuration.html#first-time-set-up. Cela parle de freshclam, ClamD et Milter.

  • FreshClam est l’outil de mise à jour des signatures virales de ClamAV, il est donc obligatoire. Il télécharge les bases de signatures officielles depuis les serveurs ClamAV. Il peut tourner en manuel ou en service daemon. Je n'ai pas eu besoin de l'installer avec apt install clamav-freshclam, cela a du être fait par apt install clamav clamav-daemon.
  • ClamD est le service du moteur AV
  • Milter est un module d’intégration mail pour serveurs SMTP. Il permet d’analyser les emails en temps réel pendant la réception SMTP.

Comme on a installé ces programmes avec apt, les fichiers de configuration ont déjà été créés dans /etc/clamav/ avec

  • /etc/clamav/freshclam.conf
  • /etc/clamav/clamd.conf
  • /etc/clamav/clamav-milter.conf   (seulement si milter a été installé)

Il est bon de regarder ce qui est configuré et de faire un éventuel ajustement. Par exemple dans /etc/clamav/freshclam.conf j'ai passé Checks de 24 à 6 (c'est pour la fréquence des mises à jour.)

 

Dans /etc/clamav/clamd.conf j'ai passé MaxFileSize et MaxScanSize à 200M et comme j'ai un petit serveur j'ai passé MaxThreads de 12 à 2. Pour le scan en temps réel, il est dit sur https://docs.clamav.net/manual/Usage/Configuration.html#other-clamdconf-settings qu'il faut utiliser ScanOnAccess, OnAccessIncludePath, OnAccessExcludePath et OnAccessPrevention, sauf qu'on a ensuite le message WARNING: Ignoring deprecated option ScanOnAccess at /etc/clamav/clamd.conf:88.


Exemple :

L'aide de clamd est visible en faisant

man clamd.conf
Lien vers le fichier : cliquez ici Copier le code

Vérifier que le fichier de conf est valide avec

clamd --version
Lien vers le fichier : cliquez ici Copier le code

Pour prendre en compte les modifications, faire

sudo systemctl restart clamav-daemon
sudo systemctl restart clamav-freshclam
Lien vers le fichier : cliquez ici Copier le code

Faire un fichier de test Eicar dans /tmp/test.txt. Eicar est une chaîne de caractères, écrite dans un fichier informatique, destiné à tester le bon fonctionnement des logiciels antivirus. Voir https://fr.wikipedia.org/wiki/Fichier_de_test_Eicar

echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/test.txt
Lien vers le fichier : cliquez ici Copier le code

Vous pouvez déjà regarder dans le log si la protection AV en temps réel a détecté le fichier

sudo tail -100 /var/log/clamav/clamav.log
Lien vers le fichier : cliquez ici Copier le code

Vous pouvez ensuite déclencher un scan avec clamdscan et non clamscan. clamsdcan a l'avantage de passer par le daemon ClamAV, daemon qui utilise le compte clamdscan qui n'aura normalement pas de problèmes de droits. Le scan doit retourner
Eicar-Test-Signature FOUND

clamdscan --fdpass /etc
Lien vers le fichier : cliquez ici Copier le code

Si ce n'est pas le cas, c'est peut être parce qu'il n'y a pas encore eu de base virale de téléchargée. La commande suivante devrait au minimum afficher
_ main.cvd
_ daily.cvd
_ bytecode.cvd

et pas juste freshclam.dat qui représente juste les métadonnées update.

ls -lh /var/lib/clamav
Lien vers le fichier : cliquez ici Copier le code

Article(s) précédent(s)