Sari la conținut

Instalarea și utilizarea agentului de înregistrare pentru Windows

  • Instalare


    Instalarea și implementarea agentului de înregistrare pentru Windows.

    Instalare

  • Configurare


    Configurați agentul de înregistrare pentru Windows pentru a funcționa cu aplicații RDP și RDP HTML5 și/sau cu accesul direct.

    Configurați

Agentul de înregistrare Windows este utilizat de CyberElements Bastion pentru a adăuga funcționalități noi sesiunilor RDP:

  • Posibilitatea de a filtra fluxurile TCP și UDP accesibile utilizatorului
  • Posibilitatea de a declanșa înregistrarea sesiunii pentru orice utilizator care se conectează la server fără a trece prin portalul utilizatorului sau prin clientul Desktop (funcționalitatea direct access)

În plus, în timpul sesiunilor utilizatorilor sunt capturate evenimente suplimentare:

  • Deschiderea ferestrelor
  • Închiderea ferestrelor
  • Lansarea programelor
  • Închiderea programelor
  • Conținutul clipboardului
  • Activitatea utilizatorului

Cerințe preliminare

Compatibilitatea clientului

Pentru a afla dacă agentul este compatibil cu diferitele sisteme de operare Microsoft Windows, consultați matricea de compatibilitate.

Agentul de înregistrare necesită câteva cerințe preliminare pentru a funcționa corect. Unele dintre acestea vizează doar funcționalitatea de înregistrare cu agent pentru aplicațiile RDP și HTML5 RDP, iar altele privesc accesul direct cu agent.

Cerințe preliminare generale

Agentul de înregistrare trimite înregistrarea sesiunii utilizatorului către CyberElements Bastion conectându-se la Edge Gateway pe portul TCP 8443. Pentru aceasta este necesar ca fluxul de rețea dintre cele două mașini să fie deschis.

Pentru a trimite în siguranță înregistrarea către Edge Gateway, agentul de înregistrare stabilește cu acesta o conexiune securizată prin TLS. TLS se bazează pe utilizarea certificatelor, iar următoarele constrângeri trebuie validate pentru ca conexiunea să fie considerată fiabilă și securizată:

  • Certificatul serverului, în acest caz Edge Gateway, nu trebuie să fie expirat (dată maximă de validitate).
  • Certificatul serverului, în acest caz Edge Gateway, trebuie emis de o autoritate de certificare recunoscută ca fiind de încredere de către mașina pe care este instalat agentul de înregistrare.

    Informații suplimentare

    Serverul pe care este instalat agentul de înregistrare trebuie să aibă, cel puțin, autoritatea de certificare (CA) rădăcină a certificatului serverului de înregistrare în magazinul său local de autorități de certificare de încredere.

    Prin urmare, este necesar să:

    1. Recuperați CA rădăcină a certificatului de la serviciul de înregistrare de pe Edge Gateway.
    2. Încărcați această CA pe serverul unde este instalat agentul de înregistrare.
    3. Instalați CA în magazinul de certificate „Trusted Root Certification Authorities” de pe mașina locală.
    Exemplu cu PowerShell

    Un certificat în format .cer poate fi importat cu ușurință prin PowerShell.
    Pentru aceasta, deschideți un terminal PowerShell ca administrator al mașinii și executați comanda următoare:

    1
    Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"
    
    Înlocuiți <PATH_TO_CERT> cu calea către fișierul certificatului.

    Exemplu cu PowerShell pentru certificatul Systancia, fără trimiterea de fișiere

    Acest exemplu constă în instalarea CA rădăcină Systancia, utilizată de clienții CyberElements Bastion care folosesc certificate furnizate de Systancia.

    De asemenea, este posibil să importați certificatul fără a fi nevoie să trimiteți sau să descărcați fișierul pe mașina unde este instalat agentul de înregistrare.
    Pentru aceasta, deschideți un terminal PowerShell ca administrator al mașinii și executați comenzile următoare:

     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()
    

    Pentru a utiliza această metodă cu o altă CA, modificați valoarea variabilei base64Cert cu certificatul dorit, codificat în base 64.

  • Certificatul serverului, în acest caz Edge Gateway, nu trebuie să fie revocat.

  • Mașina pe care este instalat agentul de înregistrare trebuie să poată contacta serverul, în acest caz Edge Gateway, cu un nume DNS sau o adresă IP acoperite de certificatul serverului prin Common Name-ul (CN) al acestuia.

Cerințe preliminare specifice pentru aplicațiile RDP cu agent utilizate pe o stație de lucru de utilizator macOS sau Ubuntu

Avertisment

Cerințele preliminare următoare sunt necesare numai dacă utilizatorul lansează o aplicație RDP cu agent și stația sa de lucru nu este Windows (macOS sau Ubuntu).

Dacă utilizatorii CyberElements Bastion au stații de lucru exclusiv Windows sau, în lipsa acestora, utilizează exclusiv aplicații HTML5 RDP, atunci cerințele preliminare următoare pot fi ignorate.

Cheile de registru următoare sunt necesare pe serverul țintă unde este implementat agentul de înregistrare.

În primul rând, prima cheie va dezactiva lista programelor de pornire autorizate (document Microsoft). În mod implicit, o mașină Windows autorizează doar explorer.exe ca program de pornire.

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

Dacă mașina nu este un server RDS, atunci se recomandă întotdeauna aplicarea cheii de registru următoare, pentru a permite agentului de înregistrare să se deschidă ca program de pornire:

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

