Ce que fait ce module #
Un antivirus compare les fichiers de votre serveur à un catalogue de signatures de malware connu. Si quelque chose correspond, il le marque comme infecté pour qu'il ne puisse plus circuler — par exemple, une pièce jointe malveillante téléversée dans un dossier public ou un fichier corrompu arrivé par FTP.
Le module clamav met le moteur ClamAV à portée de main à travers une poignée de commandes claires : consulter son état, analyser le chemin que vous voulez (un fichier ou une arborescence entière), décider quoi faire de ce qui est infecté — simplement le signaler, le supprimer ou le déplacer vers une quarantaine sûre depuis laquelle vous pourrez le restaurer plus tard — et garder la base de signatures à jour avec freshclam. La quarantaine isole le fichier sans le supprimer, ainsi vous ne perdez jamais rien par erreur.
Une analyse détecte avec la base de signatures dont vous disposez à ce moment-là. Si vous n'avez pas fait de mise à jour depuis des jours, lancez d'abord imaxe clamav update pour ne pas manquer les menaces récentes. Analyser de grandes arborescences peut prendre du temps et consommer du CPU : restreignez le chemin à ce que vous voulez réellement vérifier.
Tâches courantes #
Choisissez ce que vous voulez faire. Chaque recette fournit la commande déjà prête — il suffit de remplacer le chemin par le vôtre et de cliquer sur Copier.
1
Vérifier si ClamAV est prêt
Vérifie le moteur, le mode et l'ancienneté de vos signatures.
Connectez-vous en SSH à votre serveur et demandez l'état général :
$ sudo imaxe clamav statusSeule la base de signatures vous intéresse — version, date et fichiers ? Utilisez db :
$ sudo imaxe clamav db2
Analyser un dossier
Vérifie un chemin et conserve le rapport, sans rien toucher.
Analysez un répertoire et tout son contenu avec --recursive. Par défaut, il se contente de signaler : il ne supprime ni ne déplace rien.
$ sudo imaxe clamav scan /home --recursiveJuste un seul fichier ? Passez-lui le chemin direct, sans --recursive :
$ sudo imaxe clamav scan /srv/uploads/factura.pdf3
Analyser et isoler ce qui est infecté
Déplace automatiquement en quarantaine tout ce qui est positif.
Analysez un chemin et, avec --quarantine, déplacez chaque fichier infecté en quarantaine au lieu de le laisser où il est :
$ sudo imaxe clamav scan /srv/uploads --recursive --quarantineVous préférez supprimer ce qui est infecté d'emblée plutôt que de l'isoler ? Utilisez --remove (c'est irréversible, à utiliser avec discernement) :
$ sudo imaxe clamav scan /srv/uploads --recursive --remove4
Examiner et restaurer la quarantaine
Voyez ce qui est isolé et récupérez un faux positif si besoin.
Listez ce qui est en quarantaine — chaque entrée comporte son identifiant, son origine, sa signature et sa date :
$ sudo imaxe clamav quarantine listC'était un faux positif ? Restaurez-le vers son chemin d'origine en utilisant l'identifiant affiché dans la liste :
$ sudo imaxe clamav quarantine restore a1b2c3d4Une fois que vous avez confirmé que tout ce qui est isolé est indésirable, videz définitivement la quarantaine :
$ sudo imaxe clamav quarantine purge --yes5
Mettre à jour les signatures
Télécharge les dernières définitions pour détecter les nouvelles menaces.
Lancez freshclam pour récupérer la base de signatures la plus récente :
$ sudo imaxe clamav updateEnsuite, confirmez que la base est à jour, avec sa version et sa date :
$ sudo imaxe clamav db--removeLa suppression retire le fichier sans retour possible, et aucun antivirus n'est exempt de faux positifs. En cas de doute, utilisez toujours --quarantine : il isole tout aussi bien et vous permet de restaurer si vous vous êtes trompé.
Synopsis #
imaxe clamav <subcomando> [<ruta>] [--recursive] [--quarantine|--remove] [--json]Les sous-commandes qui analysent, déplacent ou suppriment des fichiers nécessitent les privilèges root (utilisez sudo), car elles lisent les chemins d'autres utilisateurs et écrivent dans la quarantaine du système. Ajoutez --json à n'importe quelle commande pour obtenir une sortie lisible par machine, adaptée au scripting.
Sous-commandes #
| Sous-commande | Rôle | Flags pertinents |
|---|---|---|
| status | État de ClamAV : moteur, mode (daemon/on-demand), freshclam et base de signatures. | --json |
| scan | Analyse un chemin ; peut signaler, supprimer ou mettre en quarantaine ce qui est infecté. | --recursive, --remove, --quarantine, --json |
| update | Met à jour la base de signatures via freshclam. | --json |
| db | Informations sur la base de signatures : version, date et fichiers. | --json |
| quarantine | Gère la quarantaine des fichiers infectés (groupe de sous-commandes). | list · restore · purge |
Le groupe quarantine réunit trois sous-commandes :
| Sous-commande | Rôle | Flags pertinents |
|---|---|---|
| quarantine list | Liste les fichiers en quarantaine (origine, signature, date). | --json |
| quarantine restore | Restaure un fichier de la quarantaine vers son chemin d'origine ou une destination donnée. | <id> [<destino>] |
| quarantine purge | Supprime définitivement tout ce qui est en quarantaine. | --yes |
Arguments et flags #
| Flag / argument | Type | Par défaut | Description |
|---|---|---|---|
| <ruta> req. | path | — | Dans scan, fichier ou répertoire à analyser. |
| <id> req. | string | — | Dans quarantine restore, identifiant de l'élément en quarantaine (affiché par quarantine list). |
| <destino> | path | ruta original | Dans quarantine restore, chemin où restaurer le fichier. Par défaut, son emplacement d'origine. |
| --recursive | bool | false | Dans scan, analyse récursive des répertoires. |
| --quarantine | bool | false | Dans scan, déplace les fichiers infectés en quarantaine. |
| --remove | bool | false | Dans scan, supprime les fichiers infectés. Irréversible ; mutuellement exclusif avec --quarantine. |
| --yes | bool | false | Dans quarantine purge, confirme la suppression sans demander. |
| --json | bool | false | Émet le résultat en JSON sur stdout. Disponible dans toutes les sous-commandes. |
Fichiers et chemins #
| Chemin | Contenu |
|---|---|
| /etc/imaxe/clamav.yml | Configuration du module : répertoire de quarantaine et chemins exclus de l'analyse. |
| /var/lib/imaxe/clamav/quarantine | Dépôt de quarantaine : c'est là que sont isolés les fichiers infectés que l'on peut restaurer. |
| /var/lib/clamav/ | Base de signatures maintenue par freshclam (définitions de malware). |
| /var/log/imaxe/clamav.log | Journal structuré de chaque analyse, quarantaine et mise à jour. |
Exemple de clamav.yml :
quarantine_dir: /var/lib/imaxe/clamav/quarantine
scan:
exclude:
- /proc
- /sysscan.exclude est une liste de chemins que l'analyse ignore ; elle est vide par défaut.
Codes de sortie et logs #
Chaque exécution renvoie un code que vous pouvez vérifier avec echo $? — pratique pour enchaîner dans des scripts :
Suivez le log en direct pendant que vous déboguez :
$ sudo tail -f /var/log/imaxe/clamav.logRésolution des problèmes #
| Symptôme | Cause probable | Solution |
|---|---|---|
| Vous obtenez INFECTED (code 3) | L'analyse a détecté une ou plusieurs menaces. | Examinez le rapport ; relancez scan avec --quarantine pour les isoler. |
| Vous obtenez UPDATE (code 4) | freshclam n'a pas pu télécharger les signatures (réseau ou miroir hors service). | Vérifiez l'accès Internet du serveur et réessayez clamav update. |
| L'analyse prend trop de temps | Le chemin couvre trop de fichiers ou de chemins système. | Restreignez le chemin et excluez le superflu avec scan.exclude dans clamav.yml. |
| J'ai perdu un fichier légitime | Faux positif déplacé en quarantaine par --quarantine. | Localisez-le avec quarantine list et récupérez-le avec quarantine restore <id>. |
| L'état indique des signatures obsolètes | freshclam ne s'est pas exécuté depuis un moment. | Lancez clamav update et vérifiez avec clamav db. |
Bloqué sur le module ClamAV ?
Écrivez-nous avec la sortie de « imaxe <module> status --json » et nous vous répondons rapidement.