Détails techniques sur le fonctionnement de l’agent Windows

Installation et désinstallation de l’agent

Le package d’installation de l’agent Windows se présente sous la forme d’un fichier .msi. Ce package suit les recommandations officielles de Microsoft concernant la création de package d’installation.

Le MSI de l’agent est à générer directement depuis votre instance Cyberwatch, via le formulaire de création d’un agent Windows. Celui-ci embarque par défaut les paramètres sélectionnés dans Cyberwatch pour son installation comme par exemple : le type d’architecture, les groupes, l’URL de l’instance Cyberwatch…

Il est aussi possible de télécharger directement l’agent en fonction du type d’actif scanné :

Une fois installé, une entrée est créée dans la liste des programmes et fonctionnalités accessible via le panneau de configuration.

De façon unitaire, le MSI de l’agent peut être installé via un simple « double clique » sur le fichier ; comme tout autre package d’installation. Pour toute industrialisation du déploiement, l’agent supporte les méthodes de déploiement officielles Microsoft par GPO mais aussi tout autre mécanisme de déploiement faisant intervenir des solutions tierces (e.g. SCCM, Chocolatey…).

La désinstallation de l’agent suit de la même manière les méthodes officielles Microsoft. L’agent peut être désinstallé depuis la liste des programmes et fonctionnalités accessible via le panneau de configuration.

Fonctionnement de l’agent

Sur les systèmes Windows, l’installation de l’agent engendre la création d’un service nommé CyberwatchAgent.service et la génération d’un répertoire C:\Program Files\CYBERWATCH SAS\CyberwatchAgent\.

Ce répertoire contient les éléments suivants :

  • un dossier logs/ contenant les logs de l’agent dans deux fichiers :
    • un fichier agent.log contenant les logs d’exécution de l’agent ;
    • un fichier service.log contenant les logs de l’exécution du service ;
  • le fichier agent.conf contenant la configuration de l’agent (URL, clés d’API…)
  • l’exécutable cyberwatch-agent.exe qui est le programme d’exécution de l’agent ;
  • l’exécutable CyberwatchService.exe, utilisé pour la création du service ;
  • le script PowerShell launcher.ps1 appelé par le service, et responsable de l’exécution du fichier cyberwatch-agent.exe.

Le service CyberwatchService est exécuté toutes les 5 minutes et déclenche la communication de l’agent avec le scanner Cyberwatch auquel il est rattaché (notamment selon l’URL configuré, que l’on peut retrouver dans le fichier agent.conf).

Lors de cette communication avec le serveur Cyberwatch, l’agent va simplement interroger l’API Cyberwatch et récupérer les éventuelles tâches qu’il doit effectuer sur l’actif en question (e.g. relancer un scan, déployer un correctif…).

Mises à jour de l’agent

Cyberwatch publie régulièrement des mises à jour de l’agent, dont les changements sont répertoriés dans l’historique des versions de l’agent Cyberwatch.

Ces mises à jour peuvent inclure des améliorations sur le fonctionnement, les performances ou certaines fonctionnalités liées à l’installation de l’agent par exemple.

Ces mises à jour sont à dissocier des mises à jour du logiciel, une ancienne version de l’agent non mise à jour sur les actifs continuera de fonctionner avec les prochaines versions de Cyberwatch (sauf indication contraire spécifique). Cyberwatch recommande cependant la mise à jour systématique des agents quand elle est possible.

Pour mettre à jour l’agent Windows, il suffit de réinstaller le package MSI par dessus une installation existante. La nouvelle version de l’agent remplacera alors l’ancienne version sur le système. Ces mises à jour peuvent également être réalisées par les méthodes de déploiement massives mentionnées plus haut.

Attention : si la mise à jour de l’agent se fait à la suite d’un changement de serveur de gestion, il faudra veiller à supprimer l’ensemble des composants restant de l’agent présents sur la machine cible avant de procéder à sa réinstallation de façon à ce que les fichiers de configuration soient correctement mis à jour. Notamment :

  • les éléments présents dans C:\Program Files\CYBERWATCH SAS\CyberwatchAgent.
  • les clés de registre associées.

Déployer l’agent via une GPO (optionnel)

La procédure proposée ici a été testée sur un serveur Windows 2019, les détails peuvent varier selon la version utilisée. Dans la suite de la page, nous emploierons le terme le plus couramment utilisé de GPO pour désigner la Group Policy Preferences (GPP) à définir.

La procédure suivante permet de déployer l’agent Cyberwatch à l’aide d’une GPO en utilisant le planificateur des tâches pour éviter le redémarrage des actifs cibles :

  1. Télécharger le fichier MSI de l’agent Cyberwatch depuis Gestion des actifs > Agents > Ajouter.

  2. Créer un partage pour déposer le fichier MSI de l’agent Cyberwatch ainsi que le script batch de déploiement.

    Le contenu du script de déploiement (fichier en .bat) est le suivant (adapter en fonction du chemin vers le fichier MSI) :

     @ECHO OFF
     if EXIST "C:\Program Files\CYBERWATCH SAS\CyberwatchAgent\cyberwatch-agent.exe" ( 
     echo "Cyberwatch Agent is present" 
     ) else ( 
     msiexec /qn /i "\\Server\CheminVers\cyberwatch_agent-x64.msi" )
    

    Ce script vérifie la présence de l’agent Cyberwatch sur la machine et l’installe silencieusement s’il n’est pas présent.

  3. Sur votre contrôleur de domaine, ouvrir Gestion de stratégie de groupe et créer une nouvelle GPO dans votre domaine.

  4. Éditer la GPO nouvellement créée afin de l’ouvrir dans l’Éditeur de gestion des stratégies de groupe.

  5. Sous « Configuration ordinateur > Préférences > Paramètres du Panneau de configuration > Tâches planifiées », créer une nouvelle tâche planifiée (au minimum Windows 7) avec les éléments suivants :

    • Onglet Général : donner un nom à la tâche et utiliser le compte « NT AUTHORITY\System » lors de son exécution.
    • Onglet Déclencheurs : ajouter un déclencheur selon vos préférences.
    • Onglet Actions : ajouter une action de type « Démarrer un programme » et sélectionner le fichier .bat créé précédemment.
  6. Si ce n’est pas déjà fait, lier la GPO à une OU ou à votre domaine depuis Gestion de stratégie de groupe.

Une fois la GPO appliquée aux clients, une tâche planifiée sera créée pour exécuter le script de déploiement.


Retour en haut