Cerințe specifice pentru accesul direct

Funcționalitatea de acces direct

Funcționalitatea de acces direct permite declanșarea unei înregistrări a sesiunii utilizatorului pentru accesele RDP sau de consolă (conexiune fizică la mașină sau prin modul consolă al hipervizorului) care nu trec direct prin CyberElements Bastion.

Dacă utilizatorul are permisiunea de a accesa serverul, sesiunea sa va fi înregistrată. Dacă nu este cazul, atunci, în mod implicit, utilizatorul va fi deconectat.

Pentru ca agentul de înregistrare să funcționeze în mod de acces direct este necesar un certificat x509. Acest certificat trebuie să îndeplinească următoarele cerințe:

  • Certificatul trebuie să fie încă valid (perioadă de validitate neexpirată).
  • Certificatul trebuie să fie de tipul (câmpul de utilizare avansată a cheii) client authentication (OID: 1.3.6.1.5.5.7.3.2).
  • Certificatul nu trebuie să fie revocat.
  • Constrângerile care decurg din nivelul de securitate 2 OpenSSL implică faptul că:
    • Certificatul trebuie să aibă o cheie privată de cel puțin 2048 de biți cu cifrurile RSA, DSA și DH; pentru cheile pe curbe eliptice (ECC), acestea trebuie să fie de cel puțin 224 de biți.
    • Semnătura certificatului nu trebuie să fie MD5 sau SHA-1 (se preferă SHA-512).
  • Serverul de înregistrare va utiliza câmpul Common Name (CN) pentru a identifica certificatul și, prin urmare, mașina pe care se declanșează o înregistrare directă. Acest câmp trebuie completat.

Utilizarea agentului de înregistrare cu aplicații RDP și RDP HTML5

Activarea utilizării agentului de înregistrare

Dacă agentul de înregistrare este instalat și configurat corect, activarea utilizării agentului se face la nivelul aplicației RDP sau RDP HTML5 dorite:

În mecanism intervin trei parametri:

Without agent mode
Această opțiune trebuie să rămână nebifată pentru ca agentul de înregistrare să funcționeze.
Disconnect session if the recorder is not working
Aceasta activează sau dezactivează o măsură de securitate atunci când înregistrarea sesiunii eșuează din diverse motive. Dacă înregistrarea nu poate fi efectuată, sesiunea RDP sau RDP HTML5 a utilizatorului va fi încheiată. Vă recomandăm să activați această setare pentru a preveni conexiunile utilizatorilor fără înregistrare (de exemplu, în cazul unei defecțiuni a agentului de înregistrare).
Time before disconnection
Dacă opțiunea anterioară este activată, această opțiune vă permite să stabiliți timpul, în secunde, înainte de efectuarea deconectării. Valoarea implicită este de 30 de secunde, dar poate fi redusă pentru a crește capacitatea de reacție sau mărită dacă se știe, de exemplu, că sesiunile utilizatorilor sunt lungi.

Limitarea mișcărilor laterale

Limitarea mișcărilor laterale este o funcție care restricționează conexiunile de rețea ale sesiunii utilizatorului. În mod implicit, această funcție blochează tot traficul TCP/UDP din sesiunea utilizatorului, dar administratorii pot deschide diferite fluxuri de acces.

Restricțiile se configurează în access policy și pot, prin urmare, varia în funcție de utilizator și pot avea setări diferite pentru un singur utilizator (prin multiplicarea politicilor de acces care îi sunt atribuite). Un utilizator cu mai multe politici de acces pentru aceeași aplicație va vedea restricțiile de rețea ale accesului cel mai permisiv.

Odată ce o aplicație RDP sau RDP HTML5 cu agent este autorizată într-o politică de acces, tabul Network connections devine disponibil. De aici este posibil să activați filtrarea și să indicați rețelele autorizate pentru utilizator:

Informație

Orice modificare a acestor setări se va aplica utilizatorilor doar la următoarea utilizare a aplicației RDP sau RDP HTML5 în cauză.

Configurarea înregistrărilor accesului direct cu agent

Declararea serverelor pregătite pentru accesul direct cu agent

Pentru a declara un server care trebuie să funcționeze în modul de acces direct cu agent, trebuie mai întâi să deschideți modulul Machines management:

Faceți apoi clic pe butonul pentru a adăuga un server nou. Va apărea o fereastră nouă pentru configurarea noului server:

Name
Numele mașinii așa cum este afișat în consola CyberElements Bastion.
Notification text
Mesajul de notificare pe care utilizatorii îl vor primi la conectarea la server.
Record sessions as videos
Activează sau dezactivează înregistrarea video a sesiunii. Dacă este dezactivată, vor fi capturate și înregistrate doar evenimentele sesiunii.
Check video integrity at playback
La crearea arhivei video se calculează și se stochează un hash (SHA-256) al fișierului video. Atunci când administratorii consultă arhiva, se verifică dacă hash-ul nu a fost modificat. Dacă a fost modificat, administratorului i se trimite un mesaj de alertă, deoarece înregistrarea video a fost probabil modificată (de exemplu, înlocuită sau cu secvențe tăiate).
Allow manual removal of archives
Permite sau interzice administratorilor posibilitatea de a șterge arhivele video.

Informație

Arhivele generate păstrează setările care erau în vigoare în momentul înregistrării. Modificarea acestei setări va afecta doar arhivele noi.
Delete archives automatically
Configurarea ștergerii automate a arhivelor după depășirea unui anumit număr de zile.

