Aller au contenu

Configuration 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é.

Configurations via clefs de registre

Quelques paramètres globaux sont disponibles en clefs de registre pour impacter le fonctionnement de l'agent d'enregistrement aussi bien lorsqu'il est utilisé avec des applications qu'en accès direct.

1
2
3
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IpdivaSafe]
"DisconnectOnError"=dword:00000000
"SessionEndTimeout"=dword:0000000a
DisconnectOnError

Définition du comportement de l'agent d'enregistrement lorsque l'enregistreur de la session est fermé. Si la valeur de 0 est indiquée (fonctionnement par défaut), alors en cas de fermeture de l'enregistreur, la session de l'utilisateur sera fermée. Si la valeur de 1 est indiquée, alors la session de l'utilisateur sera déconnectée en cas de fermeture de l'enregistreur.

SessionEndTimeout

Définition du temps (en secondes) de fermeture de la session utilisateur avant qu'un arrêt forcé de la session ne soit réalisée. Par défaut ce paramètre est à 10 secondes.

Configuration pour le fonctionnement avec des applications RDP et HTML5 RDP

Dans ce mode de fonctionnement les échanges entre le Mediation Controller, la Edge Gateway et l'agent d'enregistrement sont les suivants :

sequenceDiagram
    autonumber
    participant MED as Mediation Controller
    participant GW as Edge Gateway
    participant AGENT as Serveur RDP<br/>Agent d'enregistrement

    MED->>+GW: Envoi des informations de connexion vers <br/>le serveur RDP avec les informations de <br/>connexion pour l'agent d'enregistrement
    GW->>AGENT: Initialisation de la connexion RDP
    GW->>-AGENT: Envoi des informations de connexion au <br/>service d'enregistrement de la Edge Gateway
    AGENT->>+GW: Connexion au service d'enregistrement
    GW->>-AGENT: Envoi des informations de filtrage réseau
    Note over AGENT: Application des restrictions <br/>réseaux à l'utilisateur
    loop Enregistrement continu de la session
        AGENT->>+GW: Envoi continu de l'enregistrement vidéo <br/>+ événements de session
        Note over GW: Ajout continu de l'enregistrement vidéo <br/>dans le répertoire de stockage temporaire
        GW->>-MED: Envoi des événements de session reçus
        Note over MED: Enregistrement des événements <br/>dans la BDD de l'organisation
    end 
    break Fin de session
        AGENT->>GW: Envoi de l'information que <br/>l'utilisateur a mis fin à sa session RDP
        Note over GW: L'enregistrement vidéo est déplacé<br/> dans le répertoire d'archivage.
        GW->>MED: Indication de la fin de session de l'utilisateur
        Note over MED: La session de l'utilisateur bascule <br/>du live streaming aux archives
    end
Hold "Ctrl" to enable pan & zoom
  1. Le Mediation Controller donne les informations de connexion du serveur RDP cible à la Edge Gateway. Il intègre aussi les informations de connexion qui lui sont connus pour la connexion au service d'enregistrement (FQDN de la Edge Gateway).
  2. La Edge Gateway initialise la connexion au serveur RDP.
  3. La Edge Gateway envoie les informations de connexion à son service d'enregistrement à l'agent d'enregistrement.
  4. L'agent d'enregistrement initialise la connexion avec le service d'enregistrement.
  5. Une fois l'agent connecté, le service d'enregistrement lui retourne la liste des restrictions de flux réseau à appliquer à la session. Une fois reçu l'agent d'enregistrement les applique à la session de l'utilisateur.
  6. L'agent d'enregistrement remonte en continu et en temps réel l'enregistrement vidéo de la session de l'utilisateur ainsi que tous les événements de sessions (par exemple les frappes clavier ou ouvertures de programmes) au service d'enregistrement. Ce dernier conserve l'enregistrement vidéo dans un répertoire temporaire.
  7. Le service d'enregistrement remonte au Mediation Controller les différents événements de session et le Mediation Controller se charge de les enregistrer dans la base de donnée de l'organisation.
  8. Lors de la fin de session RDP de l'utilisateur, l'agent d'enregistrement remonte l'information au service d'enregistrement. Celui-ci déplace ensuite la vidéo enregistrée dans le répertoire d'archives des enregistrements des utilisateurs.
  9. Le service d'enregistrement remonte au Mediation Controller la fin de la session de l'utilisateur. La session n'est donc plus visible du Live streaming du Centre de contrôle mais bascule vers les Archives.

Avec cette séquence, il est primordial que l'agent d'enregistrement reçoive les bonnes informations de connexion au service d'enregistrement de la Edge Gateway. Cette information est contenue dans le paramétrage de la Edge Gateway avec le champ FDQN :

A l'intérieur de ce champ indiquez un nom DNS que les serveurs RDP sauront résoudre.

Important

Le certificat affecté au service d'enregistrement Careserver doit couvrir le nom indiqué dans le champ FQDN. Sinon l'agent d'enregistrement considérera la connexion comme non sûre et ne déclenchera pas l'enregistrement de la session.

Configuration pour le fonctionnement en accès direct

