
Dans ce tutoriel, nous allons apprendre à déployer et à configurer un antivirus open source sous Linux : ClamAV. Nous verrons comment il fonctionne et comment il peut être utilisé afin d’analyser la signature des fichiers sur un système. Nous l’utiliserons aussi dans un cas concret pour sécuriser une plateforme web traitant des documents externes.
ClamAV est une solution antivirus open source largement utilisée pour la détection de malwares sur les serveurs Linux. Il se compose principalement de trois composants :
clamav-daemon (clamd), qui offre un scanner rapide en mode démon et peut être interrogé localement,
freshclam, qui assure la mise à jour automatique des signatures virales,
clamscan, un outil en ligne de commande permettant de réaliser des scans ad hoc.
Concrètement, ClamAV ne devine pas si un fichier est malveillant : il compare le contenu des fichiers avec une base de signatures virales régulièrement mise à jour. On peut le faire tourner en tâche de fond, l’interroger depuis une application web (directement via le code), ou encore planifier des scans réguliers avec cron ou systemd.
Pour exécuter un scan avec ClamAV, il y a deux outils : clamscan ou clamdscan. Ce sont deux méthodes différentes et natives de solliciter ClamAV, mais elles ne fonctionnent pas de la même façon. Voici quelques éléments de comparaison entre les deux :
CritèreclamscanclamdscanPrincipeScanner autonome qui embarque son propre moteurClient léger qui interroge le démon clamdDémon requisNon, fonctionne seulOui, clamav-daemon doit tournerBase de signaturesRechargée en mémoire à chaque exécutionDéjà chargée en permanence par clamdVitesse de démarrageLente (plusieurs secondes de chargement, à cause du chargement de la base de signatures)Quasi instantanéeConsommation mémoireÉlevée à chaque lancement (plusieurs centaines de Mo)Faible côté client (le démon porte la charge)Source de configurationOptions en ligne de commandeHérite des réglages de clamd.confAccès aux fichiersLit directement les fichiers (aucun souci si exécuté en root)Le démon tourne sous clamav, donc il nécessite souvent –fdpass (nous verrons un cas par la suite).
Installation et configuration de ClamAV sur Linux
Installation des paquets ClamAV
La première étape consiste à mettre à jour nos dépôts et à installer ClamAV ainsi que son démon :
sudo apt update
sudo apt install -y clamav clamav-daemon
Ces paquets incluent le moteur de détection, le démon en arrière-plan, et le service de mise à jour des signatures freshclam. En effet, l’installation de ces deux paquets va aussi installer les dépendances suivantes : clamav-base, clamav-freshclam, clamdscan, libclamav12.
Mise à jour initiale des signatures
Après l’installation, les signatures virales sont vides. Il est donc nécessaire d’effectuer une mise à jour manuelle pour télécharger les premières signatures, puis de laisser freshclam tourner en tâche de fond pour maintenir la base à jour.
C’est quoi une signature virale ?
Une signature virale est une empreinte caractéristique d’un malware, utilisée pour l’identifier. On peut la comparer à une empreinte digitale pour un virus.
ClamAV dispose d’une base de signatures (fichiers, chaînes de caractères, hashs, etc.). Lors d’un scan, il lit le contenu d’un fichier et cherche des correspondances avec ces signatures. Si une correspondance est trouvée, le fichier est détecté comme infecté ou suspect.
La qualité et le maintien à jour de cette base de signatures sont donc importants : un antivirus sans signatures à jour est quasiment aveugle, car les menaces évoluent très rapidement.
Voici comment mettre à jour ou installer pour la première fois nos bases de signatures ClamAV :
# Arrêt du service clamav-freshclam
$ sudo systemctl stop clamav-freshclam
# Mise à jour manuelle des bases de signatures
$ sudo freshclam
ClamAV update process started at Fri Mar 6 19:33:03 2026
Fri Mar 6 19:33:03 2026 -> daily database available for download (remote version: 27932)
Time: 0.4s, ETA: 0.0s [========================>] 22.29MiB/22.29MiB
Testing database: ‘/var/lib/clamav/tmp.d4b1018d45/clamav-bf6b1e9b1627e6aafbd08cd7afa99290.tmp-daily.cvd’ …
Database test passed.
Fri Mar 6 19:33:06 2026 -> daily.cvd updated (version: 27932, sigs: 355191, f-level: 90, builder: svc.clamav-publisher)
Fri Mar 6 19:33:06 2026 -> main database available for download (remote version: 63)
Time: 0.9s, ETA: 0.0s [========================>] 84.95MiB/84.95MiB
Testing database: ‘/var/lib/clamav/tmp.d4b1018d45/clamav-ad1c987102555a9705fad09f212a6903.tmp-main.cvd’ …
[…]
# Redémarrage du service clamav-freshclam
$ sudo systemctl start clamav-freshclam
Vous trouverez ensuite les bases de signatures nouvellement téléchargées ou mises à jour dans le dossier /var/lib/clamav :
# ls /var/lib/clamav/ -al
total 110112
drwxr-xr-x 2 clamav clamav 4096 Mar 6 19:33 .
drwxr-xr-x 1 root root 4096 Mar 6 19:30 ..
-rw-r–r– 1 clamav clamav 281702 Mar 6 19:33 bytecode.cvd
-rw-r–r– 1 clamav clamav 23373683 Mar 6 19:33 daily.cvd
-rw-r–r– 1 clamav clamav 90 Mar 6 19:33 freshclam.dat
-rw-r–r– 1 clamav clamav 89072577 Mar 6 19:33 main.cvd
freshclam interroge régulièrement les serveurs de ClamAV pour récupérer les dernières signatures. Nous devons activer freshclam au démarrage (c’est souvent le cas par défaut après installation) :
# Configuration du démarrage automatique du ervice clamav-freshclam
$ sudo systemctl enable clamav-freshclam
Démarrage et activation du démon clamav-daemon
Pour que le démon ClamAV soit actif et se lance automatiquement au démarrage, nous allons utiliser la commande suivante :
sudo systemctl enable –now clamav-daemon
Vérifions son statut avec :
# Afficher le status de clamav-daemon
$ systemctl status clamav-daemon
● clamav-daemon.service – Clam AntiVirus userspace daemon
Loaded: loaded (/usr/lib/systemd/system/clamav-daemon.service; enabled; preset: disabled)
Drop-In: /etc/systemd/system/clamav-daemon.service.d
└─extend.conf
Active: active (running) since Fri 2026-03-06 19:40:43 CET; 24s ago
Invocation: 5edc792762a44d049fa33386da08dc33
TriggeredBy: ● clamav-daemon.socket
Docs: man:clamd(8)
man:clamd.conf(5)
https://docs.clamav.net/
Process: 6176 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/SUCCESS)
Process: 6179 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
Main PID: 6182 (clamd)
Tasks: 2 (limit: 9387)
Memory: 960M (peak: 960.3M)
CPU: 7.304s
CGroup: /system.slice/clamav-daemon.service
└─6182 /usr/sbin/clamd –foreground=true
$ ps -edf |grep clam
clamav 5450 1 0 19:40 ? 00:00:00 /usr/bin/freshclam -d –foreground=true
clamav 6182 1 8 19:40 ? 00:00:07 /usr/sbin/clamd –foreground=true
ClamAV peut communiquer via :
Une socket locale (LocalSocket),
Un port TCP (TCPSocket) en écoute locale ou externe.
Pour des raisons de sécurité, il est recommandé d’utiliser le LocalSocket lorsque l’accès se fait depuis le même serveur ou une application locale. Cela évite d’ouvrir le démon au réseau et limite les risques.
ClamAV peut également être utilisé en tant que serveur et alors être interrogé par plusieurs clients. Mais ce n’est pas l’objectif de ce tutoriel.
Le chemin du socket est généralement /var/run/clamav/clamd.ctl ou /var/run/clamav/clamd.sock. La configuration se trouve dans /etc/clamav/clamd.conf, où vous pouvez vérifier ou modifier la ligne suivante si besoin (pas nécessaire par défaut) :
LocalSocket /var/run/clamav/clamd.ctl
Je vous invite à prendre le temps de regarder les autres options. C’est ici que vous pourrez ajuster le comportement de ClamAV.
Vérification des composants
Nous allons à présent réaliser un premier test de scan avec ClamAV en ligne de commande, il faut commenter par lui donner quelque chose à scanner. Utilisons le fichier EICAR :
Qu’est-ce que le fichier EICAR ?
Le fichier EICAR (European Institute for Computer Antivirus Research) est un faux virus de test : un simple fichier texte inoffensif spécialement conçu pour permettre de vérifier le bon fonctionnement d’un antivirus sans utiliser un vrai malware. Il ne contient aucun code malveillant, mais est cependant reconnu comme “virus de test” par la plupart des antivirus, dont ClamAV. Il permet de tester la détection, les logs, les alertes, etc.
Pour le créer, il suffit d’insérer cette simple chaine de caractères dans un fichier texte :
# Création d’un fichier de test EICAR
echo ‘X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*’ > eicar.txt
Lançons à présent notre premier scan manuel ClamAV à l’aide de la commande clamscan :
# Lancement d’un scan manuel clamav sur le fichier eicar.txt
clamscan –infected –remove –recursive eicar.txt
Voici le détail des options que nous venons d’utiliser :
–infected : n’affiche que les fichiers infectés.
–remove : supprime les fichiers détectés comme infectés.
–recursive : parcourt récursivement les sous-répertoires (pas indispensable ici puisque l’on cible un fichier, mais utile en pratique).
Voici le retour que vous pourrez obtenir :
/eicar.txt: Eicar-Signature FOUND
/eicar.txt: Removed.
———– SCAN SUMMARY ———–
Known viruses: 3627604
Engine version: 1.4.3
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 6.865 sec (0 m 6 s)
Start Date: 2026:03:06 19:50:00
End Date: 2026:03:06 19:50:07
Nous avons ici l’information claire que le fichier eicar.txt a été détecté comme malveillant et supprimé. Un sommaire nous donne ensuite quelques informations complémentaires comme le temps de scan, le nombre de fichiers scannés, la version du moteur et le nombre de signatures en base.
Nous avons maintenant la confirmation que le moteur ClamAV fonctionne, que les signatures sont bien chargées et que la détection est opérationnelle. Nous allons passer à un cas de figure un peu plus réaliste d’utilisation de ClamAV.
Intégration côté serveur web : scénarios d’analyse des CVs
Pour illustrer l’action de ClamAV, nous allons utiliser une tâche planifiée pour traiter les documents récemment déposés et les mettre dans un répertoire “sûr” une fois qu’ils ont été vérifiés.
Nous allons travailler avec les répertoires suivants :
/var/www/data/cv_incoming/ : répertoire de dépôt initial des fichiers (par le serveur web).
/var/www/data/cv_safe/ : répertoire des fichiers scannés et sûrs.
/var/www/data/cv_infected/ : quarantaine pour les fichiers infectés (optionnel).
Nous allons créer un script shell qui :
Parcourt les fichiers dans cv_incoming.
Les scanne avec clamscan ou clamdscan.
Déplace chaque fichier selon le résultat.
Voici un tel script :
#!/bin/bash
INCOMING=”/var/www/data/cv_incoming”
SAFE=”/var/www/data/cv_safe”
INFECTED=”/var/www/data/cv_infected”
LOG=”/var/log/clamav/scan_cvs.log”
mkdir -p “$SAFE” “$INFECTED”
# Pour chaque fichier dans le répertoire de dépôt
for file in “$INCOMING”/*; do
[ -e “$file” ] || continue
# Scan du fichier : on récupère la sortie ET le code retour
result=$(clamscan –stdout “$file” 2>&1)
ret=$?
echo “$(date ‘+%F %T’) – $result” >> “$LOG”
# En fonction du code retour de la commande
case “$ret” in
0)
# Pas de virus trouvé
mv — “$file” “$SAFE”/
;;
1)
# Au moins un virus trouvé
mv — “$file” “$INFECTED”/
;;
*)
# 2 ou autre : erreur lors du scan, mise en quarantaine par prudence
mv — “$file” “$INFECTED”/
;;
esac
done
Nous devons ensuite le rendre exécutable à l’aide de la commande suivante :
# Ajout des droits d’exécution sur le script
chmod +x /usr/local/bin/scan_cvs.sh
Nous allons maintenant tester notre script manuellement, en ajoutant dans notre répertoire de réception /var/www/data/cv_incoming/ un fichier eicar.txt comme précédemment, et un fichier ne contenant pas de signature connue et non malveillant, puis nous exécuterons notre script :
$ echo ‘X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*’ > var/www/data/cv_incoming/eicar.txt
$ echo ‘Ceci est mon CV’ > var/www/data/cv_incoming/ok.txt
# Affichage de l’arborescence du serveur web
$ tree /var/www/data/
/var/www/data/
|– cv_incoming
| |– eicar.txt
| `– ok.txt
|– cv_infected
`– cv_safe
# Exécution du script de scan ClamAV
$ /usr/local/bin/scan_cvs.sh
# Affichage de l’arborescence du serveur web
$ tree /var/www/data/
/var/www/data/
|– cv_incoming
|– cv_infected
| `– eicar.txt
`– cv_safe
`– ok.txt
C’est un succès ! Chacun de nos fichiers a bien été trié dans le bon répertoire et notre fichier eicar.txt se retrouve dans le dossier cv_infected. Vous trouverez, pour chaque analyse lancée par notre script, le résultat et le sommaire dans le fichier /var/log/clamav/scan_cvs.log.
La prochaine étape consiste bien sûr à créer la tâche planifiée qui va exécuter ce script régulièrement. Partons sur le principe d’une exécution toutes les 15 minutes.
Attention : l’analyse de toute une arborescence peut prendre plusieurs minutes, notamment parce que nos bases de signatures sont grandes (et continuent de grandir). Veillez donc à faire des tests et à ne pas lancer des scans trop fréquents dont la charge s’accumulerait au fil du temps (risque de déni de service).
Je vous recommande de consulter notre tutoriel sur les tâches planifiées avec crontab si vous ne connaissez pas du tout cet outil :
Utilisons la commande crontab pour ajouter une nouvelle tâche planifiée :
# Edition des tâches plannifiées
sudo crontab -e
Nous pouvons par exemple ajouter la ligne suivante :
# Exécution du script d’analyse antivirale toutes les 15 minutes
*/15 * * * * /usr/local/bin/scan_cvs.sh
Et voilà, il faut à présent uniquement s’assurer que l’application dépose bien les fichiers uploadés par les visiteurs dans le dossier cv_incoming et que les utilisateurs internes ne peuvent accéder qu’à cv_safe. La tâche planifiée fera le reste.
L’analyse en temps réel avec ClamAV
Avec ClamAV On-Access Scanning, l’antivirus peut effectuer une analyse en temps réel des fichiers stockés sur votre machine. Ceci va s’appuyer sur un service à part, et comme on a déjà installé le paquet clamav-daemon, il doit être déjà présent sur la machine locale.
Pour en avoir le cœur net, exécutez cette commande (s’il n’y a pas d’erreur, c’est tout bon).
clamonacc –help
L’analyse en temps réel est personnalisable, c’est-à-dire qu’elle peut être limitée à certains répertoires, à certains utilisateurs ou encore seulement aux fichiers qui ne dépassent pas une certaine taille.
Créer le service pour le scan temps réel
Nous allons créer un service pour exécuter ce composant additionnel (il existe déjà un service par défaut, mais nous allons en créer un personnalisé).
nano /etc/systemd/system/clamonacc.service
Dans ce fichier, copiez-collez cette configuration :
[Unit]
Description=ClamAV On-Access Scanner
Requires=clamav-daemon.service
After=clamav-daemon.service syslog.target network.target
[Service]
Type=simple
User=root
ExecStart=/usr/sbin/clamonacc -F –fdpass –log=/var/log/clamav/clamonacc.log –move=/var/quarantine
Restart=on-failure
[Install]
WantedBy=multi-user.target
Enregistrez et fermez le fichier.
Il faut savoir que :
–fdpass : cette option évite les erreurs d’accès lors de l’analyse en temps réel de fichiers stockés dans certains répertoires, comme dans le home d’un utilisateur, par exemple.
–log=/var/log/clamav/clamonacc.log : le fichier journal où seront indiquées les erreurs et les informations sur les fichiers infectés détectés.
–move=/var/quarantine : lorsqu’un fichier malveillant est détecté, il sera déplacé vers la quarantaine.
Désormais, activez le démarrage automatique du service et lancez-le :
sudo systemctl daemon-reload
sudo systemctl enable –now clamonacc
Préparer le dossier pour la quarantaine
Pour que ClamAV puisse déplacer vers la quarantaine les fichiers infectés, nous devons préparer le dossier où seront stockés ces fameux fichiers.
Exécutez ces deux commandes :
sudo mkdir -p /var/quarantine
sudo chmod 700 /var/quarantine
Configuration du scan en temps réel
Désormais, éditez le fichier clamd.conf pour personnaliser la fonctionnalité de scan en temps réel. Ici, je vais configurer ClamAV pour qu’il effectue une analyse en temps réel uniquement sur le répertoire suivant : /home/flo/Téléchargements. Sur un serveur, vous pourriez par exemple cibler le répertoire des uploads, s’il s’agit d’une application Web.
nano /etc/clamav/clamd.conf
À la suite de la configuration, ajoutez les lignes suivantes pour configurer la protection en temps réel (adaptez selon vos besoins).
Activez la protection en temps réel :
OnAccessPrevention yes
Surveiller uniquement le répertoire /home/flo/Téléchargements, de façon récursive. Besoin d’en surveiller plusieurs ? Ajoutez plusieurs fois l’instructions OnAccessIncludePath.
OnAccessIncludePath /home/flo/Téléchargements
Pour exclure clamav et root du périmètre, indiquez également ceci :
OnAccessExcludeUname clamav
OnAccessExcludeRootUID yes
Ces deux directives ne sont pas anodines : elles servent à éviter que l’antivirus ne se scanne lui-même en boucle. En effet, lorsque le démon ClamAV analyse un fichier, il doit l’ouvrir pour le lire : cette ouverture constitue elle-même un accès fichier, qui serait à son tour détecté par le scanner On-Access. On entrerait alors dans une boucle sans fin : ClamAV scanne un fichier, ce qui déclenche un nouvel évènement, qui relance un scan, et ainsi de suite. La directive OnAccessExcludeUname clamav permet justement d’exclure du périmètre tous les accès réalisés par l’utilisateur clamav, sous lequel tourne le démon.
La seconde ligne, OnAccessExcludeRootUID yes, exclut quant à elle les accès effectués par l’utilisateur root. Dans certains cas, il est utile de la garder, notamment si c’est un serveur où il y a plus d’actions effectuées en tant que root. Sur un poste de travail, c’est mieux d’insérer cette ligne.
Il est également possible d’exclure certains répertoires. Ceci peut s’avérer utile si vous scannez une racine plus importante (comme /home) ou l’ensemble du système, afin d’éviter les dossiers de cache ou ceux n’ayant pas d’intérêt. Par exemple :
OnAccessExcludePath /proc
OnAccessExcludePath /dev
OnAccessExcludePath /sys
Relancez les deux services :
sudo systemctl restart clamonacc.service
sudo systemctl restart clamav-daemon.service
Tester la protection
Lancez l’affichage en temps réel des logs relatifs à l’analyse en temps réel :
sudo tail -f /var/log/clamav/clamonacc.log
Puis, téléchargez depuis le Web un fichier malveillant (EICAR).
curl -o /home/flo/Téléchargements/eicar.txt https://secure.eicar.org/eicar.com.txt
Le fichier malveillant est immédiatement détecté et placé en quarantaine.
La protection en temps réel sur le répertoire “Téléchargements” est opérationnelle !
Planifier un scan avec ClamAV
ClamAV peut aussi effectuer un scan périodique sur votre système, que ce soit sur l’intégralité de la machine ou certains répertoires. Pour mettre en place cette routine, nous pouvons créer un service systemd dédié associé à un timer. L’exemple ci-dessous permet de scanner tout le répertoire /home/ chaque dimanche à 2 heures du matin.
Avant de commencer, sachez que le couple service/timer repose sur une séparation des rôles :
Le fichier .service définit ce qui doit être exécuté (ici, la commande d’analyse clamdscan sur /home/),
Le fichier .timer associé définit quand l’exécuter (chaque dimanche à 2 h du matin), systemd se chargeant de déclencher automatiquement le service au moment voulu.
Passons maintenant à la création des deux fichiers.
Le service
Créez /etc/systemd/system/scan-home-hebdo.service :
[Unit]
Description=Scan ClamAV hebdomadaire de /home
Requires=clamav-daemon.service
After=clamav-daemon.service
[Service]
Type=oneshot
Nice=19
IOSchedulingClass=idle
ExecStart=/usr/bin/clamscan –recursive –infected –move=/var/quarantine –log=/var/log/clamav/scan-home-hebdo.log –exclude-dir=”^/home/[^/]+/\.cache” /home
SuccessExitStatus=1
clamscan scanne récursivement un dossier par défaut, donc tout /home et ses sous-dossiers seront couverts par cette analyse. Ici, les paramètres Nice=19 et IOSchedulingClass=idle ont été ajoutés pour mettre le scan en basse priorité CPU/disque : même si la machine n’est pas totalement inactive à 2 h, le scan ne gênera pas le système. Ce n’est pas forcément indispensable, selon l’activité nocturne de la machine analysée (parfois on fait aussi des sauvegardes sur cette période). De plus, les dossiers utilisés pour le cache seront exclus de l’analyse.
Enregistrez et fermez le fichier.
Le timer
Créez /etc/systemd/system/scan-home-hebdo.timer :
[Unit]
Description=Lancez le scan ClamAV de /home/ chaque semaine
[Timer]
OnCalendar=Sun *-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
Ici, la planification attendue est définie par OnCalendar=Sun *-*-* 02:00:00 = tous les dimanches à 2 h 00. Pour changer de jour, remplacez Sun par une autre valeur : Mon, Tue, Wed, Thu, Fri ou Sat. Enfin, sachez que Persistent=true rattrape le scan au prochain démarrage s’il a été manqué (machine éteinte à 2 h).
Dans le cas où vous avez un doute sur la syntaxe de la planification, vous pouvez aussi contrôler la syntaxe avec cette commande :
systemd-analyze calendar “Sun *-*-* 02:00:00”
Activation et vérification
Une fois les deux fichiers prêts, vous pouvez exécuter ces commandes pour activer le service, le démarrer (il attendra la prochaine planification), et afficher la planification à venir. Ceci permettra de valider la configuration mise en place.
sudo systemctl daemon-reload
sudo systemctl enable –now scan-home-hebdo.timer
systemctl list-timers scan-home-hebdo.timer
Si vous souhaitez lancer un test dès maintenant, exécutez cette commande :
sudo systemctl start scan-home-hebdo.service
Consultez les journaux :
tail -f /var/log/clamav/scan-home-hebdo.log
Bonnes pratiques et limites de ClamAV
Nous avons ici vu une installation et une utilisation basiques et standards de ClamAV, il contient néanmoins de nombreux paramètres et contextes d’utilisation. Voyons rapidement les principales bonnes pratiques et limites de ClamAV :
Bonnes pratiques
Mettre à jour régulièrement les signatures : vérifier que freshclam tourne correctement et surveiller ses logs (/var/log/clamav/freshclam.log).
Limiter les accès au démon : privilégier LocalSocket plutôt qu’un port TCP ouvert sur l’extérieur s’il n’est pas nécessaire, restreindre les droits sur la socket et les répertoires scannés.
Adapter la configuration : dans /etc/clamav/clamd.conf, il est possible d’ajuster : les limites de taille de fichier, les types d’archives scannées, le nombre de threads, etc. Cela pour optimiser l’utilisation de ClamAV en fonction de vos besoins.
Journaliser les scans : conserver des logs d’analyse (fichiers infectés, erreurs) pour faciliter le diagnostic et l’audit.
Tester régulièrement : réutiliser le fichier EICAR pour s’assurer que toute la chaîne fonctionne (upload, scan, logs).
Limites de ClamAV
Basé principalement sur des signatures : ClamAV repose avant tout sur une base de signatures, il ne doit pas être confondu avec un EDR. Il est notamment moins efficace contre les malwares très récents (0-day), les variantes fortement obfusquées et les attaques avancées.
Pas d’agent “complet” sur poste utilisateur : ClamAV est surtout destiné aux serveurs Linux, pas à remplacer un antivirus complet sur un poste Windows.
Impact sur les performances : les scans peuvent être coûteux en CPU et prendre du temps, surtout sur de gros volumes de données ou des arborescences importantes.
Conclusion
ClamAV est une solution antivirale reconnue pour les environnements Linux, il est toujours préférable qu’il fasse partie des briques de sécurité de vos environnements, mais il faut connaitre son fonctionnement et savoir bien l’utiliser, notamment via des scans programmés et réguliers.
Il faut notamment voir ClamAV comme une brique de sécurité parmi d’autres, comme le filtrage au niveau du proxy/mail, le durcissement des serveurs, le contrôle des accès et la sensibilisation des utilisateurs.
Pour aller plus loin, retrouvez la documentation officielle de ClamAV et découvrez ClamUI, une GUI pour ClamAV :
FAQ
Peut-on installer ClamAV sous Windows ?
Oui, ClamAV propose aussi des binaires pour Windows, mais il est surtout utilisé sur les serveurs Linux. Sur Windows, il est plutôt employé comme moteur de scan complémentaire que comme antivirus principal de poste.
ClamAV met-il à jour ses bases de signatures tout seul ?
Oui, le composant freshclam peut être exécuté en service et télécharger automatiquement les dernières signatures virales. Il suffit de l’activer au démarrage et de vérifier que l’accès Internet est autorisé vers les serveurs de mise à jour.
ClamAV suffit-il pour protéger un serveur web recevant des fichiers (CV, documents, etc.) ?
ClamAV est une très bonne brique de protection pour filtrer les fichiers entrants, mais il ne remplace pas une approche globale de sécurité. Il doit être combiné avec un durcissement du serveur, des contrôles d’accès et de bonnes pratiques côté application.
ClamAV détecte-t-il les virus “récents” ou les attaques 0-day ?
ClamAV repose principalement sur des signatures, il est donc très efficace sur les malwares connus. En revanche, comme tous les antivirus basés sur signatures, il est moins performant contre les 0-day ou les menaces très nouvelles qui n’ont pas encore de signature.
Cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Mon obsession depuis près de 15 ans ? Rendre l’administration système et la cybersécurité accessibles, que vous soyez junior ou confirmé. Plus qu’un métier, l’IT est pour moi une véritable passion. J’accompagne au quotidien les sysadmins et les professionnels de l’IT dans leur montée en compétences et leur veille technique.
