Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
clamav [Le 12/07/2017, 17:51]
81.252.124.194 [Merde]
clamav [Le 16/10/2017, 11:54]
L'Africain Maj de la page
Ligne 1: Ligne 1:
-{{tag>​antivirus sécurité}}+{{tag>Xenial ​antivirus sécurité}}
 ---- ----
  
Ligne 5: Ligne 5:
 ====== Clam AntiVirus ====== ====== 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.+**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. 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.
Ligne 13: Ligne 13:
 ===== Installation ===== ===== Installation =====
  
-Avec : un [[terminal|terminal]] en ligne de commande utiliser : **apt-get**+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​clamav]]**
  
-  sudo apt-get install clamav 
- 
-Assurez-vous d'​avoir [[:​tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|rechargé la liste des paquets]] avant d'​effectuer cette commande. 
- 
- 
-==== Installer la dernière version ==== 
-FIXME Le lien ci dessous est mort, il semblerait qu’il n’y ait plus de PPA pour ClamAV. 
- 
-Vérifiez tout d'​abord que votre version d'​ubuntu apparaît dans la liste : <​del>​http://​ppa.launchpad.net/​ubuntu-clamav/​ppa/​ubuntu/​dists</​del>​ 
- 
-Exécutez la commande suivante pour ajouter la source "​PPA"​ de ClamAV : 
- 
-  sudo add-apt-repository ppa:​ubuntu-clamav/​ppa 
- 
-Rechargez ensuite la liste des paquets avant d'​installer la dernière version de **clamav** : 
- 
-  sudo apt-get update && sudo apt-get install clamav 
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 44: Ligne 27:
  
 ==== Mise à jour automatique des définitions==== ==== Mise à jour automatique des définitions====