Informație

Arhivele generate păstrează setările care erau în vigoare în momentul înregistrării. Modificarea acestei setări va afecta doar arhivele noi.
Use agent mode
Opțiune care trebuie activată pentru ca serverul să dispună de mecanismul de acces direct cu agent activ.
Host (CN of the certificate)
Indicarea CN-ului certificatului utilizat de agentul de înregistrare pentru a se autentifica la Edge Gateway. Aceasta corespunde setărilor certificatului de mașină.
Use no agent
Dacă un parametru nu este util pentru modul de funcționare dorit, acesta poate fi lăsat nebifat.

Configurarea drepturilor de acces direct cu agent

Configurarea drepturilor de acces direct cu agent este similară configurării politicilor de acces pentru aplicații. Drepturile noi se declară, iar cele existente se modifică prin Direct recording configuration:

Puteți adăuga o configurare nouă făcând clic pe butonul .

Diferitele taburi de setări sunt similare cu cele ale politicilor de acces ale aplicațiilor, cu excepția tabului de grupuri, care vă permite să adăugați un grup manual:

După ce faceți clic pe butonul de adăugare manuală, va apărea o fereastră nouă pentru a prelua numele grupului și domeniul său:

Sfat

Această funcție este deosebit de utilă dacă doriți să adăugați un grup local sau un grup situat într-o OU diferită de cea definită în configurarea domeniului LDAP.

Celelalte taburi sunt:

  • Sites: localizează configurarea pe unul sau mai multe site-uri și, prin extensie, permite agentului de înregistrare să se conecteze la una sau mai multe Edge Gateway atașate site-urilor autorizate.
  • Machines: adăugați serverele RDP declarate în capitolul anterior.
  • Alerts: asociază alerte configurării.
  • Network connections: limitează mișcările laterale ale utilizatorilor în timpul sesiunilor lor, cu o funcționare identică celei a limitării mișcărilor laterale ale aplicațiilor RDP și RDP HTML5.

Logurile agentului de înregistrare

Activarea logurilor agentului de înregistrare

Atenție!

Activarea logurilor necesită repornirea serviciului agentului de înregistrare, ceea ce va opri toate înregistrările de sesiune în curs pe server.
În funcție de configurarea cheii LogOffOnFailure, utilizatorul va fi deconectat sau va rămâne conectat.

Pentru a activa logurile pentru agentul de înregistrare, trebuie să efectuați pașii următori:

  1. Creați un director numit Log în directorul de instalare al agentului (în mod implicit, C:\Program Files (x86)\Systancia\Safe).

  2. Reporniți serviciul CleanroomAgent, de exemplu cu următoarea comandă PowerShell de administrator:

    1
    Restart-Service -Name 'CleanroomAgent'
    

La fiecare pornire a serviciului agentului de înregistrare, un nou fișier de log va fi generat în directorul Log creat la pasul 1.

Conținutul logurilor agentului de înregistrare

Logurile generate de agentul de înregistrare vor arăta astfel:

 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
