Présentation : implémentation de l'API du moteur d'analyse antivirus

Windows SharePoint Services 3

Pour prendre en charge la protection antivirus, Windows SharePoint Services utilise une API appelée VS SP 1.4, l'API du moteur d'analyse antivirus (VSE) de Microsoft Office SharePoint, qui est basée sur Microsoft Exchange Server VS API 2.0. L'API VS SP 1.4 reprend une grande partie de la conception d'origine, mais elle est optimisée pour la vitesse dans un environnement Microsoft SQL Server. Ceci est rendu possible par la création d'une API de niveau inférieur qui s'intègre directement dans les chemins d'accès File/Save et File/Open de Windows SharePoint Services, ainsi que par l'élimination des dépendances de l'API VS 2.0 sur l'interface MAPI (Messaging Application Programming Interface).

Windows SharePoint Services étant un magasin de documents SQL et non pas un magasin de courriers électroniques, les documents sont analysés en temps réel lorsqu'ils sont enregistrés (téléchargés vers) ou ouverts (téléchargés depuis) et l'utilisateur reçoit le résultat de cette analyse instantanément. Par défaut, Windows SharePoint Services 3.0 ne prend pas en charge l'analyse manuelle, ce qui est généralement appelé « analyse en arrière-plan » ou « analyse planifiée ».

Architecture de l'API VS SP 1.4