Dans ce mode de fonctionnement les échanges entre le Mediation Controller, la Edge Gateway et l'agent d'enregistrement sont les suivants :

sequenceDiagram
    autonumber
    participant MED as Mediation Controller
    participant GW as Edge Gateway
    participant AGENT as Serveur RDP<br/>Agent d'enregistrement

    Note over AGENT: Détection d'une nouvelle <br/>session à enregistrer
    AGENT->>+GW: Connexion au service d'enregistrement
    GW->>-MED: Indication d'une nouvelle connexion <br/>en accès direct pour l'utilisateur X
    alt Si l'utilisateur X est autorisé  
        MED->>+GW: Envoi de l'information que l'utilisateur X <br/>est autorisé à se connecter et envoi de <br/>la liste des filtrages réseaux à appliquer
        GW->>-AGENT: Envoi des informations de filtrage <br/>réseau et d'autorisation de connexion<br/> de l'utilisateur X
        Note over AGENT: Application des restrictions <br/>réseaux à l'utilisateur X
        loop Enregistrement continu de la session
            AGENT->>+GW: Envoi continu de l'enregistrement vidéo <br/>+ événements de session
            Note over GW: Ajout continu de l'enregistrement vidéo <br/>dans le répertoire de stockage temporaire
            GW->>-MED: Envoi des événements de session reçus
            Note over MED: Enregistrement des événements <br/>dans la BDD de l'organisation
        end 
        break Fin de session
            AGENT->>GW: Envoi de l'information que <br/>l'utilisateur X a mis fin à sa session RDP
            Note over GW: L'enregistrement vidéo est déplacé<br/> dans le répertoire d'archivage.
            GW->>MED: Indication de la fin de session de l'utilisateur
            Note over MED: La session de l'utilisateur bascule <br/>du live streaming aux archives
        end
    else Si l'utilisateur X n'est pas autorisé
        MED->>+GW: Envoi de l'information que l'utilisateur <br/>X n'est pas autorisé à se connecter
        GW->>-AGENT: Envoi de la non autorisation <br/>de connexion de l'utilisateur X
        Note over AGENT: Déconnexion de l'utilisateur X
    end
Hold "Ctrl" to enable pan & zoom
  1. Une nouvelle session est détectée par l'agent d'enregistrement qui initialise une connexion vers le service d'enregistrement d'une Edge Gateway.
  2. La Edge Gateway remonte les informations de connexion (nom d'utilisateur et CN du certificat utilisé par l'agent d'enregistrement) au Mediation Controller. Ce dernier va répondre de deux manières différentes en fonction du paramétrage des droits d'accès.
  3. Si l'utilisateur est autorisé à se connecter au serveur, alors le Mediation Controller remonte à la Edge Gateway l'accès possible pour cet utilisateur ainsi que la liste de filtrage réseau à appliquer.
  4. La Edge Gateway retourne ces informations à l'agent d'enregistrement. Une fois reçu l'agent d'enregistrement applique les filtrages réseaux à la session de l'utilisateur.
  5. L'agent d'enregistrement remonte en continu et en temps réel l'enregistrement vidéo de la session de l'utilisateur ainsi que tous les événements de sessions (par exemple les frappes clavier ou ouvertures de programmes) au service d'enregistrement. Ce dernier conserve l'enregistrement vidéo dans un répertoire temporaire.
  6. Le service d'enregistrement remonte au Mediation Controller les différents événements de session et le Mediation Controller se charge de les enregistrer dans la base de donnée de l'organisation.
  7. Lors de la fin de session RDP de l'utilisateur, l'agent d'enregistrement remonte l'information au service d'enregistrement. Celui-ci déplace ensuite la vidéo enregistrée dans le répertoire d'archives des enregistrements des utilisateurs.
  8. Le service d'enregistrement remonte au Mediation Controller la fin de la session de l'utilisateur. La session n'est donc plus visible du Live streaming du Centre de contrôle mais bascule vers les Archives.
  9. Si l'utilisateur n'est pas autorisé à se connecter au serveur, alors le Mediation Controller remonte à la Edge Gateway l'accès non autorisé pour cet utilisateur.
  10. La Edge Gateway retransmet l'information à l'agent d'enregistrement qui déconnecte la session de l'utilisateur.

Clefs de registre

L'agent d'enregistrement, peut importe la manière dont il est installé, possède tous les composants nécessaires pour l'ensemble des modes de fonctionnement qui lui sont prévus. Par conséquent, afin qu'il fonctionne dans le mode d'accès direct, il lit les clefs de registre suivantes pour connaître sa configuration :

1
2
3
4
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\IpdivaSafe]
"MachineName"="my-rdp-server.domain.local"
"LogOffOnFailure"=dword:00000001
"RecordedSessions"="none"
MachineName

Nom du certificat que l'agent d'enregistrement utilisera pour se connecter au service d'enregistrement d'une Edge Gateway. Par défaut et si non défini, l'agent cherchera à utiliser un certificat du nom de la machine.

LogOffOnFailure

Indication du comportement de l'agent lorsqu'il ne parvient pas à se connecter à une Edge Gateway ou si l'utilisateur n'est pas autorisé à se connecter à la machine. Si 0, aucune déconnexion ne sera réalisée tandis qu'avec 1 l'utilisateur se verra déconnecté (fonctionnement par défaut).