16-06-25 14:49:02.604 [6364] TRACE Console.infoSystem System directory: C:\Windows\system32
16-06-25 14:49:02.604 [6364] TRACE Console.infoSystem Windows directory: C:\Windows
16-06-25 14:49:02.604 [6364] TRACE Console.infoSystem Windows temporary directory: C:\Windows\TEMP\
16-06-25 14:49:02.605 [6364] TRACE Console.infoSystem User profile directory: C:\Windows\system32\config\systemprofile
16-06-25 14:49:02.605 [6364] TRACE Console.infoSystem Current directory: C:\Windows\system32
16-06-25 14:49:02.605 [6364] TRACE Console.infoSystem Application Data directory: C:\Windows\system32\config\systemprofile\AppData\Roaming
16-06-25 14:49:02.606 [6364] TRACE Console.infoSystem Command line: C:\Program Files (x86)\Systancia\Safe\IpDivaCareSupervisor.exe
16-06-25 14:49:02.606 [6364] TRACE Console.infoSystem Current exe directory: C:/Program Files (x86)/Systancia/Safe/
16-06-25 14:49:02.606 [6364] TRACE Console.infoSystem Root directory: C:/Program Files (x86)/Systancia/
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Microsoft Windows NT family
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Service Pack 0.0
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem OEM ID: 0
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Number of Processors: 8
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Page size: 4096
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Processor Type: 586
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Active processor mask: 255
16-06-25 14:49:02.608 [6364] TRACE Console.infoSystem Username: Système
16-06-25 14:49:02.608 [6364] TRACE Console.infoSystem -----------------------------------
16-06-25 14:49:02.609 [4620] TRACE main.run Loaded 1 gateways from file C:/Program Files (x86)/Systancia/Safe/gateways.xml
16-06-25 14:49:02.610 [4620] ERROR main.run Error loading public keys. boost::filesystem::directory_iterator::construct: Le fichier spécifié est introuvable [system:2]: "C:/Program Files (x86)/Systancia/pubkeys"
16-06-25 14:49:02.610 [4620] TRACE main.wtssessionchange Copying C:/Program Files (x86)/Systancia/Safe/CareInit.exe to C:/Windows/system32/CareInit.exe
16-06-25 14:49:12.298 [6364] TRACE main.wtssessionchange Session logon or connect :6 event:3
16-06-25 14:49:12.299 [6364] TRACE main.wtssessionchange
16-06-25 14:49:13.301 [6364] TRACE main.wtssessionchange Session logon or connect :6 event:5
16-06-25 14:49:13.303 [6364] TRACE main.wtssessionchange cyberelements_user
16-06-25 14:49:13.319 [6364] TRACE wtssessionchange.wtssessionchange 17 bytes written
16-06-25 14:49:13.319 [6364] TRACE wtssessionchange.wtssessionchange Opened VC clr
16-06-25 14:49:13.371 [6364] TRACE main.wtssessionchange Recording server retrieved via VC clr:my-edge-gateway.domain.local
16-06-25 14:49:13.371 [6364] TRACE main.wtssessionchange care password :K5efPBwVM2cIU0LaYQucZp0FV19nRIE5f5VYoBZz6EqlZOxNGM
16-06-25 14:49:13.371 [6364] TRACE SelectConfig.autoconf poll() is not supported on this platform, using select()
16-06-25 14:49:13.418 [6364] TRACE main.getNetFilterRulesInformation Filter not enabled
16-06-25 14:49:13.419 [6364] TRACE main.getNetFilterRulesInformation FALSE
16-06-25 14:49:13.419 [6364] ERROR main.getNetFilterRulesInformation No public key configured. Cannot verify net filtering rules.
16-06-25 14:49:13.419 [6364] TRACE Socket.incrCounters 0 UDP, 0 TCP, 1 Objs
16-06-25 14:49:13.421 [6364] TRACE main.createRecorderProcess launching whith password :K5efPBwVM2cIU0LaYQucZp0FV19nRIE5f5VYoBZz6EqlZOxNGM
16-06-25 14:49:26.664 [4620] TRACE main.createRecorderProcess Calling logoff.exe 6
16-06-25 14:49:26.990 [6364] TRACE main.wtssessionchange User DOMAIN\cyberelements_user has no other session. Dropping network filter rules
16-06-25 14:49:26.990 [6364] TRACE main.wtssessionchange Session logoff or disconnect :6 event:6
16-06-25 14:49:27.331 [6364] TRACE main.wtssessionchange Session logoff or disconnect :6 event:4
16-06-25 14:49:38.964 [6364] TRACE main.wtssessionchange Session logon or connect :7 event:3
16-06-25 14:49:38.965 [6364] TRACE main.wtssessionchange
16-06-25 14:49:40.75 [6364] TRACE main.wtssessionchange Session logon or connect :7 event:5
16-06-25 14:49:40.76 [6364] TRACE main.wtssessionchange cyberelements_user
16-06-25 14:49:40.178 [6364] TRACE wtssessionchange.wtssessionchange WTSVirtualChannelOpenEx failure.31 Not a Cleanroom session, or the client has no support for the clr virtual channel
16-06-25 14:49:40.179 [6364] TRACE main.wtssessionchange prog :
16-06-25 14:49:40.185 [6364] TRACE main.createRecorderProcess User groups :DOMAIN\Utilisateurs du domaine domain.local\Utilisateurs du domaine \Tout le monde domain.local\Tout le monde BUILTIN\Utilisateurs BUILTIN\Utilisateurs du Bureau à distance AUTORITE NT\REMOTE INTERACTIVE LOGON AUTORITE NT\INTERACTIF AUTORITE NT\Utilisateurs authentifiés domain.local\LOCAL DOMAIN\cyberelements_users domain.local\cyberelements_users 
16-06-25 14:49:40.186 [6364] TRACE getDirectRecordInformation.getDirectRecordInformation gateways: my-edge-gateway.domain.local
16-06-25 14:49:40.199 [6364] TRACE SecChannelClient.ClientCreateCredentials looking for a certificate with name containing:my-rds-server
16-06-25 14:49:40.199 [6364] TRACE SecChannelClient.ClientCreateCredentials looking for a certificate with name containing:my-rds-server.domain.local in the local machine store
16-06-25 14:49:40.201 [6364] TRACE SecChannelClient.ClientCreateCredentials certificate subject:C=FR, S=Grand-Est, L=Sausheim, O=Systancia, CN=my-rds-server.domain.local
16-06-25 14:49:40.201 [6364] TRACE SecChannelClient.ClientCreateCredentials certificate issuer:C=FR, S=Grand-Est, L=Sausheim, O=Systancia, CN=SUB-CA
16-06-25 14:49:40.404 [6364] TRACE Socket.incrCounters 0 UDP, 0 TCP, 1 Objs
16-06-25 14:49:40.404 [6364] TRACE main.createRecorderProcess Net filter enabled
16-06-25 14:49:40.426 [3948] TRACE CleanroomNetFilter.addRule User DOMAIN\cyberelements_user Remote address: 168427818 (10.10.1.42) Remote port: 443 Protocol condition: TCP
16-06-25 14:49:40.427 [3948] TRACE CleanroomNetFilter.addRule User DOMAIN\cyberelements_user Remote address: 168432641 (10.10.20.1) Remote port: 53 Protocol condition: UDP
16-06-25 14:49:40.428 [6364] TRACE CleanroomNetFilter.addRule User DOMAIN\cyberelements_user Application: C:/Program Files (x86)/Systancia/Safe/IpdivaCareRecorder.exe Remote address: 168427791 (10.10.1.15) Remote port: 8443 Protocol condition: TCP
16-06-25 14:49:40.430 [6364] TRACE main.createRecorderProcess launching whith password :DIRECT_33fRBYAwVDEKs8n3bGFwlIgKYd39C2Ubcl4pkLLC0YAouL4Gml
16-06-25 14:49:48.690 [4620] TRACE main.createRecorderProcess Calling logoff.exe 7
16-06-25 14:49:50.13 [6364] TRACE main.wtssessionchange User DOMAIN\cyberelements_user has no other session. Dropping network filter rules
16-06-25 14:49:50.13 [6364] TRACE main.wtssessionchange Session logoff or disconnect :7 event:6
16-06-25 14:49:50.379 [6364] TRACE main.wtssessionchange Session logoff or disconnect :7 event:4
16-06-25 14:49:54.658 [6364] TRACE main.wtssessionchange Removing C:/Windows/system32/CareInit.exe
Inițializarea agentului de înregistrare (liniile 1-21)