Windows SharePoint Services utilise une architecture qui expose l'API VS SP 1.0 en tant que couche COM pour le composant fournisseur d'antivirus (le moteur d'analyse antivirus) pour communiquer avec le gestionnaire d'antivirus (AVM) qui est géré par Windows SharePoint Services.

La logique utilisée par le gestionnaire d'antivirus pour traiter les fichiers est conçue pour effectuer les opérations suivantes :

  • Prendre en charge deux types de demandes : télécharger vers (enregistrer) et télécharger depuis (ouvrir).

  • Obtenir les propriétés des fichiers à partir de la base de données Windows SharePoint Services, indiquant l'état analysé.

  • Évaluer comment traiter un fichier en utilisant ses propriétés pour déterminer s'il faut l'analyser.

  • Émettre l'interface utilisateur appropriée pour le contexte et l'environnement appropriés (page Web ou boîte de dialogue d'une application) ou effectuer l'action souhaitée (ouvrir ou enregistrer).

  • Stocker les propriétés des fichiers qui indiquent l'état analysé à la base de données Windows SharePoint Services.

La conception logique du gestionnaire d'antivirus élimine la nécessité pour le moteur d'analyse antivirus de lire ou d'écrire directement dans la base de données car cette fonctionnalité est gérée par des processus internes du gestionnaire d'antivirus. Cette conception permet également au gestionnaire d'antivirus de déterminer l'action à effectuer pour chaque fichier, en fonction des codes d'état retournés par le moteur d'analyse antivirus après analyse et nettoyage du fichier.

Configuration du moteur d'analyse antivirus et Live Update

Le moteur d'analyse antivirus doit être un module qui s'exécute dans un espace de traitement de serveur Web et analyse le contenu entrant et sortant à la recherche d'infections par des virus. Le moteur d'analyse antivirus instancie un objet analyseur antivirus qui est fourni par le fournisseur et gère un pool de threads qui appellent l'analyseur pour effectuer l'analyse de contenu. Lorsque le moteur d'analyse antivirus détecte un nouveau code du fournisseur ou un nouveau fichier de signatures, il instancie une nouvelle instance de l'analyseur et commence à l'utiliser pour planifier de nouvelles demandes. Lorsque toutes les demandes utilisant l'instance précédente sont terminées, le moteur d'analyse antivirus libère l'instance. En d'autres termes, toutes les instances existantes sont traitées avec l'ancienne version de l'analyseur, tandis que les nouvelles instances en utilisent la version la plus récente. Cette procédure garantit qu'aucune demande n'est perdue ni laissée non terminée lors d'une mise à jour. Cela signifie cependant que les instances qui restent encore ne sont pas traitées avec l'instance active et qu'elles sont donc à nouveau analysées la prochaine fois que le fichier est demandé, car la version est marquée comme étant plus ancienne.

Mises à jour de l'analyseur avec STSADM.EXE

En raison de la sécurité améliorée de Windows SharePoint Services 3.0, la mise à jour des clés du Registre a été modifiée. Un travail du minuteur (mise à jour d'un logiciel antivirus) vérifie l'état d'antivirus de chaque serveur Web frontal et met à jour chaque serveur lorsque cela est nécessaire. Comme tout autre travail du minuteur dans Windows SharePoint Services, ce travail peut être configuré pour s'exécuter selon un intervalle de temps spécifié. Par défaut, il s'exécute toutes les 5 minutes.

La clé de mise à jour fonctionne encore comme avant dans Windows SharePoint Services 2.0 pour assurer une compatibilité descendante, mais le service d'administration de Windows SharePoint Services doit être en cours d'exécution, car il permet à la tâche de minuteur d'être exécutée. Lorsqu'elle est définie, la clé incrémente de 1 les valeurs avvendorid et avvendorupdatecount. Dans les installations « par simple clic » de Windows SharePoint Services, le service d'administration est désactivé par défaut et peut par conséquent ne pas être en cours d'exécution.

Pour éviter les complications et les incertitudes liées au fait de savoir si la tâche de minuteur est en cours d'exécution dans Windows SharePoint Services 3.0 et dans Microsoft Office SharePoint Server 2007, il est recommandé d'utiliser STSADM.EXE pour déclencher les mises à jour. Cette approche fonctionne indépendamment du fait que le service d'administration est ou non en cours d'exécution.

À l'aide de STSADM.EXE, vous pouvez obtenir les valeurs actuelles des informations du fournisseur qui est installé et mettre à jour ces valeurs. Pour plus d'informations sur la façon d'utiliser STSADM.EXE, voir Introduction aux outils d'administration pour Windows SharePoint Services (en anglais) .

Le tableau suivant répertorie les nouvelles commandes pertinentes pour les mises à jour des analyseurs.

Commande Valeur Description

avvendorid

Valeur numérique non égale à currentValue ou previousValue + 1.

ID de fournisseur de l'analyseur actif.

avvendorupdatecount

Valeur numérique non égale à currentValue ou previousValue + 1.

Force une mise à jour de l'analyseur actuel ou une mise à jour des signatures.

Vous devez définir avvendorupdatecount pour permettre à la commande avvendorid d'être reconnue par le système ; sinon, vous devez d'abord réinitialiser Microsoft Internet Information Services (IIS) pour permettre à avvendorid d'être prise en compte. Voici quelques exemples de commandes :

stsadm -o getproperty -pn avvendorid
stsadm -o getproperty -pn avvendorupdatecount
stsadm -o setproperty -pn pn avvendorid -pv [numericvalue]
stsadm -o setproperty -pn avvendorupdatecount -pv [numericvalue]

Mises à jour de l'analyseur avec le Registre

Comme indiqué précédemment, ce mécanisme n'est pas recommandé pour les nouveaux analyseurs et existe seulement pour assurer une compatibilité descendante.

Le moteur d'analyse antivirus recherche un paramètre qui détermine la configuration de la solution d'analyse antivirus du fournisseur. Cette valeur se trouve dans le Registre système sous la section de configuration du moteur d'analyse antivirus, comme dans l'exemple suivant :

[HKLM\Software\Microsoft\Shared Tools\Web Server Extensions\AVScanner]

Le paramètre est une valeur REG_SZ qui contient le CLSID de l'objet de classe qui implémente IMso_VirusScanner dans le format du Registre. Le moteur d'analyse antivirus utilise cette valeur pour instancier l'objet. L'exemple suivant montre le format de la valeur du Registre :

CLSID = "{00020906-0000-0000-C000-000000000046}"
Remarque Remarque :

Il s'agit seulement d'un exemple de CLSID, utilisé pour illustrer le format. Le moteur d'analyse antivirus écrira normalement son propre CLSID.

Mises à jour Live Update à l'aide du Registre

Le moteur d'analyse antivirus a un thread distinct qui reçoit des notifications en cas de modification de la section de configuration du Registre. Le moteur d'analyse antivirus lance un rechargement de l'analyseur, qui comprend l'instanciation du CLSID mis à jour et l'initialisation avec de nouveaux paramètres, lorsqu'il trouve la valeur spécifique dans la section de configuration du Registre du moteur d'analyse antivirus :

Update = DWORD:00000001

Le moteur d'analyse antivirus réinitialise la valeur à 0 (zéro) lorsque le rechargement est terminé.

Configuration requise pour la mise à jour des signatures de virus

La mise à jour des signatures doit effectuer des actions spécifiques au fournisseur pour :

  • Installer de nouveaux fichiers de données sur l'ordinateur.

  • Notifier au moteur d'analyse antivirus en définissant la valeur de mise à jour à 1.

Configuration requise pour la mise à jour du logiciel antivirus

La mise à jour du code doit effectuer des actions d'installation spécifiques au fournisseur pour :

  • Installer les nouveaux fichiers binaires de code sur l'ordinateur.

  • Modifier la valeur CLSID du moteur d'analyse antivirus pour qu'il pointe vers le nouvel objet de classe.

  • Notifier au moteur d'analyse antivirus en définissant la valeur de Update à 1.

Disposition du Registre du moteur d'analyse antivirus

Voici le chemin d'accès du Registre de configuration du moteur d'analyse antivirus :

[HKLM\Software\Microsoft\Shared Tools\Web Server Extensions\AVScanner]

Le tableau suivant montre les valeurs utilisées pour le Registre du moteur d'analyse antivirus.

Valeur Type Description

CLSID

REG_SZ

Spécifie l'objet de la classe de l'analyseur antivirus.

Update

REG_DWORD

Déclenche un rechargement de l'instance de l'analyseur lorsqu'il a pour valeur 1.

Pour une description de l'interface qui doit être fournie dans le moteur d'analyse antivirus, voir API du moteur d'analyse des virus.

Mises à jour de la page des paramètres

Chaque fois que les paramètres de la page d'administration de l'antivirus sont mis à jour, Windows SharePoint Services incrémente de 1 les valeurs de avvendorid et de avvendorupdatecount.

Propriétés de l'antivirus

Utilisez les propriétés répertoriées dans le tableau suivant pour configurer la protection antivirus de votre serveur. Spécifiez si le nettoyage antivirus est activé, si les analyses des téléchargements sont activées, le délai d'expiration pour l'analyse, le nombre de threads à occuper avec les processus antivirus, et si les utilisateurs peuvent télécharger des documents potentiellement infectés sur leur ordinateur client.

Commande Valeur Description

avuploadscanenabled

yes/no

Activer ou désactiver l'analyse des téléchargements vers.

avdownloadscanenabled

yes/no

Activer ou désactiver l'analyse des téléchargements depuis.

avcleaningenabled

yes/no

Activer ou désactiver le nettoyage.

avallowdownload

yes/no

Autoriser les téléchargements du contenu infecté et qui ne peut pas être nettoyé.

avnumberofthreads

Une valeur numérique

Nombre de threads à utiliser.

avtimeout

Une valeur numérique, en secondes

Délai avant l'expiration de l'analyse.

Prise en charge des fichiers de grande taille

Windows SharePoint Services 3.0 prend en charge les fichiers de grande taille ainsi que la protection antivirus de ces fichiers.

Pour améliorer les performances, essayez de créer des fichiers en tant que blocs, pour qu'ils ne retournent pas dans la mémoire avant d'être analysés. Gardez à l'esprit que les fichiers de grande taille peuvent être longs à analyser, et qu'ils peuvent nécessiter l'augmentation des paramètres de délai d'expiration du serveur ou des services IIS pour permettre à l'analyseur de terminer son travail.

Prise en charge 64 bits

Windows SharePoint Services 3.0 prend en charge les systèmes 64 bits. Les analyseurs existants peuvent nécessiter une mise à jour pour prendre en charge les systèmes 64 bits ; il convient de les vérifier un par un.

Afficher: