Ceci est une ancienne révision du document !
Clam AntiVirus
Clam AntiVirus est un anti-virus GPL pour UNIX. La principale qualité de cet anti-virus est qu'il permet de scanner 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 scanner 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
Avec un terminal en ligne de commande utiliser : apt-get
sudo apt-get install clamav
Assurez-vous d'avoir rechargé la liste des paquets avant d'effectuer cette commande.
Installer une version plus récente
Vous pouvez éventuellement installer une version plus récente en activant les dépôts Backports avant de suivre la procédure ci-haut. ( lire les recommandations )
ou avec Launchpad pour les versions d'Ubuntu Karmic, Lucid, Maverick, Natty, Precise Pangolin, en rentrant la source via votre gestionnaire de paquet le ppa suivant : ppa:ubuntu-clamav/ppa 1). Voici la commande à entrer dans un terminal pour ajouter cette source:
sudo add-apt-repository ppa:ubuntu-clamav/ppa
Pour Ubuntu 12.04 LTS Precise Pangolin, ce dépôt ne semble pas fonctionner.
Recharger, Tout mettre à niveau et Appliquer, cela doit vous proposer d'installation des mises à jours ClamAV.
Utilisation
Action | Commande |
---|---|
Mise à jour des définitions anti-virus | sudo freshclam |
Scanner les fichiers du dossier personnel | sudo clamscan |
Scanner tous les fichiers du dossier personnel | sudo clamscan -r /home/utilisateur |
Scanner le disque dur entier | sudo clamscan -r / |
Scanner une partition Windows (Fat 32), montée en "/mnt/D". Signal sonore et affichage si virus trouvé et écriture dans virus.log | sudo clamscan --bell -r -i --log=/var/log/clamav/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:
@ubuntu-desktop:~$ sudo gedit /etc/cron.daily/clamav
On y mets les lignes suivantes:
#!/bin/sh /usr/bin/freshclam >> /var/log/resul_freshclam.txt
On mets les droits d'exécution:
@ubuntu-desktop:~$ sudo chmod 655 /etc/cron.daily/clamav
On vérifie:
@ubuntu-desktop:~$ sudo /etc/cron.daily/clamav @ubuntu-desktop:~$ cd /var/log @ubuntu-desktop:/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: http://forum.ubuntu-fr.org/viewtopic.php?pid=11975411#p11975411
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 scan |
--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 |
--recursive (-r) | Scanne les sous-dossiers récursivement |
--remove | Supprime les fichiers infectés : ATTENTION ! |
--move=REPERTOIRE | Déplace les fichiers infectés dans REPERTOIRE |
--exclude=REGEX | Ne scanne pas les fichiers correspondants à l'expression régulière REGEX |
--exclude-dir=REGEX | Ne scanne pas les répertoires correspondants à l'expression régulière REGEX |
--include=REGEX | Scanne uniquement les fichiers correspondants à l'expression régulière REGEX |
--include-dir=REGEX | Scanne uniquement les dossiers correspondants à l'expression régulière REGEX |
--no-mail | Désactive l'analyse e-mail |
--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 scan temps réel
Pré-requis: clamav-daemon et inotify-tools (clamav-daemon,inotify-tools).
Recommandé pour un PC de bureau: libnotify-bin (libnotify-bin).
Voici mon script "clamav-tr.sh" pour ajouter une fonction temps réel à clamav. Il permet de scanner en temps réel le répertoire "/home" (par défaut), si un virus est trouvé il sera déplacé en quarantaire (dans /tmp par défaut). Un fichier caché (.clamav-tr.log) sera disponible dans le dossier de l'utilisateur du script. J'utilise clamdscan (clamav-daemon) car il est beaucoup plus rapide que clamscan.
Ce script ne necéssite pas les droits administrateur.
#!/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/.clamav-tr.log inotifywait -q -m -r -e create,modify,access "$DOSSIER" --format '%w%f|%e' | sed --unbuffered 's/|.*//g' | while read FICHIER; do clamdscan --quiet --no-summary -i -m "$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
Utilisation d'une interface graphique
Lancer l'installation de clamtk
sudo apt-get install clamtk
( Le raccourcis " Scanner de Virus ou ClamTK " se trouve alors dans Applications | Accessoires ou Utilitaires )
Si vous voulez disposer de la dernière version 4.42, vous pouvez télécharger et installer le paquet debian : http://sourceforge.net/projects/clamtk/files/ClamTk/.
Vous pouvez ainsi disposer d'une interface comme celle-ci (4.33) :
Seule la commande "Recursive Scan" examine tous les fichiers d'un dossier, sous-dossiers inclus. Dans Avancé, Préférences, cochez "Scanner tout les fichiers et dossiers dans ce répertoire".
Pour que les signatures de virus soient prises en compte, redémarrez l'ordinateur.
Il existe aussi l'interface graphique klamav (http://sourceforge.net/projects/klamav/) pour KDE.
Intégration dans Nautilus
Extension Nautilus-clamscan (méthode 1)
Sous Jaunty 9.04 : à partir des dépôts on peut installer le paquet nautilus-clamscan pour pouvoir "scanner ce fichier" par un simple clic droit dans Nautilus.
Script Nautilus (méthode 2)
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.
Ouvrez le dossier des scripts : clic-droit, puis Scripts > Ouvrir le dossier de scripts.
Créez un nouveau fichier appelé par exemple "Analyser avec Virus Scanner" et collez ces lignes :
#!/bin/bash titre="Anti-Virus 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
N'oubliez pas de le rendre exécutable. Vous le voyez maintenant apparaître dans la liste des scripts.
Pour chaque type de fichier (méthode 3)
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.
Intégration dans les logiciels de messagerie
Thunderbird
Il existe une extension pour scanner les emails dans Thunderbird : clamdrib.
Après installation de Thunderbird et de l'add-on clamdrib, installer à partir du gestionnaire de paquet Synaptic : clamassassin, clamav, clamav-freshclam et clamav-daemon.
Ouvrez le terminal: sudo dpkg-reconfigure clamav-base → acceptez toutes les options par défaut et surtout "type de socket > TCP",
un petit sudo /etc/init.d/clamav-daemon restart et normalement ça roule…
vérifiez que tout fonctionne dans thunderbird, allez dans outils → modules complémentaires → extensions → clamdrib et dans les préférences effectuer un test et vous devriez avoir le message "Success: ClamAV".
Pour le faire fonctionner correctement, il semblerait qu'il faille décommenter ou ajouter les lignes suivantes au fichier /etc/clamav/clamd.conf :
TCPSocket 3310 TCPAddr localhost ReadTimeout 300 IdleTimeout 60 MaxConnectionQueueLength 30
Voir aussi
- (en) Site officiel
- (en) AVScan ( les liens de téléchargements sont morts)
- (en) Site de ClamTk
- Participer à l'amélioration de ClamAV en soumettant un virus.
Contributeurs : HacKurx, Kmeleon.
Basé sur https://help.ubuntu.com/community/ClamAV.