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
Moteur Selenium 4 WebDriver + proxy BrowserMob
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()

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.

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 :

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