[RESOLU] Paquet Trend Micro Apex One Security Agent update 6 (build 10101)

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée ( 1.8.2 / 2.0 / 2.1 / 2.2 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Préciser OS du serveur (Linux / Windows) et version (Debian Stretch/Buster - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets (Windows 7 / 10)
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
olaplanche
Messages : 140
Inscription : 26 janv. 2017 - 11:11

03 févr. 2022 - 08:56

:!: ATTENTION :!: les informations du premier poste sont obsolètes depuis l'update n°5 du serveur Apex One, d'autres solutions sont proposées ici

:!: Le fichier msi est généré avec le ClientPackager du serveur Apex One :!:

Le code du paquet :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = ['{1841AFE1-4BA7-44D4-8700-6ACF860A8ED1}']

def install():
    print ('installing %s' % control.package)
    install_msi_if_needed('TrendMicroSecurityAgent.msi')
    uninstallkey.remove('{1841AFE1-4BA7-44D4-8700-6ACF860A8ED1}')

def uninstall():
    print ('uninstalling %s' % control.package)
	# Modification de la clé de registre "Allow Uninstall" pour autorisé la désinstallation silencieuse sans mot de passe.
    registry_set(HKEY_LOCAL_MACHINE,r'SOFTWARE\\WOW6432Node\\TrendMicro\\PC-cillinNTCorp\\CurrentVersion\\Misc.','Allow Uninstall',1,type=REG_DWORD)
    run(r'"msiexec.exe" /x {1841AFE1-4BA7-44D4-8700-6ACF860A8ED1} /qn')
Pour que la modification de la clé de registre fonctionne il faut désactiver la protection des clés de Registre de Security Agent depuis le serveur Apex One, gestion des agents, privilèges et autres paramètres.

Image
Dernière modification par olaplanche le 01 juin 2022 - 13:47, modifié 5 fois.
- Version de WAPT installée : 2.2.1.11935 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 801
Inscription : 18 juin 2014 - 09:58
Localisation : Nantes
Contact :

03 févr. 2022 - 10:38

merci pour ce partage :-)
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
gly
Messages : 24
Inscription : 30 mai 2019 - 11:45

03 févr. 2022 - 11:02

Super merci par contre une question, comment tu gères le fait que les agents Trend vont se mettre à jour seuls et que pour le coup le jour où tu va mettre à jour ton paquet WAPT, il voudra se mettre à jour sur les postes ?
J'ai testé et le problème c'est les paquets WAPT remontent en erreur car version déjà à jour.
olaplanche
Messages : 140
Inscription : 26 janv. 2017 - 11:11

03 févr. 2022 - 11:19

Je ne mets pas à jour le programme de l'agent via le serveur Apex One (configurable dans le serveur, gestion des agents, privilèges et autres paramètres).
Lorsque qu'il y a une nouvelle version du programme de l'agent, il faut générer un nouveau package msi avec le ClientPackager du serveur et mettre à jour le paquet WAPT ;)

EDIT : Si l'agent se met à jour seul de son côté, que tu mets à jour ton paquet plus tard. Au déploiement du nouveau paquet il détectera que la même version est déjà installée et ne la réinstallera pas sans erreur dans la console WAPT :
installing wapt-trend-micro-apex-one-security-agent
MSI TrendMicroSecurityAgent.msi already installed. Skipping msiexec
- Version de WAPT installée : 2.2.1.11935 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
gly
Messages : 24
Inscription : 30 mai 2019 - 11:45

03 févr. 2022 - 15:22

EDIT : Si l'agent se met à jour seul de son côté, que tu mets à jour ton paquet plus tard. Au déploiement du nouveau paquet il détectera que la même version est déjà installée et ne la réinstallera pas sans erreur dans la console WAPT :
T'es sur de toi? Je me souviens que j'avais des erreurs moi
gly
Messages : 24
Inscription : 30 mai 2019 - 11:45

03 févr. 2022 - 16:15

En effet il ne réinstalle pas si déjà installé.

Par contre je ne trouve par ton parametre sur les clés de registre, est-ce parce qu'il faut désactiver le mot de passe à la désinstallation? Ou différence de version de console, je suis à l build 10064.

Merci
olaplanche
Messages : 140
Inscription : 26 janv. 2017 - 11:11

