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

Dans l’onglet Avanced des informations du moniteur :
- Cochez l’option TOTP.
- Renseignez la clé secrète (Secret) associée.

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.