ClamAV

De ArchwikiFR


Clam AntiVirus est un ensemble d'outils, un moteur, Open Source, développé en langage C, à destination des systèmes Unix/Linux, pour détecter et neutraliser les Trojans, virus, malwares et autres malveillances.

Les "virus" détectés - il en existe différents types, voir Wikipedia - sont essentiellement des virus développés pour infecter des machines sous Windows, bien qu'il existe aussi des virus qui ciblent les systèmes Linux.

Installation

Les fichiers sont disponibles au téléchargement sur le site de Clamav, mais, plus simplement, dans les dépôts "extra" et installables par la commande:

 pacman -S clamav

Ceci installe le logiciel qui fonctionnera en ligne de commande en console.

Note: Il existe aussi dans le dépôt communautaire AUR le script pour l'interface graphique CLAMTK (développée en perl): clamtk (la version klamav pour l'interface KDE a été retirée des dépôts)
Note: CLAMTK semble présenter encore des problèmes, liés à ses dépendances gtk2

Configuration

Il existe deux fichiers de configuration utilisés par défaut:

  • /etc/clamav/freshclam.conf
  • /etc/clamav/clamd.conf
Astuce: Deux fichiers d'exemples bien commentés sont fournis dans le paquet pour vous présenter les options que vous voudriez utiliser ou affiner:
  • /etc/clamav/freshclam.conf.sample
  • /etc/clamav/clamd.conf.sample

Mise à Jour de la Base de Données Virale

On peut maintenant lui faire charger une base de données à jour permettant la détection des virus, leurs signatures:

 freshclam

Ce qui va créer et remplir les dossiers suivants:

  • /var/lib/clamav/daily.cvd
  • /var/lib/clamav/main.cvd

Installation du Daemon

Systemctl doit lancer le service, qui se nomme clamd.service:

 systemctl enable clamd.service
 systemctl start clamd.service

Et pour la mise à jour:

 systemctl enable freshclamd.service
 systemctl start freshclamd.service

Utilisation

L'interface graphique est claire et évidente, les Préférences doivent être définies :

  • dans "Analyse" cocher toutes les cases (sauf Samba s'il n'y a pas lieu), en particulier les fichiers cachés !
  • dans "Démarrage" , cocher les mises à jour, si le premier chargement de la base, à l'installation, est assez long, les mises à jour sont - comme les analyses - rapides.

En ligne de commande pour les fichiers, le répertoire personnel, le système entier (cf ArchWiki)

 clamscan myfile
 clamscan -r -i /home
 clamscan -r -i --exclude-dir='^/sys|^/proc|^/dev|^/lib|^/bin|^/sbin' /

Solution des Problèmes

Error: Clamd was NOT notified

Vous obtiendrez sans doute le message suivant en lançant freshclam :

WARNING: Clamd was NOT notified: Cannot connect to clamd through 
/var/lib/clamav/clamd.sock connect(): No such file or directory

Créez un fichier de "socket" pour ClamAV:

touch /var/lib/clamav/clamd.sock
chown clamav:clamav /var/lib/clamav/clamd.sock

Puis éditez /etc/clamav/clamd.conf - et décommentez la ligne:

LocalSocket /var/lib/clamav/clamd.sock

Enregistrez le fichier et relancez le daemon

fichier modifié depuis la création du wiki anglophone, manipulation ne semble plus nécessaire

Error: No supported database files found

Si vous obtenez l'erreur suivante au lancement du daemon:

LibClamAV Error: cli_loaddb(): No supported database files found
in /var/lib/clamav ERROR: Not supported data format

Générez la base de données:

 freshclam -v

Error: Can't create temporary directory

Si vous obtenez l'erreur suivante, avec une expression comportant une UID et un nombre GID :

 can't create temporary directory

Corrigez les permissions:

 chown UID:GID /var/lib/clamav & chmod 755 /var/lib/clamav