» Gérer le réseau - 2nd degré » Antivirus » Documentation » Scanner les clés USB avec l’antivirus Clamwin
 
Scanner les clés USB avec l’antivirus Clamwin

 

Introduction

Il arrive parfois que les antivirus commerciaux (et en particulier Trend Officescan qui équipe les établissements scolaires de la Région des Pays de la Loire) ne détectent pas pas certains virus présents sur les clés USB des enseignants ou/et des élèves. Certains établissements utilisent alors en complément deux programmes gratuits complémentaires pour assurer cette détection, Usbdlm pour imposer la lettre de lecteur de la clé USB et Clamwin comme scanner de virus.

L’idée est d’imposer toujours la même lettre de lecteur lors de l’insertion du périphérique USB et de lancer automatiquement une détection de virus en tâche de fond avec mise en quarantaine des fichiers infectés dans un emplacement centralisé sur le réseau. L’intérêt de Clamwin est ne pas rentrer en conflit avec l’antivirus "officiel" car non résident, d’être compatible avec sa version linux, de pouvoir utiliser une base de données antivirales centralisée et de pouvoir utiliser des "signatures" personnalisées pour les virus non encore référencés par l’outil.

L’association des programmes USBDLM et CLAMWIN (avec le logiciel de script AutoIt) est l’œuvre de Mikael Loussouarn, administrateur réseau des Collège et lycée Saint Joseph à la Pommeraye (49). Elle utilise en partie le code créé par Olivier Le Grand (Sirec Pays de la Loire) destiné à associer USBDLM et Trend OfficeScan (disponible ici).

Description des programmes :

- CLAMWIN est un Antivirus Gratuit pour Microsoft Windows 98/Me/2000/XP/2003/Vista/7/8. Il fournit une interface graphique conviviale au moteur Clam AntiVirus. L’Antivirus Gratuit ClamWin comprend un système d’installation simple et le code open source gratuitement. Il a comme fonctionnalités :

  • Analyses Anti-Virus Programmables ;
  • Mise à jour automatique de la base de définitions de Virus.L’équipe de ClamAV met à jour quotidiennement les bases de données de virus et presque immédiatement après la sortie d’un nouveau virus ou d’une nouvelle variante d’un virus existant ;
  • Détecteur de virus autonome ;
  • Intégration via le menu contextuel à Microsoft Windows Explorer ; Greffon à Microsoft Outlook.

- USBDLM fonctionne sous la forme d’un service qui permet de gérer la façon dont les lettres de lecteurs sont assignés aux périphériques USB au moment de leur branchement sur le système. Il gère automatiquement les conflits entre les disques réseaux connectés, les lecteurs virtuels montés par la commande Subst et les périphériques USB. Il se paramètre au moyen du fichier USBDLM.INI qui se trouve dans le dossier d’installation.

USBDLM, pour chaque nouveau périphérique USB attaché peut :

  • vérifier si la lettre est déjà utilisée par un partage réseau et attribuer la lettre suivante qui est réellement disponible
  • réserver des lettres de telle sorte qu’elles ne soient pas utilisées par des disques locaux
  • assigner une lettre d’une liste de nouvelle lettres disponibles, dépendant de différents critères tels que l’utilisateur actif, le type de disque, la connexion (USB, FireWire), le port USB, l’étiquette du volume, la taille ou autre
  • assigner des lettres pour un périphérique USB défini en mettant un fichier INI file sur le disque
  • retirer les lettres des lecteurs de cartes tant qu’une carte n’est pas insérée
  • afficher une bulle d’information quand la lettre est assignée au lecteur
  • définir les événement d’autorun sur la base de différents critères
  • de nombreuses autres choses, voir le fichier d’aide Toutes les fonctions sont appliquées aux lecteurs USB au moment où ils sont connectés au système si le service USBDLM est lancé au démarrage et qu’un utilisateur est loggué.

Installation

- télécharger puis installer le programme CLAMWIN

- modifier le paramétrage de clamwin pour assurer la cohérence avec les localisations de données indiquées dans usbdlm. Clamwin peut être utilisé indépendamment d’usbdlm.

- télécharger puis installer le programme USBDLM modifié :

Fichier exécutable :

Zip - 5.9 Mo
Fichier exécutable

Fichier Msi :

Zip - 2.5 Mo
Fichier msi

Code source (AutoIt)

Zip - 2.4 ko
Code source (AutoIt)

Attention, certains programmes antivirus peuvent générer un faux positif, vous pouvez ignorer l’alerte, le programme est sain.

- modifier le fichier C :\Program Files\USBDLM\USBDLM.INI

Voici un exemple commenté pour ce fichier USBDLM.ini :