Atunci când agentul de înregistrare este inițializat (liniile 1-18), se înregistrează diverse informații despre sistem.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
16-06-25 14:49:02.604 [6364] TRACE Console.infoSystem System directory: C:\Windows\system32
16-06-25 14:49:02.604 [6364] TRACE Console.infoSystem Windows directory: C:\Windows
16-06-25 14:49:02.604 [6364] TRACE Console.infoSystem Windows temporary directory: C:\Windows\TEMP\
16-06-25 14:49:02.605 [6364] TRACE Console.infoSystem User profile directory: C:\Windows\system32\config\systemprofile
16-06-25 14:49:02.605 [6364] TRACE Console.infoSystem Current directory: C:\Windows\system32
16-06-25 14:49:02.605 [6364] TRACE Console.infoSystem Application Data directory: C:\Windows\system32\config\systemprofile\AppData\Roaming
16-06-25 14:49:02.606 [6364] TRACE Console.infoSystem Command line: C:\Program Files (x86)\Systancia\Safe\IpDivaCareSupervisor.exe
16-06-25 14:49:02.606 [6364] TRACE Console.infoSystem Current exe directory: C:/Program Files (x86)/Systancia/Safe/
16-06-25 14:49:02.606 [6364] TRACE Console.infoSystem Root directory: C:/Program Files (x86)/Systancia/
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Microsoft Windows NT family
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Service Pack 0.0
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem OEM ID: 0
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Number of Processors: 8
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Page size: 4096
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Processor Type: 586
16-06-25 14:49:02.607 [6364] TRACE Console.infoSystem Active processor mask: 255
16-06-25 14:49:02.608 [6364] TRACE Console.infoSystem Username: Système
16-06-25 14:49:02.608 [6364] TRACE Console.infoSystem -----------------------------------

Linia 19 specifică numărul de Edge Gateway găsite în fișierul gateways.xml pentru funcționarea în mod direct.

19
16-06-25 14:49:02.609 [4620] TRACE main.run Loaded 1 gateways from file C:/Program Files (x86)/Systancia/Safe/gateways.xml

Linia 20 indică o problemă de încărcare a cheilor într-un director inexistent. Este vorba despre o funcție veche care nu afectează funcționarea generală a agentului. Acest log de eroare poate fi, prin urmare, ignorat.

20
16-06-25 14:49:02.610 [4620] ERROR main.run Error loading public keys. boost::filesystem::directory_iterator::construct: Le fichier spécifié est introuvable [system:2]: "C:/Program Files (x86)/Systancia/pubkeys"

Linia 21 specifică acțiunea de copiere a executabilului CareInit.exe în System32, pentru a acoperi cazurile în care o aplicație RDP cu agent este lansată de pe o mașină macOS sau Ubuntu.
În această situație, conexiunea la server solicită executarea CareInit.exe ca program de pornire.

21
16-06-25 14:49:02.610 [4620] TRACE main.wtssessionchange Copying C:/Program Files (x86)/Systancia/Safe/CareInit.exe to C:/Windows/system32/CareInit.exe
Conectarea unei aplicații RDP sau RDP HTML5 cu agent (liniile 22-39)

Atunci când este detectată o nouă sesiune RDP, se scriu următoarele loguri, care indică detectarea noii sesiuni RDP și consemnează numele utilizatorului care s-a conectat:

22
23
24
25
16-06-25 14:49:12.298 [6364] TRACE main.wtssessionchange Session logon or connect :6 event:3
16-06-25 14:49:12.299 [6364] TRACE main.wtssessionchange
16-06-25 14:49:13.301 [6364] TRACE main.wtssessionchange Session logon or connect :6 event:5
16-06-25 14:49:13.303 [6364] TRACE main.wtssessionchange cyberelements_user

În logurile de mai sus, utilizatorul care s-a conectat prin RDP este cyberelements_user.

La lansarea unei aplicații RDP sau RDP HTML5 cu agent, se creează un canal virtual RDP specific, pentru a trimite agentului de înregistrare adresa de conectare la Edge Gateway și parola unică de conectare la serviciul de înregistrare al Edge Gateway.
Aceasta indică două lucruri:

  1. Agentul de înregistrare a detectat că este vorba despre o conexiune RDP inițiată de CyberElements Bastion, prin urmare nu trebuie să trateze sesiunea ca un acces direct.
  2. Agentul de înregistrare a putut obține adresa Edge Gateway către care trebuie să trimită înregistrările video și evenimentele.

