Page 1 sur 1

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

Publié : 03 févr. 2022 - 08:56
par olaplanche
:!: Mise à jour du 08/03/2023 :!: : Nouvelle version du paquet, nouvelle utilisation du paquet msi créé avec le ClientPackager. (source)

:!: 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 *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name = "TrendMicroSecurityAgent.msi"
properties = {
    'MyServer':'"myserver:8080|4343"',
    'MyDomain':'"Workgroup\Subdomain"',
    }

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

    # Installing the package
    for to_update in installed_softwares('Trend Micro Apex One Security Agent'):
        if Version(to_update["version"]) < Version(package_version) or force:
            print(r"Upgrading: %s (%s)" % (bin_name, package_version))
            run(r'msiexec /fov "%s"' % bin_name) # If Agent already installed, upgrade.
    else:
        install_msi_if_needed(bin_name,properties=properties) # If Agent not installed, install.
Pour que la désinstallation fonctionne, il suffit de désactiver le mot de passe de désinstallation depuis la console serveur.

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent

Publié : 03 févr. 2022 - 10:38
par dcardon
merci pour ce partage :-)

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent

Publié : 03 févr. 2022 - 11:02
par gly
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.

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent

Publié : 03 févr. 2022 - 11:19
par olaplanche
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

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent

Publié : 03 févr. 2022 - 15:22
par gly
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

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent

Publié : 03 févr. 2022 - 16:15
par gly
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

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent

Publié : 04 févr. 2022 - 09:09
par olaplanche
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

Re: Paquet Trend Micro Apex One Security Agent

Publié : 24 mai 2022 - 13:25
par olaplanche
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 :(

Re: Paquet Trend Micro Apex One Security Agent

Publié : 01 juin 2022 - 09:34
par olaplanche
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.

Re: [RESOLU] Paquet Trend Micro Apex One Security Agent update 6 (build 11564)

Publié : 08 mars 2023 - 10:43
par olaplanche
Bonjour,

Nouvelle version du paquet en première page.

J'ajoute ici le code d'un paquet que j'ai eu besoin pour migrer un agent d'un serveur à un autre dans le cas d'une migration (source).

Code : Tout sélectionner

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
server_name = "myserver.contoso.local"
client_port = "25840"
agent_password = "uninstall_password"

def install():
    # Initializing variables

    # Installing the package
    print("Moving Apex One Security Agent to server : %s" % server_name)
    run(r'"IpXfer\IpXfer_x64.exe" -s %s -p 8080 -sp 4343 -c %s -e "IpXfer\OfcNTCer.dat" -pwd %s' % (server_name,client_port,agent_password))