[Settings]
NoMediaNoLetter=1
NetUserGroups=1
DeleteLettersOnRemoval=1
Remplissage_Maxi = 99999999999 La je met un max car j’autorise les disques dur amovibles
CheminExecutable = "C :\Program Files\ClamWin\bin\clamscan.exe" chemin vers clamscan, selon l’installation de clamwin
CheminBaseVirale = "C :\Documents and Settings\All Users\.clamwin\db" chemin vers la base virale selon vos souhaits
ProfondeurScan = "2" profondeur du scan , moi je descends à 3 sans plaintes des utilisateurs
CheminLogs = "C :\Documents and Settings\install\Local Settings\Temp" le chemin vers le dossier qui hébergera les fichiers journaux
CheminQuarantaine = "C :\Documents and Settings\All Users\.clamwin\quarantaine" le chemin pour le dossier de quarantaine, peut être mis sur un serveur ( pratique pour se faire des tests ensuite ;)

[DriveLetters10]
MaxVolumeSize=32GB
Letter1=F

 ;Exclure les disques de plus de 9Go
[DriveLetters20]
MinVolumeSize=33GB
Letter1=-

 ;Utilisation d’un lecteur multicartes
[DriveLetters4]
UserGroup=Utilisateurs
DeviceID=USB\VID_0BDA&PID_0181
Letter1=-

 ;Utilisation d’un lecteur multicarte
[DriveLetters5]
UserGroup1=Profs
UserGroup2=Admin
UserGroup3=Admininstrateurs
UserGroup4=Utilisateurs
DeviceID=USB\VID_0BDA&PID_0181
Letter1=F

[OnArrival10]
MaxVolumeSize=32GB
Letter1=F
open="C :\Program Files\USBDLM\AnalyseUsb.exe" Attention !!! , il est nécessaire de préciser ce paramètre car peut différer selon la lettre disque système ou sur les x64 bits

Fonctionnement

Cf les captures d’écran sur le site d’Olivier

Optimisation

- Centralisation

L’idéal est de centraliser la base de données antivirales, les fichiers journaux et le dossier de quarantaine. Si vous disposez d’un serveur Linux (type Comedu), il suffit d’installer Clamav (c’est généralement déjà fait), de partager avec Samba le dossier /var/lib/clamav, de donner des droits étendus à ce dossier (les clients Windows vont écrire dans ce dossier) puis d’indiquer dans usbdlm.ini des localisations du type \\adresse_ip_du_serveur\clamav pour la base de données, \\adresse_ip_du_serveur\clamav\quarantaine et \\adresse_ip_du_serveur\clamav\logs. Même démarche avec un serveur Windows où le client clamwin peut centraliser et partager la mise à jour.

- Création de signatures de virus

La base de données de Clamav/Clamwin est contributive et peut laisser passer des virus. Quand on repère des fichiers infectés non détectés, il est possible de créer une signature qui permettra au programme d’éliminer par la suite tous les fichiers basés sur la même signature. Pour cela, sous Windows (la manipulation est plus "facile" sous Linux avec clamav pour des virus "windows") copier le fichier infecté (ex : fichier_infecte.exe)sous C :\Program Files\ClamWin\bin, de se positionner dans ce dossier avec l’invite de commandes et de lancer la commande suivante :

sigtool —md5 fichier_infecte.exe > fichier_infecte.hdb

puis de déplacer ensuite le fichier fichier_infecte.hdb dans le répertoire des bases de signature de ClamAV

En cas de non reconnaissance du périphérique usb

Il arrive parfois que le programme usbdlm bloque la reconnaissance de certaines clés usb. Pour permettre à l’utilisateur d’utiliser sa clé, vous trouverez ci-après quelques fichiers exécutables et scripts AutoIt conçus par Denis Beauvais, administrateur réseau des lycées St Serge et Ste Marie, Angers (49) :

- pour arrêter le service usbdlm sur une station Windows XP /7 sous un profil avec les droits administrateur :

Stop usbdlm administrateur (fichier exécutable)

Zip - 280 ko
Stop usbdlm administrateur (exe)

Code Source

Zip - 677 octets
Stop usbdlm administrateur (source)

- pour arrêter le service usbdlm sur une station Windows XP sous un profil simple utilisateur : Stop usbdlm xp (source)

Zip - 700 octets
Stop usbdlm xp (source)

- pour arrêter le service usbdlm sur une station Windows 7 sous un profil simple utilisateur : Stop usbdlm win 7 (source)

Zip - 703 octets
Stop usbdlm win 7 (source)

- idéalement, il faut relancer usbdlm à la prochaine ouverture de session. Remplacer "net stop usbdlm" par "net start usbdlm" dans le script AutoIt.

- si les stations Windows fonctionnent en domaine, remplacer dans les scripts "@ComputerName" par "@LogonDomain".

- sur les stations Windows 7 en poste à poste, il semble qu’il faille activer le compte administrateur ainsi :

  • invite de commande en tant qu’administrateur :
  • net user administrateur /active:yes
  • Affecter un mot de passe à ce compte administrateur