Moniteur EUM (Web UI)

Le type de moniteur EUM (End User Monitoring) execute des parcours utilisateur multi-etapes dans un vrai navigateur web, exactement comme un utilisateur final les vivrait. Cette page est la specification complete du moteur EUM : capacites, fonctions de script des scenarios, support TOTP/MFA et integration des secrets/coffres-forts.

Vue d’ensemble

Propriete Valeur
Navigateurs Chrome, Firefox, Edge
Source du scenario Enregistre avec MNS IDE (ou Selenium IDE)
Base de donnees exec.db
Execute sur La sonde Monitor

Les scenarios EUM sont executes en mode headless par defaut sur la sonde ; chaque execution rejoue le parcours enregistre, mesure chaque transaction declaree et remonte les temps, captures d’ecran, video et donnees HAR vers le Webserver.


Capacites

  • Enregistrement de transactions multi-etapes (via MNS IDE ou Selenium IDE)
  • Chronometrage individuel des transactions avec seuils critique/majeur, enrichi des metriques navigateur window.performance
  • Capture d’ecran : sur erreur, par transaction, ou a chaque etape (mode photo)
  • Enregistrement video de l’execution complete
  • Capture HAR (HTTP Archive) de tout le trafic reseau via le proxy embarque
  • Support TOTP (Time-based One-Time Password) pour le 2FA / MFA
  • Identifiants chiffres — embarques (AES) ou recuperes depuis un coffre-fort externe a l’execution
  • Configuration de proxy d’entreprise
  • Verification de similarite visuelle

Fonctions de script des scenarios

Les fichiers de scenario sont generes par l’enregistreur MNS IDE et appellent les fonctions integrees suivantes :

Fonction Role
mnsStartTransaction(name, timeout, critical_ms, major_ms) Demarre une transaction nommee et chronometree avec seuils
mnsStopTransaction() Arrete la transaction courante et enregistre son temps + les metriques window.performance
captureScreenshotReport(...) Capture une capture d’ecran dans le rapport d’execution
highlightElement(element) Met en evidence visuellement un element avant d’interagir avec lui
acceptCookie(...) Ferme les bandeaux de consentement aux cookies
waitForWindow(...) Attend et bascule vers une nouvelle fenetre/onglet du navigateur
MNSDecrypt("...") Dechiffre un identifiant chiffre embarque a l’execution

Exemple :

mnsStartTransaction("Login Page", 30, 5000, 3000); // name, timeout, critical_ms, major_ms
driver.findElement(By.id("username")).sendKeys("user");
driver
  .findElement(By.id("password"))
  .sendKeys(MNSDecrypt("q1hjZXR0ZSBjbGUgZXN0..."));
driver.findElement(By.id("submit")).click();
mnsStopTransaction();

Mot de passe chiffré

Lorsque cela est nécessaire, utilisez l’un des fichiers JAR présents dans le dossier exec du moniteur : MNSCliXXX.jar.

cd <monit_home>\exec\jdk\bin\java.exe -jar -DpwdEncrypt=78814630Mdp!! MNSCliOnDemand.jar
skYMPogdjkDvTwy6RwVPMw==

Ensuite, dans le scénario ou dans Mugnsoft Pulse, utilisez la chaîne générée précédemment avec la fonction privée MNSDecrypt. Par exemple : MNSDecrypt(“skYMPogdjkDvTwy6RwVPMw==") dans l’exemple ci-dessus.

driver
  .findElement(By.name("password"))
  .sendKeys(MNSDecrypt("skYMPogdjkDvTwy6RwVPMw==")); // sera déchiffré en "78814630Mdp!!"

Support TOTP / MFA

Le moteur EUM peut generer des codes TOTP pendant un scenario, permettant aux moniteurs de se connecter a des applications protegees par une authentification a deux facteurs. Lorsqu’un code TOTP est requis, remplacez sa valeur par le mot-clé protégé totpCode.

totpCode

alt text

Dans l’onglet Avanced des informations du moniteur :

  • Cochez l’option TOTP.
  • Renseignez la clé secrète (Secret) associée.

alt text

Une fois la configuration enregistrée, vous pouvez déployer le moniteur. Lors de chaque exécution planifiée du scénario, la valeur totpCode sera automatiquement remplacée par le code TOTP généré à partir du secret configuré.

Specification supportee : RFC 6238

Parametre Valeur
Algorithme HMAC-SHA1
Longueur du code 6 chiffres
Pas de temps 30 secondes
Encodage du secret partage Base32

Ce sont les memes parametres que Google Authenticator : tout fournisseur d’identite proposant un enrolement TOTP de type “Google Authenticator” est donc compatible — y compris Okta, Microsoft Entra ID, Google et Duo.

Le secret partage TOTP est stocke chiffre en AES et transmis au moteur a l’execution via la variable d’environnement TOTP_SECRET_<urlTitle>.

Compatibilite Okta

Facteur Okta Supporte
Facteur Google Authenticator (TOTP standard) ✅ Correspondance exacte avec les parametres supportes
Okta Verify — mode TOTP ✅ Capturer le secret partage au moment de l’enrolement
Okta Verify — Push ❌ Protocole push proprietaire, pas du TOTP
Facteur Custom TOTP avec parametres non standard (SHA-256/512, 8 chiffres, pas de temps ≠ 30 s) ❌ Non supporte actuellement

Secrets et integration avec les coffres-forts

Les scenarios EUM ne stockent jamais de mots de passe en clair. Deux mecanismes sont disponibles :

1. Identifiants chiffres embarques

Les mots de passe peuvent etre embarques directement dans le scenario sous forme de chaines chiffrees en AES et dechiffres a l’execution avec MNSDecrypt("..."). Les operateurs generent les chaines chiffrees avec le mode de chiffrement de mot de passe du moteur et les collent dans le scenario.

2. Coffres-forts externes

Les identifiants peuvent etre recuperes a l’execution depuis un gestionnaire de secrets externe, de sorte qu’ils n’apparaissent jamais dans le scenario : Lorsque des identifiants stockés dans le coffre-fort sont requis, remplacez-les par les mots-clés protégés vaultUsername et vaultPassword.

vaultUsername
vaultPassword

Dans la configuration du moniteur, associez le coffre-fort (Vault) contenant les identifiants à utiliser.

Une fois le moniteur déployé, les valeurs vaultUsername et vaultPassword seront automatiquement remplacées par les identifiants récupérés depuis le coffre-fort lors de l’exécution du scénario. Les informations d’authentification ne sont ainsi jamais stockées en clair dans le script ou le scénario.

Fournisseur vaultType
HashiCorp Vault hashicorp
Azure Key Vault azure
CyberArk Conjur cyberark

A l’execution, les identifiants recuperes sont transmis au scenario via des variables d’environnement par moniteur :

Variable d’environnement Contenu
VAULT_USERNAME_<urlTitle> Nom d’utilisateur recupere depuis le coffre-fort
VAULT_PASSWORD_<urlTitle> Mot de passe recupere depuis le coffre-fort
TOTP_SECRET_<urlTitle> Secret partage TOTP chiffre

Les parametres de connexion au coffre-fort (vaultType, URLs, jetons) se configurent sur la sonde Monitor — voir Configuration du Monitor → Integration avec les coffres-forts.

Traductions