Table des matières

Antivirus à la demande pour Linux

Pourquoi un antivirus ?

Linux est très peu sensible aux virus, mais au delà de ça, il peut être utile de scanner des fichiers pour éviter d'être porteur sain de virus (par exemple si vous échangez des fichiers avec des utilisateurs de Windows).
Si vous avez un doute et que vous voulez scanner un unique fichier, la meilleure solution reste VirusTotal qui va scanner le fichier avec tous les antivirus du marché. Mais si vous avez besoin de scanner un ensemble de répertoires, un antivirus localement installé sur votre machine est une meilleure solution. C'est la solution présentée ci-dessous.

Attention: VirusTotal (qui appartient à Google) conserve une copie des fichiers qui lui sont envoyés. Ce n'est peut-être pas une bonne idée de lui envoyer des fichiers privés.

Cette page explique comment installer l'antivirus libre et gratuit ClamAV et comment l'intégrer au gestionnaire de fichier afin de scanner à la demande n'importe quel fichier ou répertoire en deux clics.

Choix de l'installation

L'antivirus peut s'appeller depuis la ligne de commande avec clamscan ou à travers son interface graphique clamtk. Nous choisissons ici de nous passer de ClamTK: Nous allons utiliser clamscan et l'intégrer au gestionnaire de fichiers, et afficher les résultats dans un simple terminal.

Petit soucis avec clamscan: Quand on le lance, il met du temps à démarrer avant de scanner (il lui faut du temps pour lire les fichiers de signatures). Alors nous allons utiliser le démon ClamAV, associé à son scanner clamdscan.

Donc au lieu de lancer clamscan (qui va lire les signatures au moment de scanner), on laisser tourner un service (clamav-daemon) et on le sollicite pour scanner des fichiers avec clamdscan.

Installation

Intégration au navigateur de fichiers

Dans notre exemple nous prendrons Caja, mais le fonctionnement est similaire avec les autres (Nautilus, etc.)

Vous pouvez maintenant scanner n'importe quel fichier ou répertoire en faisant un clic droit > Scripts > Scanner avec ClamAV. Laissez lui le temps de scanner. Il ne vous affichera que les fichiers pour lesquels il a doute. Dans tous les cas, il vous affichera un rapport à la fin du scan de ce genre:

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 0.049 sec (0 m 0 s)
Start Date: 2021:05:10 21:05:29
End Date:   2021:05:10 21:05:32

Notez qu'il y a toujours le risque d'avoir des faux positifs, c'est à dire des fichiers que l'antivirus trouve douteux mais qui ne le sont pas forcément. Dans ce cas, une soumission à VirusTotal peut être une bonne idée.

FIXME mettre captures d'écran (menu clic droit, fenêtre de scan).

Notez que toute détection sera loguée dans le fichier /var/log/clamav/clamav.log

Vérifier que ça fonctionne

Mise à jour des signatures

La mise à jour des signatures est assurée par le service freshclam. Par défaut, il va chercher les mises à jour 24 fois par jour (les signatures sont généralement des fichiers de petite taille, ce n'est donc pas pénalisant). Si vous voulez changer la fréquence, modifiez le paramètre Checks 24 dans le fichier /etc/clamav/freshclam.conf (pensez à redémarrer le service (sudo service clamav-freshclam restart). Personnellement, je trouve qu'aller les chercher toutes les 6 heures est suffisant, j'ai donc mis Checks 4.

Pour vérifier la version de vos signatures, faites:

$ clamdscan -V
ClamAV 0.103.2/26166/Mon May 10 13:05:01 2021

S'il y a un soucis avec les mises à jour, pensez à regarder les logs dans /var/log/clamav/freshclam.log.

Faux positifs

Un faux positif est fichier détecté comme infecté alors qu'il ne l'est pas. Malheureusement ClamAV a un certain nombre d'alertes de ce genre.

Signatures complémentaires

Après quelques tests, je déconseille ces signatures complémentaires car elles font beaucoup trop de faux positifs.

Il est possible d'ajouter à ClamAV de multiples sources de signatures afin d'augmenter encore son taux de détection avec https://github.com/extremeshok/clamav-unofficial-sigs

Par exemple, au 10 mai 2021, cela permet de passer de 8 528 087 signatures (signatures standard ClamAV) à 8 711 750, soit 183 663 signatures supplémentaires.

Notez que certaines sources de signatures nécessitent, pour être activées, de s'enregistrer sur les différents sites (voir la page du projet pour plus d'information). Ces sources sont optionnelles.

Astuce: voir en temps réel ce que ClamScan est en train de scanner:

watch "lsof -a -d 0-999 -c clamscan | grep REG"