Aller au contenu

Installation de l'agent d'enregistrement Windows

L'agent d'enregistrement Windows sert, pour cyberelements.io / cyberelements Cleanroom, à ajouter de nouvelles fonctionnalités pour les sessions RDP :

  • Possibilité de filtrer les flux TCP et UDP accessibles par l’utilisateur
  • Possibilité de déclencher un enregistrement de la session pour tout utilisateur se connectant au serveur sans passer par le portail utilisateur ou le client Desktop (fonctionnalité d'accès direct)

A cela s'ajoute la récupération d'événements supplémentaires durant les sessions des utilisateurs :

  • Ouverture de fenêtre
  • Fermeture de fenêtre
  • Lancement de programme
  • Fermeture de programme
  • Contenu du presse-papier
  • Activité de l'utilisateur

Prérequis

Compatibilité du client

Pour connaître la compatibilité de l'agent avec les différents OS Microsoft Windows, reportez-vous à la matrice de compatibilité.

L'agent d'enregistrement nécessite quelques prérequis pour son bon fonctionnement. Certains d'entre eux n'étant destinés qu'à la fonctionnalité d'enregistrement avec agent pour les applications RDP et HTML5 RDP, tandis que d'autres concernent les accès direct avec agent.

Prérequis généraux

L'agent d'enregistrement remonte à cyberelements.io et cyberelements Cleanroom l'enregistrement de la session de l'utilisateur en se connectant à la Edge Gateway sur le port TCP 8443. Il est donc nécessaire que le flux réseau soit ouvert entre les deux machines.

L'agent d'enregistrement, pour remonter de manière sécurisée l'enregistrement à la Edge Gateway, établit avec cette dernière une connexion sécurisée avec TLS. TLS repose sur l'utilisation de certificat et les contraintes suivantes doivent être validées afin que la connexion soit jugée comme fiable et sécurisée :

  • Le certificat du serveur, ici la Edge Gateway, ne doit pas être expiré (date de validité maximale).
  • Le certificat du serveur, ici la Edge Gateway, doit être issu d'une autorité de certification reconnue comme de confiance par la machine sur laquelle l'agent d'enregistrement est installé.

    Informations complémentaires

    Le serveur sur lequel est installé l'agent d'enregistrement doit posséder, au minimum, l'autorité de certification (AC) racine du certificat du serveur d'enregistrement dans son magasin local des autorités de certification de confiance.

    Il est donc nécessaire de :

    1. Récupérer l'AC racine du certificat du service d'enregistrement présent sur la Edge Gateway.
    2. Téléverser cette AC sur le serveur où l'agent d'enregistrement est installé.
    3. Installer l'AC dans le magasin de certificat "Autorités de certification racines de confiance" de la machine locale.
    Exemple avec PowerShell

    Il est possible d'importer facilement un certificat, au format .cer, via PowerShell.
    Pour ce faire, ouvrez un terminal PowerShell en tant qu'administrateur de la machine et exécutez la commande suivante :

    1
    Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"
    

    Remplacez <PATH_TO_CERT> par le chemin vers le fichier de certificat.

    Exemple avec PowerShell pour le certificat Systancia sans envoi de fichiers

    Cet exemple prévoit l'installation de l'AC racine de Systancia qui est utilisée par défaut sur cyberelements.io ou pour les clients cyberelements Cleanroom utilisant les certificats fournis par Systancia.

    Il est aussi possible d'importer le certificat sans nécessiter l'envoi/téléchargement du fichier sur la machine où l'agent d'enregistrement est installé.
    Pour ce faire, ouvrez un terminal PowerShell en tant qu'administrateur de la machine et exécutez les commandes suivantes :

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    # Systancia Root certificate
    $base64Cert = "MIIFIDCCBAigAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCRlIx
    FDASBgNVBAoTC0lQZGl2YSBSb290MR0wGwYDVQQLExRJUGRpdmEgU2VjdXJpdHkg
    RGVwdDEqMCgGA1UEAxMhSVBkaXZhIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
    MR0wGwYJKoZIhvcNAQkBFg5wa2lAaXBkaXZhLmNvbTAeFw0wNTA4MjIxNTAwMzla
    Fw0zMDA4MjIxNTAwMzlaMIGNMQswCQYDVQQGEwJGUjEUMBIGA1UEChMLSVBkaXZh
    IFJvb3QxHTAbBgNVBAsTFElQZGl2YSBTZWN1cml0eSBEZXB0MSowKAYDVQQDEyFJ
    UGRpdmEgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEW
    DnBraUBpcGRpdmEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
    ua59tx+RkIPZbGaSwkV0w5fuPBpY3sbLTk/eR2uN7j9zMu0pq38LfibCVsNGlifh
    GfT5CEbrNL7KvlEVY/It1QluYxNgknlcBP1roJG/xHNcUNmbvCFYLy9N3Nd0J/gC
    Vd8tdB4exqyKEoNuqX18rLpSJJOUZdQCeGdF9r+w6vmHdRMeVS44qIiBPv9Bxzgf
    GXBxAlSqfuDDJ3eZEMsWF/kJrbm4Uhav2ACl5qjHgSSTKMoGoEWOJNkB7Mq/khxc
    TnixIpM2s1rpEfhIetPo4BHsyKv7wqWrS6ouwu5AbzT5t3UqaN77CLqcZJGQ3vC0
    IGKBuEcwigd7W6qkX1/XMwIDAQABo4IBhzCCAYMwDwYDVR0TAQH/BAUwAwEB/zAd
    BgNVHQ4EFgQU+lu7XBGohR2DKD+D+abZEODRHjkwgboGA1UdIwSBsjCBr4AU+lu7
    XBGohR2DKD+D+abZEODRHjmhgZOkgZAwgY0xCzAJBgNVBAYTAkZSMRQwEgYDVQQK
    EwtJUGRpdmEgUm9vdDEdMBsGA1UECxMUSVBkaXZhIFNlY3VyaXR5IERlcHQxKjAo
    BgNVBAMTIUlQZGl2YSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eTEdMBsGCSqG
    SIb3DQEJARYOcGtpQGlwZGl2YS5jb22CAQAwCwYDVR0PBAQDAgEGMBkGA1UdEQQS
    MBCBDnBraUBpcGRpdmEuY29tMBkGA1UdEgQSMBCBDnBraUBpcGRpdmEuY29tMBEG
    CWCGSAGG+EIBAQQEAwIABzA+BglghkgBhvhCAQ0EMRYvSVBkaXZhIFJvb3QgQ2Vy
    dGlmaWNhdGlvbiBBdXRob3JpdHkgQ2VydGlmaWNhdGUwDQYJKoZIhvcNAQEFBQAD
    ggEBACaAgBQK7TATXieb9OdKm+l7/GpePo8f2bRKnkqeRS+HXBKYkvqVJdbJnhJm
    YPOdmhr9ATzt+488tQREAGzqPCp5eiVExPgvomNeG77X57KqbgCA1F7zGJqjP1FL
    771FIWvFXp80ReM/zhcM+MY3sa5LADgOEl5NhoMNHT8AhLKwZ81j5nuwxyG9ICCN
    5GjwgsnK/agmum4+RKeybIWuC/JTsSnu5OImXsmrlUiakp2l+VsZ1rRRNRNUlSbg
    Q3T8kj5ajB0lv2I0kj4fN9wDxzdHEn7nEAmv0t6Y5Te0g/VK3VWhuqeLStaahgip
    hmOVxbu5Ijfug5/3Eemep34NsYk="
    
    # Convert the certificate and store it in memory
    $certBytes = [Convert]::FromBase64String($base64Cert)
    
    # Create a certificate object
    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
    $cert.Import($certBytes)
    
    # Open the trusted root certificate store on the local machine and add the Systancia root certificate
    $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("Root", "LocalMachine")
    $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
    $store.Add($cert)
    $store.Close()
    

    Pour utiliser cette méthode avec une autre AC, veuilliez modifier la valeur de la variable base64Cert par le certificat, encodé en base 64, de votre choix.

  • Le certificat du serveur, ici la Edge Gateway, ne doit pas être révoqué.

  • La machine sur laquelle l'agent d'enregistrement est installé, doit pouvoir contacter le serveur, ici la Edge Gateway, avec un nom DNS ou une adresse IP qui est couvert par le certificat du serveur via son Common Name (CN).

Prérequis spécifiques avec les applications RDP avec agent utilisées sur un poste utilisateur macOS ou Ubuntu

Attention

Les prérequis suivants ne sont nécessaires que si l'utilisateur lance une application RDP avec agent et que son poste utilisateur n'est pas un Windows (macOS ou Ubuntu).

Si les utilisateurs de cyberelements.io ou cyberelements Cleanroom ont des postes utilisateurs exclusivement sous Windows ou dans le cas contraire passent exclusivement par des applications HTML5 RDP, alors les prérequis suivants peuvent être ignorés.

Les clefs de registre suivantes sont nécessaires sur le serveur cible où est déployé l'agent d'enregistrement.

Tout d'abord la première clef va permettre de désactiver la liste des programmes de démarrage autorisés (doc Microsoft). Par défaut une machine Windows n'autorisant uniquement explorer.exe comme programme de démarrage.

1
2
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
"fDisabledAllowList"=dword:00000001

Si la machine n'est pas un serveur RDS alors l'application de la clef de registre suivante est conseillée toujours afin de permettre l'ouverture de l'agent d'enregistrement comme programme de démarrage :

1
2
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"HonorLegacySettings"=dword:00000001

Prérequis spécifiques à l'accès direct

Fonctionnalité d'accès direct

La fonctionnalité d'accès direct permet de déclencher un enregistrement de la session de l'utilisateur pour des accès RDP ou console (connexion physique à la machine ou via le mode console de l'hyperviseur) ne passant pas directement via cyberelements.io ou cyberelements Cleanroom.

Si l'utilisateur a l'autorisation d'accéder au serveur alors sa session sera enregistrée. Si ce n'était pas le cas alors, par défaut, l'utilisateur sera déconnecté.

Pour le fonctionnement en accès direct de l'agent d'enregistrement, un certificat x509 est requis. Ce certificat doit répondre aux contraintes suivantes :

  • Le certificat doit encore être valide (période de validité temporelle non dépassée).
  • Le certificat doit être du type (champ utilisation avancée de la clef) authentification du client (OID : 1.3.6.1.5.5.7.3.2).
  • Le certificat ne doit pas être révoqué.
  • Des contraintes provenant du niveau de sécurité 2 d'OpenSSL impliquent que :
    • Le certificat doit avoir une clef privée d'un minimum de 2048 bits avec les chiffrements RSA, DSA et DH ; pour les clefs à courbe elliptique (ECC), elles doivent être d'un minimum de 224 bits.
    • La signature du certificat ne doit pas être en MD5 ou SHA-1 (SHA-512 à privilégier).
  • Le serveur d'enregistrement utilisera le champ Common Name (CN) pour identifier le certificat et par conséquent la machine où un enregistrement direct est déclenché. Ce champ doit être complété.

Installation unitaire et manuelle

Droits d'administrateur requis

Les droits d'administration pour l'installation de l'agent est obligatoire.

Avant d'installer l'agent, il est nécessaire de le télécharger depuis la console d'administration :

  1. Accéder au plan de travail "Configurations" avec le bouton suivant situé en haut à gauche :
  2. Ouvrir la tuile "Toolbox"
  3. Récupérer le setup adapté à l'OS souhaité dans le premier onglet "Outils d'intégration"
  1. Accéder au plan de travail "Configurations" avec le bouton suivant situé en haut à gauche :
  2. Ouvrir la tuile "Toolbox"
  3. Récupérer le setup adapté à l'OS souhaité dans le premier onglet "Outils d'intégration"

Une fois l'agent téléchargé, suivre les étapes suivantes :

  1. Exécuter le setup setup_cyberelementsAgent.exe sur la machine sur laquelle installer l'agent d'enregistrement.
  2. Cliquer sur Next sur la première fenêtre :
  3. Accepter les conditions d'utilisations :
  4. Sur le troisième écran, modifier si nécessaire le répertoire d'installation de l'agent :
  5. Sur le quatrième écran apparaît les options pour l'installation de l'agent dans son mode de fonctionnement accès direct :
    Enable Direct Access

    Activation de la fonctionnalité d'accès direct de l'agent.

    Recorded Sessions

    Champ libre acceptant trois valeurs distinctes afin de définir quand est-ce que l'enregistrement en accès direct doit être déclenché :

    • none : aucun enregistrement en accès direct ne sera réalisé.
    • remote : tout accès RDP à la machine déclenchera un enregistrement.
    • all : les accès RDP ainsi que les accès consoles (accès physique à la machine ou depuis le mode console de l'hyperviseur) déclencheront l'enregistrement.
    Logoff On Failure

    Option permettant de déconnecter la session de l'utilisateur si l'enregistrement ne peut s'initier, est déconnectée, ou que l'utilisateur n'est pas autorisé à se connecter à la machine.

    Recommandation

    Pour des premières installations ou si le respect des prérequis n'est pas certain, il vaut mieux laisser cette option décochée. Sinon, et si un problème au niveau des prérequis ou du paramétrage est présent, les nouvelles connexions au serveur déconnecteront immédiatement l'utilisateur (en fonction du paramétrage de Recorded Sessions).

    Information

    La fonctionnalité d'accès direct peut tout de même être activée après installation. Pour cela voir le paramétrage en clef de registre de l'agent.

  6. Finalement sur le cinquième écran l'installation démarrera après avoir cliqué sur le bouton Install :

  1. Exécuter le setup setup_CleanroomAgent.exe sur la machine sur laquelle installer l'agent d'enregistrement.
  2. Cliquer sur Next sur la première fenêtre :
  3. Accepter les conditions d'utilisations :
  4. Sur le troisième écran, modifier si nécessaire le répertoire d'installation de l'agent :
  5. Sur le quatrième écran apparaît les options pour l'installation de l'agent dans son mode de fonctionnement accès direct :
    Enable Direct Access

    Activation de la fonctionnalité d'accès direct de l'agent.

    Recorded Sessions

    Champ libre acceptant trois valeurs distinctes afin de définir quand est-ce que l'enregistrement en accès direct doit être déclenché :

    • none : aucun enregistrement en accès direct ne sera réalisé.
    • remote : tout accès RDP à la machine déclenchera un enregistrement.
    • all : les accès RDP ainsi que les accès consoles (accès physique à la machine ou depuis le mode console de l'hyperviseur) déclencheront l'enregistrement.
    Logoff On Failure

    Option permettant de déconnecter la session de l'utilisateur si l'enregistrement ne peut s'initier, est déconnectée, ou que l'utilisateur n'est pas autorisé à se connecter à la machine.

    Recommandation

    Pour des premières installations ou si le respect des prérequis n'est pas certain, il vaut mieux laisser cette option décochée. Sinon, et si un problème au niveau des prérequis ou du paramétrage est présent, les nouvelles connexions au serveur déconnecteront immédiatement l'utilisateur (en fonction du paramétrage de Recorded Sessions).

    Information

    La fonctionnalité d'accès direct peut tout de même être activée après installation. Pour cela voir le paramétrage en clef de registre de l'agent.

  6. Finalement sur le cinquième écran l'installation démarrera après avoir cliqué sur le bouton Install :

Une fois installé, l'agent nécessite une configuration supplémentaire : Configurer l'agent

Déploiement depuis la console d'administration

Droits d'administrateur requis

Les droits d'administration sur la machine cible pour l'installation de l'agent est obligatoire.

Prérequis supplémentaire

Le déploiement de l'agent sur la machine cible utilise le protocole SMB. Par conséquent le flux SMB (TCP 445) doit être ouvert entre la Edge Gateway et ce serveur cible.

Déploiement sur un seul serveur

Le déploiement unitaire de l'agent est possible à partir de deux emplacements dans la console d'administration. Ceci afin de pouvoir le préconfigurer pour deux types de fonctionnement :

  1. Utilisation avec les applications RDP et HTML5 RDP : préparer l'agent afin de pouvoir enregistrer les sessions des utilisateurs exploitant des applications RDP et HTML5 RDP.
  2. Utilisation en mode d'accès direct : préparer l'agent afin de pouvoir enregistrer les sessions des utilisateurs se connectant directement au serveur RDP en plus du fonctionnement précédent.

Pour une utilisation avec les applications RDP et HTML5 RDP

Lorsqu'une application RDP ou HTML5 RDP est paramétrée pour fonctionner avec l'agent, la sélection de l'application débloque la possibilité de déployer l'agent :

Après avoir cliqué sur le bouton de déployement de l'agent, une nouvelle fenêtre apparaît et demande les informations suivantes :

Serveur cible

Adresse IP ou nom DNS du serveur cible sur lequel l'agent d'enregistrement doit être déployé. Par défaut ce champ reprend les informations du serveur indiqué dans l'application RDP ou HTML5 RDP.

Lecteur cible

Lettre du lecteur Windows sur lequel l'agent sera déployé. Communément ce sera la lettre C qui sera utilisée pour déployer l'agent sur le lecteur C:\.

Répertoire cible

Chemin vers le répertoire d'installation de l'agent, s'il n'existe pas il sera créé. L'emplacement par défaut de l'agent cyberelements.io est Program Files (x86)\Systancia\cyberelements.

Passerelle

Indication de la Edge Gateway à utiliser pour le déploiement de l'agent.

Domaine

Nom du domaine dans lequel est présent le compte d'administration utilisé pour l'installation de l'agent.

Nom d'utilisateur

Nom du compte administrateur à utiliser pour l'installation de l'agent. Ce compte doit pouvoir installer des programmes sur le serveur cible.

Mot de passe

Mot de passe du compte adminstrateur.

Une fois toutes les informations de renseignées le déploiement de l'agent peut être lancé, une dernière fenêtre indiquera le succès ou l'échec du déploiement de l'agent sur le serveur cible.

Des paramétrages complémentaires peuvent encore être nécessaires, voir la section suivante : Configurer l'agent

Pour une utilisation en mode accès direct + applications RDP et HTML5 RDP

Depuis la Gestion des machines pour l'accès direct, un bouton permet le déploiement de l'agent :

Après avoir cliqué sur le bouton de déployement de l'agent, une nouvelle fenêtre apparaît et demande les informations suivantes :

Serveur cible

Adresse IP ou nom DNS du serveur cible sur lequel l'agent d'enregistrement doit être déployé. Par défaut ce champ reprend les informations du serveur indiqué dans l'application RDP ou HTML5 RDP.

Lecteur cible

Lettre du lecteur Windows sur lequel l'agent sera déployé. Communément ce sera la lettre C qui sera utilisée pour déployer l'agent sur le lecteur C:\.

Répertoire cible

Chemin vers le répertoire d'installation de l'agent, s'il n'existe pas il sera créé. L'emplacement par défaut de l'agent cyberelements.io est Program Files (x86)\Systancia\cyberelements.

Passerelle

Indication de la Edge Gateway à utiliser pour le déploiement de l'agent.

Domaine

Nom du domaine dans lequel est présent le compte d'administration utilisé pour l'installation de l'agent.

Nom d'utilisateur

Nom du compte administrateur à utiliser pour l'installation de l'agent. Ce compte doit pouvoir installer des programmes sur le serveur cible.

Mot de passe

Mot de passe du compte adminstrateur.

Sessions à enregistrer

Définition du contexte pour lequel un enregistrement de la session aura lieu :

  1. Enregistrer les sessions distantes (RDS) uniquement : seuls les accès distants RDP seront soumis à l'enregistrement.
  2. Enregistrer toutes les sessions : les sessions distantes RDP et les sessions en mode console (accès physique à la machine ou depuis le mode console de l'hyperviseur) seront soumis à l'enregistrement.
  3. N'enregistrer aucune session : aucune connexion directe au serveur n'enregistrera de sessions, toutefois l'agent peut tout de même être exploité pour les accès via application RDP et HTML5 RDP.
Utiliser un certificat différent de celui de la cible

Possibilité de définir le nom du certificat qu'utilisera l'agent pour s'authentifier auprès de la Edge Gateway. Si non définit l'agent cherchera un certificat du nom du serveur.

Fermer la session si aucune gateway n'a pu être contactée

Option permettant de déconnecter et fermer la session de l'utilisateur (suivant le paramétrage des Sessions à enregistrer) si la Edge Gateway est injoignable ou si l'utilisateur n'est pas autorisé à se connecter au serveur.

Recommandation

Pour des premières installations ou si le respect des prérequis n'est pas certain, il vaut mieux laisser cette option décochée. Sinon, et si un problème au niveau des prérequis ou du paramétrage est présent, les nouvelles connexions au serveur déconnecteront immédiatement l'utilisateur (en fonction du paramétrage de Sessions à enregistrer).

Une fois toutes les informations de renseignées le déploiement de l'agent peut être lancé, une dernière fenêtre indiquera le succès ou l'échec du déploiement de l'agent sur le serveur cible.

Des paramétrages complémentaires peuvent encore être nécessaires, voir la section suivante : Configurer l'agent

Déploiement sur plusieurs serveurs

Information

Cette méthode ne permettra uniquement de déployer l'agent d'enregistrement pour fonctionner avec les applications RDP et HTML5 RDP. Pour que l'agent puisse fonctionner en mode accès direct il sera nécessaire de déployer la configuration via d'autres moyens (par GPO par exemple).

Prérequis additionnel

Le déploiement sur plusieurs serveurs ne pourra se faire que sur des machines appartenant à un domaine AD, lui même paramétré dans les Domaines d'authentification de cyberelements.io ou cyberelements Cleanroom avec l'option Autoriser la gestion des serveurs RDS d'activée.

Depuis la Gestion des serveurs RDS, ajoutez un ou plusieurs nouveaux serveurs RDS :

Recherchez et ajoutez via un glisser-déposer les serveurs pour lesquels le déploiement de l'agent d'enregistrement est nécessaire en les déplaçants sur le panneau de droite. Sélectionnez l'option Déployer un agent :

Paramétrez les informations de déploiement de l'agent :

Lecteur cible

Lettre du lecteur Windows sur lequel l'agent sera déployé. Communément ce sera la lettre C qui sera utilisée pour déployer l'agent sur le lecteur C:\.

Répertoire cible

Chemin vers le répertoire d'installation de l'agent, s'il n'existe pas il sera créé. L'emplacement par défaut de l'agent cyberelements.io est Program Files (x86)\Systancia\cyberelements.

Passerelle

Indication de la Edge Gateway à utiliser pour le déploiement de l'agent.

Domaine

Nom du domaine dans lequel est présent le compte d'administration utilisé pour l'installation de l'agent.

Nom d'utilisateur

Nom du compte administrateur à utiliser pour l'installation de l'agent. Ce compte doit pouvoir installer des programmes sur le serveur cible.

Mot de passe

Mot de passe du compte adminstrateur.

Des paramétrages complémentaires peuvent encore être nécessaires, voir la section suivante : Configurer l'agent