Aceste informații corespundeau liniilor 27-29, unde, în exemplu, agentul de înregistrare a obținut adresa de conectare la Edge Gateway (my-edge-gateway.domain.local) și o parolă de unică folosință (K5efPBwVM2cIU0LaYQucZp0FV19nRIE5f5VYoBZz6EqlZOxNGM):

29
30
31
16-06-25 14:49:13.319 [6364] TRACE wtssessionchange.wtssessionchange Opened VC clr
16-06-25 14:49:13.371 [6364] TRACE main.wtssessionchange Recording server retrieved via VC clr:my-edge-gateway.domain.local
16-06-25 14:49:13.371 [6364] TRACE main.wtssessionchange care password :K5efPBwVM2cIU0LaYQucZp0FV19nRIE5f5VYoBZz6EqlZOxNGM

Urmează apoi logurile privind aplicarea regulilor de filtrare a rețelei, care sunt detaliate în altă secțiune informativă mai jos în pagină.

Un log indică momentul în care agentul de înregistrare inițiază conexiunea cu Edge Gateway și cu ce parolă unică se autentifică.

35
16-06-25 14:49:13.421 [6364] TRACE main.createRecorderProcess launching whith password :K5efPBwVM2cIU0LaYQucZp0FV19nRIE5f5VYoBZz6EqlZOxNGM

În final, atunci când utilizatorul inițiază o deconectare, aceasta este detectată de agentul de înregistrare pentru a încheia înregistrarea și a elimina eventualele reguli de filtrare a rețelei. Aceasta corespunde liniilor 36-39 din fișierul de log al exemplului:

36
37
38
39
16-06-25 14:49:26.664 [4620] TRACE main.createRecorderProcess Calling logoff.exe 6
16-06-25 14:49:26.990 [6364] TRACE main.wtssessionchange User DOMAIN\cyberelements_user has no other session. Dropping network filter rules
16-06-25 14:49:26.990 [6364] TRACE main.wtssessionchange Session logoff or disconnect :6 event:6
16-06-25 14:49:27.331 [6364] TRACE main.wtssessionchange Session logoff or disconnect :6 event:4
Conexiune de acces direct RDP (liniile 40-61)

Atunci când este detectată o nouă sesiune RDP, se scriu următoarele loguri, care indică detectarea noii sesiuni RDP și consemnează numele utilizatorului care s-a conectat:

40
41
42
43
16-06-25 14:49:38.964 [6364] TRACE main.wtssessionchange Session logon or connect :7 event:3
16-06-25 14:49:38.965 [6364] TRACE main.wtssessionchange
16-06-25 14:49:40.75 [6364] TRACE main.wtssessionchange Session logon or connect :7 event:5
16-06-25 14:49:40.76 [6364] TRACE main.wtssessionchange cyberelements_user

În logurile de mai sus, utilizatorul care s-a conectat prin RDP este cyberelements_user.

În timpul unei conexiuni RDP directe, canalul virtual RDP specific pentru executarea aplicațiilor RDP sau RDP HTML5 cu agent nu este utilizat. Agentul de înregistrare concluzionează, prin urmare, că sesiunea deschisă este o sesiune de acces direct.

44
16-06-25 14:49:40.178 [6364] TRACE wtssessionchange.wtssessionchange WTSVirtualChannelOpenEx failure.31 Not a Cleanroom session, or the client has no support for the clr virtual channel

Ca urmare a detectării accesului direct, agentul de înregistrare consemnează diferitele grupuri ale utilizatorului care tocmai s-a conectat:

46
16-06-25 14:49:40.185 [6364] TRACE main.createRecorderProcess User groups :DOMAIN\Utilisateurs du domaine domain.local\Utilisateurs du domaine \Tout le monde domain.local\Tout le monde BUILTIN\Utilisateurs BUILTIN\Utilisateurs du Bureau à distance AUTORITE NT\REMOTE INTERACTIVE LOGON AUTORITE NT\INTERACTIF AUTORITE NT\Utilisateurs authentifiés domain.local\LOCAL DOMAIN\cyberelements_users domain.local\cyberelements_users 

Sfat

Cu aceste informații puteți determina motivele pentru care înregistrările accesului direct nu se declanșează: dacă contractul de acces direct nu autorizează unul dintre grupurile utilizatorului sau dacă numele de domeniu indicat trebuie să fie numele scurt (numele netBIOS) sau numele complet.

Agentul de înregistrare specifică la care Edge Gateway se va putea conecta pentru a încărca înregistrarea sesiunii utilizatorului.
Vă reamintim că acestea sunt Edge Gateway care fac parte din fișierul gateways.xml configurat în timpul configurării agentului de înregistrare.

47
16-06-25 14:49:40.186 [6364] TRACE getDirectRecordInformation.getDirectRecordInformation gateways: my-edge-gateway.domain.local

Urmează certificatul de client pe care agentul de înregistrare îl utilizează pentru a se autentifica la serviciul de înregistrare.
În mod implicit, agentul de înregistrare va căuta un certificat care conține numele serverului RDP în CN-ul său, cu excepția cazului în care a fost definită cheia MachineName.
Agentul de înregistrare specifică apoi certificatul selectat și informațiile despre autoritatea de certificare care l-a generat.

