ClamAV est un moteur antivirus open-source conçu pour détecter les chevaux de Troie, les virus, les logiciels malveillants et autres menaces. C'est une solution de sécurité populaire pour les serveurs de messagerie, les passerelles web et l'analyse de fichiers sur les systèmes Linux.
Pourquoi Utiliser ClamAV ?
- Open-Source et Gratuit : Une solution de sécurité accessible sans coût de licence.
- Multi-plateforme : Fonctionne sur Linux, Windows et macOS.
- Flexibilité : Peut être utilisé en ligne de commande, en tant que démon, ou intégré à d'autres applications (serveurs mail, proxys).
- Base de données de signatures à jour : La communauté maintient une base de données de menaces régulièrement mise à jour.
Prérequis
- Un serveur Linux (Ubuntu/Debian, CentOS/RHEL, etc.).
- Accès root ou privilèges sudo.
Installation
Étape 1 : Installer les paquets
# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y clamav clamav-daemon
# Sur CentOS / RHEL (nécessite le dépôt EPEL)
sudo yum install -y epel-release
sudo yum install -y clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-server-systemd
Étape 2 : Mettre à jour la base de signatures virales
Avant toute chose, il faut télécharger la dernière base de données de signatures. Le service `freshclam` s'en charge.
# Arrêter le service pour la première mise à jour manuelle
sudo systemctl stop clamav-freshclam
# Lancer la mise à jour manuellement (peut prendre quelques minutes)
sudo freshclam
# Redémarrer les services
sudo systemctl start clamav-freshclam
sudo systemctl start clamav-daemon
Vérifiez que les services sont bien actifs :
sudo systemctl status clamav-freshclam
sudo systemctl status clamav-daemon
ClamAV est installé et sa base de données est à jour. Le démon `clamav-daemon` tourne en arrière-plan pour des scans rapides et `clamav-freshclam` mettra à jour les signatures automatiquement.
Utilisation en ligne de commande
L'outil principal pour lancer un scan manuel est clamscan.
Scanner un fichier
clamscan mon_fichier.zip
Scanner un répertoire de manière récursive
# -r pour récursif
clamscan -r /home/utilisateur
Options utiles
--infected: N'affiche que les fichiers infectés.--remove: Supprime directement les fichiers infectés (à utiliser avec prudence !).--move=/repertoire/quarantaine: Déplace les fichiers infectés dans un répertoire de quarantaine.-l /var/log/clamav_scan.log: Enregistre le rapport de scan dans un fichier de log.
Exemple de scan complet et sûr
La commande suivante scanne tout le système, ne montre que les fichiers infectés, les déplace en quarantaine et enregistre un rapport.
sudo clamscan -r --infected --move=/var/quarantine/clamav / -l /var/log/clamav/scan_manuel.log
Automatisation avec Cron
Il est indispensable d'automatiser les scans. Voici comment programmer un scan hebdomadaire avec cron.
sudo nano /etc/cron.weekly/clamav_scan
Ajoutez le contenu suivant et rendez le fichier exécutable :
#!/bin/bash
LOG_FILE="/var/log/clamav/weekly_scan_$(date +\%Y-\%m-\%d).log"
QUARANTINE_DIR="/var/quarantine/clamav"
mkdir -p $QUARANTINE_DIR
# Scan du système de fichiers, en excluant quelques répertoires systèmes
clamscan -r --infected --move=$QUARANTINE_DIR \
--exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev" \
/ > $LOG_FILE 2>&1
sudo chmod +x /etc/cron.weekly/clamav_scan
Un scan complet du système de fichiers peut être très intensif en termes d'I/O et de CPU. Planifiez-le pendant les heures de faible activité.
Conclusion
ClamAV est une solution antivirus robuste et flexible pour les environnements Linux. Son installation est simple, et son utilisation, que ce soit manuellement ou via une automatisation cron, permet d'ajouter une couche de sécurité essentielle à vos serveurs. N'oubliez jamais que la sécurité est une question de défense en profondeur : un antivirus est un outil parmi d'autres (pare-feu, mises à jour, configuration durcie).