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 :
- Récupérer l'AC racine du certificat du service d'enregistrement présent sur la Edge Gateway.
- Téléverser cette AC sur le serveur où l'agent d'enregistrement est installé.
- 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 :1Import-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
base64Certpar 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 | |
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 | |
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 :
Une fois l'agent téléchargé, suivre les étapes suivantes :
- Exécuter le setup
setup_cyberelementsAgent.exesur la machine sur laquelle installer l'agent d'enregistrement. - Cliquer sur
Nextsur la première fenêtre :
- Accepter les conditions d'utilisations :

- Sur le troisième écran, modifier si nécessaire le répertoire d'installation de l'agent :

-
- 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.
- Sur le quatrième écran apparaît les options pour l'installation de l'agent dans son mode de fonctionnement accès direct :
-
Finalement sur le cinquième écran l'installation démarrera après avoir cliqué sur le bouton
Install:
- Exécuter le setup
setup_CleanroomAgent.exesur la machine sur laquelle installer l'agent d'enregistrement. - Cliquer sur
Nextsur la première fenêtre :
- Accepter les conditions d'utilisations :

- Sur le troisième écran, modifier si nécessaire le répertoire d'installation de l'agent :

-
- 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.
- Sur le quatrième écran apparaît les options pour l'installation de l'agent dans son mode de fonctionnement accès direct :
-
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 :
- 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.
- 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
Cqui sera utilisée pour déployer l'agent sur le lecteurC:\. 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
Cqui sera utilisée pour déployer l'agent sur le lecteurC:\. 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 :
Enregistrer les sessions distantes (RDS) uniquement: seuls les accès distants RDP seront soumis à l'enregistrement.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.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
Cqui sera utilisée pour déployer l'agent sur le lecteurC:\. 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





