Aller au contenu

Analyse avec ClamAV

Dans cet article

ClamAV est un antivirus gratuit, multiplateforme et open‑source conçu pour détecter les trojans, virus, logiciels malveillants et autres menaces. Il est le plus couramment utilisé sur les serveurs et les passerelles de messagerie.

Installation

Ubuntu / Debian

sudo apt update && sudo apt install -y clamav clamav-daemon

Note

À partir d'Ubuntu 22.04 et de Debian 11+, le paquet clamav-daemon (incluant clamd) est recommandé d'être installé séparément si une numérisation en arrière‑plan ou une intégration avec d'autres services est prévue.

CentOS / RHEL / Fedora

Pour RHEL/CentOS 7 / 8 / 9 (EPEL doit être activé)

sudo yum install -y epel-release
sudo yum install -y clamav clamav-update

Pour Fedora / RHEL 9+ (en utilisant dnf)

sudo dnf install -y clamav clamav-update

Note

Sur les systèmes avec systemd (toutes les distributions modernes), le service clamav-freshclam gère les mises à jour automatiques de la base de données.

Mise à jour des signatures

Avant la première utilisation, assurez‑vous de mettre à jour les bases de données de signatures de virus.

Méthode standard (lorsque** freshclam **est en cours d'exécution)

sudo freshclam
Si vous rencontrez une erreur ERROR: Can't open /var/lib/clamav/main.cvd: Permission denied ou ERROR: Database lock file exists, le service clamav-freshclam peut déjà être en cours d'exécution et bloquer la mise à jour. Dans ce cas, utilisez :
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam

Exigences en ressources

  • RAM : Pour les analyses complètes, au moins 1 – 1,5 GB de RAM libre sont recommandés.
  • Swap : Si aucune partition ou fichier d'échange n'existe, configurez‑le, surtout sur les VPS à mémoire limitée :
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    

Exemples de numérisation

Tâche Commande
Scanner un seul fichier clamscan /path/to/file
Analyse récursive d'un dossier (infecté uniquement) clamscan -r -i /folder
Déplacer les fichiers infectés clamscan -r --move=/quarantine /folder
Supprimer automatiquement les fichiers infectés clamscan -r --remove /folder
Générer un rapport dans un fichier clamscan -r -i /folder > scan_report.txt
Utiliser le démon clamd (plus rapide, moins de RAM en répétition) clamdscan -r /folder

Note

L'option --remove supprime de façon permanente les fichiers. Utilisez‑la uniquement après tests et avec une sauvegarde.

Pour accélérer les numérisations répétées, il est recommandé d'utiliser clamdscan (exécuté via le démon clamd), après avoir démarré le service :

sudo systemctl start clamav-daemon
sudo clamdscan -r /folder

Conseils utiles

  • Pour vérifier si clamd est en cours d'exécution :

sudo systemctl status clamav-daemon
- Les journaux de numérisation (par défaut) se trouvent dans /var/log/clamav/. - Pour planifier des numérisations régulières, configurez cron :

# Vérification quotidienne à 3 h 30 du matin
30 3 * * * /usr/bin/clamscan -r --exclude-dir="^/sys\|^/proc\|^/dev" /home --log=/var/log/clamav/daily_scan.log