48
49
50
51
16-06-25 14:49:40.199 [6364] TRACE SecChannelClient.ClientCreateCredentials looking for a certificate with name containing:my-rds-server
16-06-25 14:49:40.199 [6364] TRACE SecChannelClient.ClientCreateCredentials looking for a certificate with name containing:my-rds-server.domain.local in the local machine store
16-06-25 14:49:40.201 [6364] TRACE SecChannelClient.ClientCreateCredentials certificate subject:C=FR, S=Grand-Est, L=Sausheim, O=Systancia, CN=my-rds-server.domain.local
16-06-25 14:49:40.201 [6364] TRACE SecChannelClient.ClientCreateCredentials certificate issuer:C=FR, S=Grand-Est, L=Sausheim, O=Systancia, CN=SUB-CA

În exemplul de mai sus, agentul de înregistrare a căutat un certificat care conține my-rds-server și a găsit unul cu CN-ul my-rds-server.domain.local, emis pentru autoritatea de certificare SUB-CA.

Urmează apoi logurile privind aplicarea regulilor de filtrare a rețelei, care sunt detaliate în altă secțiune informativă mai jos în pagină.

Un log indică momentul în care agentul de înregistrare inițiază conexiunea cu Edge Gateway și cu ce parolă unică se autentifică.

57
16-06-25 14:49:40.430 [6364] TRACE main.createRecorderProcess launching whith password :DIRECT_33fRBYAwVDEKs8n3bGFwlIgKYd39C2Ubcl4pkLLC0YAouL4Gml

În final, atunci când utilizatorul inițiază o deconectare, aceasta este detectată de agentul de înregistrare pentru a încheia înregistrarea și a elimina eventualele reguli de filtrare a rețelei. Aceasta corespunde liniilor 58-61 din fișierul de log al exemplului:

58
59
60
61
16-06-25 14:49:48.690 [4620] TRACE main.createRecorderProcess Calling logoff.exe 7
16-06-25 14:49:50.13 [6364] TRACE main.wtssessionchange User DOMAIN\cyberelements_user has no other session. Dropping network filter rules
16-06-25 14:49:50.13 [6364] TRACE main.wtssessionchange Session logoff or disconnect :7 event:6
16-06-25 14:49:50.379 [6364] TRACE main.wtssessionchange Session logoff or disconnect :7 event:4
Aplicarea regulilor de filtrare a rețelei (liniile 31 și 53-56)

Pentru fiecare sesiune detectată de agentul de înregistrare, acesta va determina dacă este necesar să aplice reguli de filtrare a rețelei sesiunii utilizatorului.

Dacă nu trebuie aplicată nicio regulă de filtrare a rețelei, agentul de înregistrare va indica Filter not enabled.

31
16-06-25 14:49:13.418 [6364] TRACE main.getNetFilterRulesInformation Filter not enabled

Dacă trebuie aplicate reguli de filtrare a rețelei, va apărea mesajul Net filter enabled.
După această linie de activare a filtrării, se indică fiecare dintre filtrele aplicate, unul pe linie:

53
54
55
56
16-06-25 14:49:40.404 [6364] TRACE main.createRecorderProcess Net filter enabled
16-06-25 14:49:40.426 [3948] TRACE CleanroomNetFilter.addRule User DOMAIN\cyberelements_user Remote address: 168427818 (10.10.1.42) Remote port: 443 Protocol condition: TCP
16-06-25 14:49:40.427 [3948] TRACE CleanroomNetFilter.addRule User DOMAIN\cyberelements_user Remote address: 168432641 (10.10.20.1) Remote port: 53 Protocol condition: UDP
16-06-25 14:49:40.428 [6364] TRACE CleanroomNetFilter.addRule User DOMAIN\cyberelements_user Application: C:/Program Files (x86)/Systancia/Safe/IpdivaCareRecorder.exe Remote address: 168427791 (10.10.1.15) Remote port: 8443 Protocol condition: TCP

Vă reamintim că, atunci când filtrarea rețelei este activată, comportamentul implicit este blocarea întregului trafic TCP/UDP. Prin urmare, filtrele indicate sunt singurul trafic TCP/UDP autorizat pentru programele care rulează în contextul utilizatorului.
În exemplul de mai sus, sunt permise conexiunile către TCP 10.10.1.42:443 și UDP 10.10.20.1:53. În plus față de aceste două fluxuri autorizate de administrator, este deschis și fluxul de conectare la serviciul de înregistrare, pentru a permite trimiterea înregistrării sesiunii de către programul responsabil de aceasta.

Sfat

Dacă niciun flux nu este autorizat pentru utilizator, vor fi afișate doar liniile care indică faptul că filtrarea este activă și că procesul de înregistrare poate contacta serviciul de înregistrare al Edge Gateway.

Conectarea la serviciul de înregistrare a eșuat

Mai multe probleme pot face ca agentul de înregistrare să nu se poată conecta la serviciul de înregistrare de pe un Edge Gateway.

Prima este o blocare a fluxului de rețea. În acest caz, atunci când agentul de înregistrare încearcă să se conecteze la serviciul de înregistrare, scrie loguri similare acestora:

1
2
3
4
18-06-25 15:29:45.805 [2456] TRACE Socket.connect error during select or socket not writable, rc=0
18-06-25 15:29:45.805 [2456] TRACE Socket.raise error not registered: 0
18-06-25 15:29:45.809 [2456] ERROR main.getDirectRecordInformation Could not connect to gateway my-edge-gateway.domain.local Exception :ESocket:errors.cpp:242
18-06-25 15:29:45.809 [2456] ERROR main.getDirectRecordInformation No gateway available