04 févr. 2022 - 09:09

Bonjour,

Non il n'est pas nécessaire de désactiver le mot de passe à la désinstallation dans la console serveur.
Je suis sur un build plus ancien (9167), pas encore pris le temps de m'occuper de le mettre à jour...

L'option se trouve dans ce menu :

Image

EDIT : le lien vers la doc officielle : https://docs.trendmicro.com/en-us/enter ... l_002.aspx
- Version de WAPT installée : 2.2.1.11935 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 140
Inscription : 26 janv. 2017 - 11:11

24 mai 2022 - 13:25

ok j'ai fait la mise jour du serveur build 10101 et les options d'autoprotection de l'agent ont effectivement disparu.
C'est une volonté de Trend Micro... source
Security Agent self-protection


Self-protection settings are automatically enabled and not configurable. Previous dependencies for the self-protection features have been removed to allow all Security Agents to be protected at all times.
Retour à la case départ :(
- Version de WAPT installée : 2.2.1.11935 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 140
Inscription : 26 janv. 2017 - 11:11

01 juin 2022 - 09:34

Premièrement pour que l'installation et la mise à jour de l'agent fonctionne alors qu'un mot de passe de désinstallation est configuré, il ne faut pas utiliser le package msi (installation OK, mise à jour KO le mot de passe de protection de l'agent est demandé...).

Il faut créer un package exe d'installation depuis le serveur qui fonctionnera pour l'installation et la mise à jour sans demander le mot de passe :
Image

Le code du paquet wapt adapté :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = ['{1841AFE1-4BA7-44D4-8700-6ACF860A8ED1}']

def install():
    # Initializing variables
    package_version = control.get_software_version()

    # Vérification de la version pour gestion d'erreur
    for to_install in installed_softwares('Trend Micro Apex One Security Agent'):
        if Version(to_install["version"]) < Version(package_version) or force:
            print ('installing %s' % control.package)
            install_exe_if_needed('TrendMicroSecurityAgent.exe')
        else:
            print ('%s already installed' % control.package)
    uninstallkey.remove('{1841AFE1-4BA7-44D4-8700-6ACF860A8ED1}')
Pour la désinstallation, je vous propose deux solutions que j'ai pu tester :

Solution 1 :

Désactiver la mot de passe de désinstallation depuis la console serveur, cela aura pour effet de passer la clé de registre "Allow Uninstall" à 1 sur les agents. Désinstallation possible avec le code suivant :

Code : Tout sélectionner

def uninstall():
    print ('uninstalling %s' % control.package)
    run(r'"msiexec.exe" /x {1841AFE1-4BA7-44D4-8700-6ACF860A8ED1} /qn')
Solution 2 :

Désinstallation possible avec le code suivant sans désactiver le mot de passe dans la console admin (le mot de passe sera en clair dans le paquet) :

Code : Tout sélectionner

def uninstall():
    print ('uninstalling %s' % control.package)
    run(r'"%s\Trend Micro\Security Agent\pccntmon.exe" -m <uninstall_password>' % programfiles32)
source

Quelques pistes qui n'ont pas abouties :

La création du package exe depuis le client packager s'appuie sur le fichier de conf ofcscan.ini du server, en éditant ce fichier on retrouve les options d'auto protection de l'agent :
[INI_CLIENT_SECTION]
SP_EnableFileProtection = 1
SP_EnableRegistryKeyProtection = 1
SP_EnableProcessProtection = 1
Malheureusement les mettre à 0 ne semble pas fonctionner...

Par contre dans la base de registre de l'agent suivante on retrouve bien les clés des options d'auto protection :
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\TrendMicro\PC-cillinNTCorp\CurrentVersion\AEGIS
En passant la clé "SP_EnableRegistryKeyProtection" à 0, le protection de la base de registre est bien désactivée, on peut donc à nouveau modifier la clé "Allow Uninstall" depuis un paquet wapt sans désactiver le mot de passe de l'agent. Le problème, c'est qu'il n'est pas possible de modifier la clé "SP_EnableRegistryKeyProtection" tant que l'agent est lancé... Il faut d'abord fermer l'agent qui demande alors le mot de passe... bref je ne vois pas comment automatiser la désinstallation à 100% dans un paquet wapt.
- Version de WAPT installée : 2.2.1.11935 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Répondre