Clam AntiVirus
Clam AntiVirus (ClamAv) est un antivirus GPL pour UNIX. La principale qualité de cet antivirus est qu'il permet de balayer les courriels reçus et envoyés avec un logiciel de messagerie classique. Le paquet que nous allons installer inclut un démon multi-tâches flexible et configurable, un antivirus en ligne de commande et un utilitaire pour une mise à jour automatique des définitions de virus via Internet. Le programme est basé sur une bibliothèque distribuée avec le paquet Clam AntiVirus, que vous pouvez utiliser pour créer votre propre logiciel. Le plus important est que la base de données des virus soit mise à jour.
Cette page explique comment installer le paquet « clamav » et comment utiliser l'antivirus. Le numéro de version de Clamav dépend de votre version d'Ubuntu.
Installation
Utilisation
Action | Commande |
---|---|
Mise à jour des définitions antivirus | freshclam |
Balayer les fichiers du dossier personnel | clamscan |
Balayer tous les fichiers du dossier personnel (avec -r "Scan subdirectories recursively") | clamscan -r /home/utilisateur |
Balayer le disque dur entier | clamscan -r / |
Balayer une partition Windows (Fat 32), montée en "/mnt/D". Signal sonore et affichage si virus trouvé et écriture dans virus.log | clamscan --bell -r -i --log=/home/utilisateur/virus.log /mnt/D/ |
Mise à jour automatique des définitions
Pour que ça se mette à jour automatiquement, on crée une nouvelle tâche quotidienne, modifiez le fichier /etc/cron.daily/clamav avec les droits d'administration. Ajoutez-y les lignes suivantes :
#!/bin/sh /usr/bin/freshclam >> /var/log/resul_freshclam.txt
* Ou si un autre processus bloque freshclam et l'écriture dans le fichier /var/log/resul_freshclam.txt :
#!/bin/sh # https://ubuntuforums.org/showthread.php?t=1032147 /etc/init.d/clamav-freshclam stop /usr/bin/freshclam -v >> /var/log/resul_freshclam.txt /etc/init.d/clamav-freshclam start
Ensuite, à nouveau dans le terminal, on y met les droits d'exécution :
sudo chmod 755 /etc/cron.daily/clamav
Enfin, on vérifie :
sudo /etc/cron.daily/clamav cd /var/log cat resul_freshclam.txt ClamAV update process started at Mon Dec 24 15:00:32 2012 main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven) daily.cld is up to date (version: 16059, sigs: 407726, f-level: 63, builder: neo) bytecode.cld is up to date (version: 209, sigs: 40, f-level: 63, builder: neo)
Voir le forum
Paramètres
Paramètre | Signification |
---|---|
--help (-h) | Affiche les différents paramètres (anglais) |
--version (-V) | Affiche le numéro de version |
--verbose (-v) | Rend le programme plutôt bavard |
--debug | Affiche les informations de débugage (libclamav) |
--quiet | Affiche seulement les messages d'erreur |
--stdout | Sortie vers stdout au lieu de stderr |
--no-summary | Désactive l'affichage du rapport à la fin du balayage |
--infected (-i) | Affiche uniquement les fichiers infectés |
--bell | Émet un son lors de la détection d'un virus |
--tempdir=REPERTOIRE | Crée les fichiers temporaires dans REPERTOIRE |
--leave-temps | Ne supprime pas les fichiers temporaires |
--database=FICHER/REPERTOIRE (-d FICHIER/REPERTOIRE) | Charge la base de données des virus à partir de FICHIER ou charge tous les fichiers *.cvd et *.db[2] à partir de REPERTOIRE |
--log=FICHIER (-l FICHIER) | Enregistre le fichier log (rapport) dans FICHIER |
--remove | Supprime les fichiers infectés : ATTENTION ! |
--move=RÉPERTOIRE | Déplace les fichiers infectés dans RÉPERTOIRE |
--exclude=REGEX | Ne balaye pas les fichiers correspondant à l'expression régulière REGEX |
--exclude-dir=REGEX | Ne balaye pas les répertoires correspondant à l'expression régulière REGEX |
--include=REGEX | Balaye uniquement les fichiers correspondant à l'expression régulière REGEX |
--include-dir=REGEX | Balaye uniquement les dossiers correspondant à l'expression régulière REGEX |
--no-mail | Désactive l'analyse courriel |
--no-pe | Désactive l'analyse PE |
--no-ole2 | Désactive l'analyse OLE2 |
--no-html | Désactive l'analyse HTML |
--no-archive | Désactive l'analyse des archives |
--detect-broken | Essaie de détecter les exécutables corrompus |
--block-encrypted | Bloque les archives cryptées |
--block-max | Bloque les archives excédant la taille limite |
--mail-follow-urls | Télécharge et analyse les URLs (adresses internet) |
--max-space=#n | Extraire uniquement les #n premiers kilo-octets des fichiers archivés |
--max-files=#n | Extraire uniquement les #n premiers fichiers des archives |
--max-ratio=#n | Taux de compression maximum pour les archives |
--unzip[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.zip |
--unrar[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.rar |
--arj[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.arj |
--unzoo[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.zoo |
--lha[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.lha |
--jar[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.jar |
--tar[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.tar |
--deb[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.deb |
--tgz[=LOGICIEL_DE_DECOMPRESSION] | Active le support pour les archives *.tar.gz et *.tgz |
Un balayage temps réel
Installez les paquets clamav-daemon et inotify-tools et pour un PC de bureau libnotify-bin.
Voici le script clamav-tr.sh
pour ajouter une fonction temps réel à clamav. Il permet de balayer en temps réel le répertoire "/home" (par défaut), si un virus est trouvé il sera déplacé en quarantaine (dans /tmp par défaut). Un fichier caché (.clamav-tr.log) sera disponible dans le dossier de l'utilisateur du script. On utilise clamdscan
(clamav-daemon) car il est beaucoup plus rapide que clamscan.
#!/bin/bash # Script "ClamAV Temps Réel", par HacKurx # http://hackurx.wordpress.com # Licence: GPL v3 # Dépendance: clamav-daemon inotify-tools # Recommandé pour PC de bureau: libnotify-bin DOSSIER=$HOME QUARANTAINE=/tmp LOG=$HOME/.clamavd-tr.log while : do inotifywait -q -r -e create,modify,move,delete,open,close,access "$DOSSIER" --format '%w%f|%e' | sed --unbuffered 's/|.*//g' | while read FICHIER; do clamdscan -m -v --fdpass "$FICHIER" --move=$QUARANTAINE if [ "$?" == "1" ]; then echo "`date` - Malware trouvé dans le fichier '$FICHIER'. Le fichier a été déplacé dans $QUARANTAINE." >> $LOG echo -e "\033[31mMalware trouvé!!!\033[00m" "Le fichier '$FICHIER' a été déplacé en quarantaine." if [ -f /usr/bin/notify-send ]; then notify-send -u critical "ClamAV Temps Réel" "Malware trouvé!!! Le fichier '$FICHIER' a été déplacé en quarantaine." fi fi done done
MaxDirectoryRecursion 1
Utilisation d'une interface graphique
Installez le paquet clamtk.
Lancez l'application comme indiqué ici ou via le terminal (toutes versions ou variantes d'Ubuntu) avec la commande suivante :
clamtk
Seule la commande Recursive Scan
examine tous les fichiers d'un dossier, sous-dossiers inclus.
Dans Paramètres → Paramètres cochez "Analyser les dossiers récursivement".
Pour que les signatures de virus soient prises en compte, redémarrez l'ordinateur.
Il existe aussi des interfaces graphiques pour Kde clamtk-kde Xfce et Cinammon à cette même adresse.
Intégration dans Nautilus
Via un paquet
II existe un paquet à installer, clamtk-nautilus qui permet d'accéder à clamav grâce à clic droit sur un dossier. Après avoir installé le paquet, faites un clic droit sur un dossier et choisissez Rechercher des menaces.
Via des scripts nautilus
Il est possible d'utiliser un script Nautilus, l'intérêt de cette méthode est qu'elle permet d'analyser un ou plusieurs fichiers, ou le contenu d'un dossier, à partir d'un clic droit dessus. Suivez la procédure de création des script Nautilus et utilisez le script Analyser avec Virus Scanner
:
- avec Virus Scanner.sh
#!/bin/bash titre="Antivirus ClamAV" clamscan -rv --bell --log=.tempscan.tmp --max-filesize=4095M --max-scansize=4095M "$@" | zenity --progress \ --pulsate --auto-close --width=200\ --title="$titre" --text="Analyse des fichiers..." zenity --text-info --width=600 --height=400 --title="$titre" --filename=.tempscan.tmp rm .tempscan.tmp
Un autre script permet de balayer directement à partir de l'option "Scripts". Ce script à l'avantage de pouvoir balayer plusieurs fichiers et dossiers en même temps. Voici le script:
#!/bin/sh /usr/bin/clamscan --stdout -r $@ | zenity --text-info --title="Réultats du scan de $@ avec ClamAV"
Le fichier du script est disponible par ce lien Vous devez copier ce fichier dans votre dossier script. Attention: Il est déjà exécutable!
Il est possible de le faire sur chaque type de fichier, mais l'inconvénient de cette méthode est qu'il faut réaliser l'opération suivante pour chaque type de fichier. Son avantage est qu'elle permet d'analyser des fichiers dans d'autres contextes que Nautilus, par exemple des pièces jointes de courriels avec Evolution.
Clic-droit sur le fichier, puis Ouvrir avec une autre application et sélectionnez Virus Scanner. Il est maintenant possible "d'ouvrir" tous les fichiers de ce type avec clamtk.
Voir aussi
- (en) Site officiel
- (en) Site de ClamTk
- Participer à l'amélioration de ClamAV en soumettant un virus.
Contributeurs : HacKurx, Kmeleon, Wullfk, Boutentrain.
Basé sur https://help.ubuntu.com/community/ClamAV.