În acest exemplu, linia 1 indică faptul că fluxul nu a putut fi inițiat, în timp ce linia 3 precizează Edge Gateway în cauză și eșecul conexiunii (observați de asemenea numărul 242 de la sfârșitul liniei 3, caracteristic acestui tip de problemă).

A doua problemă care poate fi întâlnită este incapacitatea agentului de înregistrare și, prin extensie, a serverului RDP, de a rezolva numele Edge Gateway:

1
2
3
18-06-25 15:37:07.539 [2456] ERROR Socket.DNSLookup getaddrinfo() Hôte inconnu. 
18-06-25 15:37:07.539 [2456] ERROR main.getNetFilterRulesInformation Could not retrieve netfilter rule with gateway wrong-dns-edge-gateway.domain.local Exception :ESocketLookupFailed:socket2.cpp:232
18-06-25 15:37:07.539 [2456] ERROR main.getNetFilterRulesInformation The gateway may need an upgrade

În acest exemplu, linia 1 confirmă problema de rezoluție DNS a numelui Edge Gateway.
A doua linie precizează eșecul conexiunii și numele Edge Gateway. Observați că linia se termină cu numărul 232 atunci când există un eșec de rezoluție DNS.

A treia problemă care poate apărea este o conexiune la un serviciu care nu este un serviciu de înregistrare, de exemplu un server web care ascultă pe portul 8443. În acest caz, se obțin următoarele loguri:

1
2
3
18-06-25 15:38:33.607 [2456] TRACE IO.read problem when read data
18-06-25 15:38:33.608 [2456] ERROR main.getNetFilterRulesInformation Could not retrieve netfilter rule with gateway wrong-server.domain.local Exception :IOException:io.cpp:140
18-06-25 15:38:33.608 [2456] ERROR main.getNetFilterRulesInformation The gateway may need an upgrade

Linia 1 indică o eroare privind datele schimbate, linia 2 confirmă problema de conexiune și precizează eroarea 140 la sfârșitul liniei.

Niciun contract de acces direct nu permite declanșarea înregistrării sesiunii directe.

În accesul direct, nu toți utilizatorii trebuie neapărat să fie înregistrați. Dacă este cazul, se obțin următoarele loguri:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
16-06-25 14:49:38.964 [6364] TRACE main.wtssessionchange Session logon or connect :7 event:3
16-06-25 14:49:38.965 [6364] TRACE main.wtssessionchange
16-06-25 14:49:40.75 [6364] TRACE main.wtssessionchange Session logon or connect :7 event:5
16-06-25 14:49:40.76 [6364] TRACE main.wtssessionchange cyberelements_user
16-06-25 14:49:40.178 [6364] TRACE wtssessionchange.wtssessionchange WTSVirtualChannelOpenEx failure.31 Not a Cleanroom session, or the client has no support for the clr virtual channel
16-06-25 14:49:40.179 [6364] TRACE main.wtssessionchange prog :
16-06-25 14:49:40.185 [6364] TRACE main.createRecorderProcess User groups :DOMAIN\Utilisateurs du domaine domain.local\Utilisateurs du domaine \Tout le monde domain.local\Tout le monde BUILTIN\Utilisateurs BUILTIN\Utilisateurs du Bureau à distance AUTORITE NT\REMOTE INTERACTIVE LOGON AUTORITE NT\INTERACTIF AUTORITE NT\Utilisateurs authentifiés domain.local\LOCAL DOMAIN\cyberelements_users domain.local\cyberelements_users 
16-06-25 14:49:40.186 [6364] TRACE getDirectRecordInformation.getDirectRecordInformation gateways: my-edge-gateway.domain.local
16-06-25 14:49:40.199 [6364] TRACE SecChannelClient.ClientCreateCredentials looking for a certificate with name containing:my-rds-server
16-06-25 14:49:40.199 [6364] TRACE SecChannelClient.ClientCreateCredentials looking for a certificate with name containing:my-rds-server.domain.local in the local machine store
16-06-25 14:49:40.201 [6364] TRACE SecChannelClient.ClientCreateCredentials certificate subject:C=FR, S=Grand-Est, L=Sausheim, O=Systancia, CN=my-rds-server.domain.local
16-06-25 14:49:40.201 [6364] TRACE SecChannelClient.ClientCreateCredentials certificate issuer:C=FR, S=Grand-Est, L=Sausheim, O=Systancia, CN=SUB-CA
16-06-25 14:49:40.404 [6364] TRACE Socket.incrCounters 0 UDP, 0 TCP, 1 Objs
16-06-25 14:49:40.406 [6364] TRACE main.createRecorderProcess no need to record

Logurile obținute încep ca în orice sesiune directă capturată de agentul de înregistrare. Totuși, odată stabilită conexiunea la serviciul de înregistrare al Edge Gateway, acesta returnează agentului de înregistrare informația că utilizatorul care s-a conectat nu este supus înregistrării.
Agentul de înregistrare indică prin urmare că nu este necesar să înregistreze sesiunea utilizatorului (linia 14 din exemplul de mai sus).

Linia 7 enumeră toate grupurile obținute de agentul de înregistrare pentru utilizatorul care s-a conectat.
Aceste informații vă permit să determinați motivele pentru care înregistrările accesului direct nu se declanșează: dacă contractul de acces direct nu autorizează unul dintre grupurile utilizatorului sau dacă numele de domeniu indicat trebuie să fie numele scurt (numele netBIOS) sau numele complet.