-Pour que ça se mette à jour automatiquement,​ on crée une nouvelle tâche quotidienne : +Pour que ça se mette à jour automatiquement,​ on crée une nouvelle tâche quotidienne, [[:tutoriel:comment_modifier_un_fichier|modifiez le fichier]] **/​etc/​cron.daily/​clamav** avec les [[sudo|droits d'​administration]]. 
- +Ajoutez-y les lignes suivantes :​ 
-<​code>​sudo gedit /​etc/​cron.daily/​clamav</​code>​ +<file bash>#​!/​bin/​sh
- +
-Une fois l'​éditeur de texte lancé, on met les lignes suivantes ​avant de sauvegarder le fichier ​+
-<code>#​!/​bin/​sh+
 /​usr/​bin/​freshclam >> /​var/​log/​resul_freshclam.txt</​code>​ /​usr/​bin/​freshclam >> /​var/​log/​resul_freshclam.txt</​code>​
  
  * Ou si un autre processus bloque freshclam et l'​écriture dans le fichier ​ /​var/​log/​resul_freshclam.txt :  * Ou si un autre processus bloque freshclam et l'​écriture dans le fichier ​ /​var/​log/​resul_freshclam.txt :
-<code>#​!/​bin/​sh+<file bash>#​!/​bin/​sh
 # https://​ubuntuforums.org/​showthread.php?​t=1032147 # https://​ubuntuforums.org/​showthread.php?​t=1032147
 /​etc/​init.d/​clamav-freshclam stop /​etc/​init.d/​clamav-freshclam stop
 /​usr/​bin/​freshclam -v >> /​var/​log/​resul_freshclam.txt /​usr/​bin/​freshclam -v >> /​var/​log/​resul_freshclam.txt
-/​etc/​init.d/​clamav-freshclam start</code>+/​etc/​init.d/​clamav-freshclam start</file>
  
 Ensuite, à nouveau dans le terminal, on y met les droits d'​exécution : Ensuite, à nouveau dans le terminal, on y met les droits d'​exécution :
-<​code>​sudo chmod 755 /​etc/​cron.daily/​clamav</​code>​+<​code ​bash>sudo chmod 755 /​etc/​cron.daily/​clamav</​code>​
  
 Enfin, on vérifie : Enfin, on vérifie :
-<​code>​sudo /​etc/​cron.daily/​clamav+<​code ​bash>sudo /​etc/​cron.daily/​clamav
 cd /var/log cd /var/log
 cat resul_freshclam.txt cat resul_freshclam.txt
Ligne 71: Ligne 51:
 bytecode.cld is up to date (version: 209, sigs: 40, f-level: 63, builder: neo)</​code>​ bytecode.cld is up to date (version: 209, sigs: 40, f-level: 63, builder: neo)</​code>​
  
-Voir le forum : http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=11975411#​p11975411+Voir le [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=11975411#​p11975411|forum]]
 ===== Paramètres ===== ===== Paramètres =====
  
Ligne 121: Ligne 101:
  
  
-===== un balayage temps réel ==== +===== Un balayage temps réel ==== 
-**Pré-requis:** clamav-daemon et inotify-tools ​(**[[apt>clamav-daemon,​inotify-tools]]**).+[[:tutoriel:​comment_installer_un_paquet|Installez les paquets]] ​**[[apt>​clamav-daemon,​inotify-tools|clamav-daemon et inotify-tools ​]]** et pour un PC de bureau ​**[[apt>libnotify-bin]]**.
  
-**Recommandé ​pour un PC de bureau:** libnotify-bin ​(**[[apt>​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_cache|fichier caché]] (.clamav-tr.log) sera disponible dans le dossier de l'​utilisateur du script. On utilise ''​clamdscan''​ (clamav-daemoncar il est beaucoup plus rapide que clamscan
  
-Voici mon 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_cache|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 nécessite pas [[sudo|les droits administrateur]]. +<file bash>
- +
-<code>+
 #!/bin/bash #!/bin/bash
 # Script "​ClamAV Temps Réel",​ par HacKurx # Script "​ClamAV Temps Réel",​ par HacKurx
Ligne 138: Ligne 115:
 # Recommandé pour PC de bureau: libnotify-bin # 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 
-</​code>​ 
- 
-<note warning>​Problème majeur de ce script clamav-tr.sh : Scan et rescan infini. En effet, ce script tel quel ne fonctionne pas correctement. A cause de l'​option "​-m"​ d'​inotifywait et le fait que clamdscan génère des événements de type "​access"​ sur inotifywait,​ le script relance indéfiniment le même scan. Pour corriger ce problème, on pourrait envisager de supprimer l'​option "​-m"​ sur d'​inotifywait de remplacer par une boucle while afin de rappeler inotifywait une fois clamdscan terminé</​note>​ 
- 
-<note important>​ Problèmes droit d'​accès de clamdscan sur certains fichiers/​répertoires : rajouter l'​option --fdpass lors de l'​appel de clamdscan. Cela ne supprime pas complètement les problèmes d’accès de clamdscan sur certains fichiers et répertoires,​ mais cela améliore grandement les choses ​ </​note>​ 
-<note tip>​Autre amélioration : ajouter d'​autres source d'​événement sur les options inotifywait : create,​modify,​move,​delete,​open,​close,​access</​note>​ 
-<note tip>Axe d'​amélioration du script précédent : 
- 
-<​code>​ 
-#​Proposition d'​amélioration du script by Boutentrain 
- 
-#​Définition des repertoires de travailles qui doivent exister 
 DOSSIER=$HOME DOSSIER=$HOME
 QUARANTAINE=/​tmp QUARANTAINE=/​tmp
Ligne 186: Ligne 135:
 done done
 done done
-</code+</file
-</​note>​ + 
-<note important>​Fait important, clamdscan fait toujours une analyse récursive. Pour notre application ce n'est pas forcément pertinent. Cela pourrait dépendre de votre application. Personnellement je trouverais plus logique de ne vérifier que les fichiers de la racine du répertoire où il y a eu un événement remonté par inotifywait plutôt que de scanner le répertoire en question et récursivement tout les sous répertoires. Cela pourrait ​entrainer ​l'​utilisation de ressources CPU importantes.+<note important>​Fait important, clamdscan fait toujours une analyse récursive. Pour notre application ce n'est pas forcément pertinent. Cela pourrait dépendre de votre application. Personnellement je trouverais plus logique de ne vérifier que les fichiers de la racine du répertoire où il y a eu un événement remonté par inotifywait plutôt que de scanner le répertoire en question et récursivement tout les sous répertoires. Cela pourrait ​entraîner ​l'​utilisation de ressources CPU importantes.
 Si comme moi vous ne désirez faire une analyse non récursive du répertoire remonté par inotifywait,​ il vous faudra modifier le paramètre suivant du fichier /​etc/​clamav/​clamd.conf :  Si comme moi vous ne désirez faire une analyse non récursive du répertoire remonté par inotifywait,​ il vous faudra modifier le paramètre suivant du fichier /​etc/​clamav/​clamd.conf : 
 <​code>​MaxDirectoryRecursion 1 </​code>​ <​code>​MaxDirectoryRecursion 1 </​code>​
Ligne 195: Ligne 144:
 ===== Utilisation d'une interface graphique ===== ===== Utilisation d'une interface graphique =====
  
-Lancer l'​installation de clamtk +[[:​tutoriel:​comment_installer_un_paquet|Installez ​le paquet]] **[[apt>​clamtk]]**.\\ 
- +Lancez l'​application comme indiqué [[:tutoriel:​comment_lancer_application|ici]] ou via le [[:terminal]] (toutes [[:​versions]] ou [[:​variantes]] d'Ubuntu) avec la [[:commande_shell|commande]] suivante <​code>​clamtk</​code>​
-<​code>​ sudo apt-get install clamtk </​code>​ +
- +
-( //Le raccourcis " Scanner de Virus ou ClamTK " se trouve alors dans Applications ​Accessoires ou Utilitaires//​ )  +
- +
-Si vous voulez disposer de la **dernière version 5.17**, vous pouvez télécharger et installer ​le paquet **deb**ian pour ubuntu 13 et 14  [[https://​bitbucket.org/​dave_theunsub/​clamtk/​downloads/​clamtk_5.17-1_all.deb]]+
- +
-Vous pouvez ainsi disposer ​d'une interface comme celle-ci ( ici, la version 4.33) : +
- +
-{{:clamtk.png?​400|}} +
- +
-Ou comme celle-ci (version 5.17)+
  
 {{http://​img15.hostingpics.net/​pics/​627621ClamTk03.png|}} {{http://​img15.hostingpics.net/​pics/​627621ClamTk03.png|}}
  
-Seule la commande ​"Recursive Scan" ​examine tous les fichiers d'un dossier, sous-dossiers inclus.  +Seule la commande ​''​Recursive Scan'' ​examine tous les fichiers d'un dossier, sous-dossiers inclus.  
-Dans Avancé, Préférences, ​cochez "Scanner tous les fichiers et dossiers ​dans ce répertoire".+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. ​ Pour que les signatures de virus soient prises en compte, redémarrez l'​ordinateur. ​
  
-Il existe aussi des interfaces graphiques pour **Kde** [[https://​bitbucket.org/​dave_theunsub/​clamtk-kde/​downloads/​clamtk-kde_0.16-1_all.deb]] ​ **Xfce** et **Cinammon** à cette même adresse ​[[https://​code.google.com/​p/​clamtk/​]]+Il existe aussi des interfaces graphiques pour **Kde** [[https://​bitbucket.org/​dave_theunsub/​clamtk-kde/​downloads/​clamtk-kde_0.16-1_all.deb|clamtk-kde]]  **Xfce** et **Cinammon** à cette même [[https://​code.google.com/​p/​clamtk/​|adresse]].
 ==== Intégration dans Nautilus ==== ==== Intégration dans Nautilus ====
 +===Via un paquet===
 +II existe un paquet à [[:​tutoriel:​comment_installer_un_paquet|installer]],​ **[[apt>​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 [[:​nautilus_scripts|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 [[:​nautilus_scripts|script Nautilus]] et utilisez le script ''​Analyser avec Virus Scanner''​ :​
  
-=== Extension Nautilus-clamscan (méthode 1) === +<file bashAnalyser ​avec Virus Scanner.sh>
- +
-Sous Jaunty 9.04 : à partir des dépôts on peut installer le paquet **[[apt>​nautilus-clamscan]]** pour pouvoir "​scanner ce fichier"​ par un simple clic droit dans Nautilus. +
- +
-<note warning>​Sous Karmic, cette extension ne semble pas bien fonctionner</​note>​ +
- +
- +
-=== 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**. +
- +
-[[:​tutoriel:​comment_modifier_un_fichier|Créez un nouveau fichier]] appelé par exemple "​Analyser ​avec Virus Scanner" et collez ces lignes : +
- +
-<code bash>+
 #!/bin/bash #!/bin/bash
 titre="​Antivirus ClamAV"​ titre="​Antivirus ClamAV"​
Ligne 242: Ligne 169:
 zenity --text-info --width=600 --height=400 --title="​$titre"​ --filename=.tempscan.tmp zenity --text-info --width=600 --height=400 --title="​$titre"​ --filename=.tempscan.tmp
 rm .tempscan.tmp rm .tempscan.tmp
-</code> +</file>
- +
-N'​oubliez pas de le rendre exécutable. Vous le voyez maintenant apparaître dans la liste des scripts. +
- +
-=== Script Nautilus (méthode 3) ===+
  
 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. 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:+Voici le script: ​<file bash>
   #!/bin/sh   #!/bin/sh
-  /​usr/​bin/​clamscan --stdout -r $@ | zenity --text-info --title="​Réultats du scan de $@ avec ClamAV"​ +  /​usr/​bin/​clamscan --stdout -r $@ | zenity --text-info --title="​Réultats du scan de $@ avec ClamAV"​</​file>​ 
-Le fichier du script est disponible par ce lien: [[http://​sdrv.ms/​YKzybg]]+Le fichier du script est disponible par ce [[http://​sdrv.ms/​YKzybg|lien]]
 Vous devez copier ce fichier dans votre dossier script. Vous devez copier ce fichier dans votre dossier script.
 **Attention:​ Il est déjà exécutable!** **Attention:​ Il est déjà exécutable!**
-=== Pour chaque type de fichier (méthode 4) === 
  
-L'​inconvénient de cette méthode est qu'il faut réaliser l'​opération suivante pour chaque type de fichier.+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. 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**. 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. Il est maintenant possible "​d'​ouvrir"​ tous les fichiers de ce type avec clamtk.
- 
- 
-<note important>​L'​analyse d'un fichier avec cette 3ème méthode ne fonctionne pas dès qu'il y a des caractères spéciaux dans le nom du fichier ou dans son chemin d'​accès (y compris les lettres accentuées).</​note>​ 
-===== Intégration dans les logiciels de messagerie ===== 
- 
-==== Thunderbird ==== 
-<​del>​Il existe une extension pour balayer les courriels dans [[Thunderbird]] : [[https://​addons.mozilla.org/​en-US/​thunderbird/​addon/​6663|clamdrib]].</​del>​ 
- 
-<note important>​Le greffon clamdrib est actuellement désactivé au téléchargement. À ce jour (version 0.2), cette extension est expérimentale,​ et à utiliser à vos risques et périls. 
-"</​note>​ 
- 
- 
-Après installation de Thunderbird et de l'​add-on clamdrib, installez à partir du gestionnaire de paquet Synaptic : clamassassin,​ clamav, clamav-freshclam et clamav-daemon. ​ 
-  * Ouvrez un terminal: ​ 
-<​code>​sudo dpkg-reconfigure clamav-base</​code>  ​ 
-acceptez toutes les options par défaut et surtout "type de socket > TCP", ​ 
-  * Relancez le démon 
-<​code>​ service clamav-daemon restart</​code>​ 
-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 
  
  
Ligne 295: Ligne 190:
  
   * **(en)** [[http://​www.clamav.net/​|Site officiel]]   * **(en)** [[http://​www.clamav.net/​|Site officiel]]
-  * **(en)** [[http://​gnomefiles.org/​content/​show.php/​AVScan?​content=130585|AVScan]] (FIXME le lien de téléchargement est mort, il renvoie sur du spam) 
   * **(en)** [[http://​klamav.sourceforge.net/​klamavwiki/​index.php/​Main_Page|Documentation de KlamAV]]   * **(en)** [[http://​klamav.sourceforge.net/​klamavwiki/​index.php/​Main_Page|Documentation de KlamAV]]
   * **(en)** [[http://​clamtk.sourceforge.net/​|Site de ClamTk]]   * **(en)** [[http://​clamtk.sourceforge.net/​|Site de ClamTk]]
   * **(en)** [[https://​code.google.com/​p/​clamtk/​|ClamTk - Graphical interface for Clam Antivirus]]   * **(en)** [[https://​code.google.com/​p/​clamtk/​|ClamTk - Graphical interface for Clam Antivirus]]
   * Participer à l'​amélioration de ClamAV en [[http://​cgi.clamav.net/​sendvirus.cgi|soumettant un virus.]]   * Participer à l'​amélioration de ClamAV en [[http://​cgi.clamav.net/​sendvirus.cgi|soumettant un virus.]]
-  * **(fr)** [[http://​actual-it.info/​2013/​clamav-antivirus-linux/​|Installation & utilisation de ClamAV]] FIXME (lien mort) 
  
 ---- ----
  • clamav.txt
  • Dernière modification: Le 03/11/2022, 16:32
  • par 78.196.241.242