RecordedSessions

Définition des types de sessions contraintes par un enregistrement :

  • none : aucun enregistrement en accès direct ne sera réalisé (paramètre par défaut).
  • 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.

Quelles valeurs de clefs sont-elles nécessaires pour les accès directs ?

La seule valeur de clef nécessaire afin d'activer le mécanisme d'accès direct est RecordedSessions avec une donnée à remote ou all. A noter que suivant l'environnement, la valeur de clef MachineName peut aussi s'avérer nécessaire.

Certificat machine

L'agent d'enregistrement cherchera à utiliser un certificat pour son authentification auprès du service d'enregistrement. Ce certificat doit avoir été installé dans les certificats personnels de l'ordinateur.

L'agent utilisera le certificat dont le nom correspond à la valeur de clef MachineName (voir chapitre précédent) et si elle n'est pas défini il cherchera à utiliser un certificat du nom de la machine.

Déclaration des Edge Gateways que l'agent pourra contacter

L'agent d'enregistrement se base sur des informations locales pour connaître la liste des serveurs Edge Gateway à contacter pour remonter les enregistrements des sessions des utilisateurs.

Pour modifier la liste des serveurs Edge Gateway pouvant être contacté il faut tout d'abord arrêter le service CleanroomAgent.

Attention !

L'arrêt du service CleanroomAgent provoque la fin d'enregistrement des sessions en cours sur le serveur et toutes nouvelles sessions ouvertes sur le serveur ne seront pas enregistrées.

L'arrêt du service pouvant être réalisé via PowerShell (droits administrateur requis) :

1
Stop-Service CleanroomAgent

Après arrêt du service, modifiez ou créez le fichier suivant [RECORDING_AGENT_DIR]\gateways.xml[RECORDING_AGENT_DIR] est le répertoire d'installation de l'agent d'enregistrement. Avec le répertoire d'installation par défaut le fichier doit être présent ou créé à cet emplacement :

  • cyberelements.io : C:\Program Files (x86)\Systancia\cyberelements\gateways.xml
  • cyberelements Cleanroom : C:\Program Files (x86)\Systancia\Safe\gateways.xml

Ce fichier XML est composé d'une balise gateways et d'autant de balise element qu'il y a de Edge Gateway pouvant être contacté.

Exemple

Si l'agent d'enregistrement doit contacter une Edge Gateway avec son FQDN edge-gateway-1.domain.local, le fichier XML serait le suivant :

1
2
3
4
<?xml version="1.0"?>
<gateways>
    <element>edge-gateway-1.domain.local</element>
</gateways>

Mais s'il y avait deux Edge Gateways à contacter, edge-gateway-1.domain.local et edge-gateway-2.domain.local, le fichier serait le suivant :

1
2
3
4
5
<?xml version="1.0"?>
<gateways>
    <element>edge-gateway-1.domain.local</element>
    <element>edge-gateway-2.domain.local</element>
</gateways>

Après avoir modifié correctement le fichier gateways.xml, redémarrer le service CleanroomAgent :

1
Start-Service CleanroomAgent

Configuration du service d'enregistrement pour authentifier des certificats provenant d'une PKI tierce

Par défaut le service d'enregistrement ne considère comme valide que les certificats émits depuis la PKI Systancia. Afin de pouvoir utiliser des certificats émmanent d'une autre Autorité de Certification (AC) il est nécessaire de suivre les étapes d'ajout d'une AC dans le répertoire spécifique à la Edge Gateway.

Une fois le ou les certificats des AC positionnés au bon emplacement, il ne reste plus qu'à redémarrer le service d'enregistrement, toujours en super-utilisateur root :

Attention !

Le redémarrage de ce service a comme impact d'arrêter les sessions en cours et pour la quasi-totalité d'entres elles de les couper. N'exécutez la commande suivante que lorsqu'aucune session utilisateur ne passe par la Edge Gateway pour ne pas impacter les utilisateurs.

1
systemctl restart ipdivacarerecord

Après redémarrage du service d'enregistrement, il est possible de constater la bonne prise en compte des nouvelles AC en consultant les journaux du service :

1
journalctl -xeu ipdivacarerecord -g loadCaDir -S today

Les journaux obtenus indiqueront en fin de ligne le nom des fichiers de certificat qui auront été chargés par le service d'enregistrement.

Exemple

Après avoir ajouté deux AC ayant pour nom MY-CA-ROOT.pem et MY-INTERMEDIATE-CA.pem. Les journaux obtenus auront cette forme (le début du log a été tronqué mais il contient entre autres la date et le nom de la machine) :

1
2
3
4
TRACE tls.TLS.Context.loadCaDir load ca file: MY-CA-ROOT.pem
TRACE tls.TLS.Context.loadCaDir load ca file: MY-INTERMEDIATE-CA.pem
TRACE tls.TLS.Context.loadCaDir load ca file: oldIPdiva_-928617624.pem
TRACE tls.TLS.Context.loadCaDir load ca file: newIPdiva_1957857431.pem