Gå till innehållet

Installera och använda inspelningsagenten för Windows

  • Installation


    Installation och utrullning av Windows-inspelningsagenten.

    Installera

  • Konfiguration


    Konfigurera Windows-inspelningsagenten så att den fungerar med RDP- och HTML5 RDP-applikationer och/eller med direktåtkomst.

    Konfigurera

Windows-inspelningsagenten används av CyberElements för att lägga till nya funktioner för RDP-sessioner:

  • Möjlighet att filtrera de TCP- och UDP-flöden som användaren har åtkomst till
  • Möjlighet att utlösa sessionsinspelning för varje användare som ansluter till servern utan att gå via användarportalen eller Desktop-klienten (funktionen direct access)

Dessutom fångas ytterligare händelser under användarsessionerna:

  • Fönster öppnas
  • Fönster stängs
  • Program startas
  • Program stängs
  • Urklippets innehåll
  • Användaraktivitet

Förutsättningar

Klientkompatibilitet

För att ta reda på om agenten är kompatibel med de olika operativsystemen Microsoft Windows, se kompatibilitetsmatrisen.

Inspelningsagenten kräver några förutsättningar för att fungera korrekt. Några av dem gäller endast inspelningsfunktionen med agent för RDP- och HTML5 RDP-applikationer, medan andra gäller direktåtkomst med agent.

Allmänna förutsättningar

Inspelningsagenten skickar inspelningen av användarsessionen tillbaka till CyberElements genom att ansluta till Edge Gateway på porten TCP 8443. Detta kräver att nätverksflödet mellan de två maskinerna är öppet.

För att skicka inspelningen tillbaka till Edge Gateway på ett säkert sätt upprättar inspelningsagenten en säker anslutning med denna via TLS. TLS bygger på användning av certifikat, och följande villkor måste vara uppfyllda för att anslutningen ska betraktas som tillförlitlig och säker:

  • Serverns certifikat, i detta fall den aktuella Edge Gateway, får inte ha gått ut (senaste giltighetsdatum).
  • Serverns certifikat, i detta fall den aktuella Edge Gateway, måste vara utfärdat av en certifikatutfärdare som erkänns som tillförlitlig av den maskin där inspelningsagenten är installerad.

    Ytterligare information

    Servern där inspelningsagenten är installerad måste minst ha rotcertifikatutfärdaren (CA) för inspelningsserverns certifikat i sitt lokala arkiv över betrodda certifikatutfärdare.

    Det är därför nödvändigt att:

    1. Hämta rot-CA för certifikatet från inspelningstjänsten på Edge Gateway.
    2. Ladda upp denna CA till servern där inspelningsagenten är installerad.
    3. Installera CA i certifikatarkivet ”Trusted Root Certification Authorities” på den lokala maskinen.
    Exempel med PowerShell

    Du kan enkelt importera ett certifikat i formatet .cer via PowerShell.
    Öppna för detta en PowerShell-terminal som administratör för maskinen och kör följande kommando:

    1
    Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"
    
    Byt ut <PATH_TO_CERT> mot sökvägen till certifikatfilen.

    Exempel med PowerShell för Systancia-certifikatet utan att skicka filer

    I det här exemplet installeras Systancias rot-CA, som används som standard i CyberElements.

    Det är också möjligt att importera certifikatet utan att behöva skicka eller ladda ned filen till maskinen där inspelningsagenten är installerad.
    Öppna för detta en PowerShell-terminal som administratör för maskinen och kör följande kommandon:

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

    För att använda den här metoden med en annan CA, ändra värdet på variabeln base64Cert till det base64-kodade certifikat du väljer.

  • Serverns certifikat, i detta fall den aktuella Edge Gateway, får inte vara återkallat.

  • Maskinen där inspelningsagenten är installerad måste kunna kontakta servern, i detta fall den aktuella Edge Gateway, med ett DNS-namn eller en IP-adress som täcks av serverns certifikat via dess Common Name (CN).

Särskilda förutsättningar för RDP-applikationer med agent som används på en användararbetsstation med macOS eller Ubuntu

Varning

Följande förutsättningar behövs endast om användaren startar en RDP-applikation med agent och dennes arbetsstation inte är ett Windows-system (macOS eller Ubuntu).

Om användarna av CyberElements uteslutande har arbetsstationer med Windows eller annars uteslutande använder HTML5 RDP-applikationer kan följande förutsättningar bortses från.

Följande registernycklar krävs på målservern där inspelningsagenten är utrullad.

Först inaktiverar den första nyckeln listan över tillåtna startprogram (Microsoft-dokument). Som standard tillåter en Windows-maskin endast explorer.exe som startprogram.

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

Om maskinen inte är en RDS-server rekommenderas det alltid att tillämpa följande registernyckel, så att inspelningsagenten kan öppnas som startprogram:

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

Särskilda krav för direktåtkomst

Funktionen direktåtkomst

Funktionen direktåtkomst gör det möjligt att utlösa en inspelning av användarens session vid RDP- eller konsolåtkomst (fysisk anslutning till maskinen eller via hypervisorns konsolläge) som inte går direkt via CyberElements.

Om användaren har behörighet att komma åt servern spelas dennes session in. Om så inte är fallet kopplas användaren som standard bort.

För att inspelningsagenten ska kunna arbeta i läget direktåtkomst krävs ett x509-certifikat. Detta certifikat måste uppfylla följande krav:

  • Certifikatet måste fortfarande vara giltigt (giltighetstiden har inte gått ut).
  • Certifikatet måste vara av typen (fältet för utökad nyckelanvändning) client authentication (OID: 1.3.6.1.5.5.7.3.2).
  • Certifikatet får inte vara återkallat.
  • De begränsningar som följer av OpenSSL security level 2 innebär att:
    • Certifikatet måste ha en privat nyckel på minst 2048 bitar med krypteringsalgoritmerna RSA, DSA och DH; för nycklar med elliptiska kurvor (ECC) måste de vara minst 224 bitar.
    • Certifikatets signatur får inte vara MD5 eller SHA-1 (SHA-512 föredras).
  • Inspelningsservern använder fältet Common Name (CN) för att identifiera certifikatet och därmed maskinen där en direkt inspelning utlöses. Detta fält måste vara ifyllt.

Använda inspelningsagenten med RDP- och HTML5 RDP-applikationer

Aktivera användningen av inspelningsagenten

Om inspelningsagenten är korrekt installerad och konfigurerad aktiveras användningen av agenten i den berörda RDP- eller HTML5 RDP-applikationen:

Tre parametrar är inblandade i mekanismen:

Without agent mode
Detta alternativ måste förbli omarkerat för att inspelningsagenten ska fungera.
Disconnect session if the recorder is not working
Detta aktiverar eller inaktiverar en säkerhetsfunktion för det fall att sessionsinspelningen misslyckas av olika skäl. Om inspelningen inte kan utföras avslutas användarens RDP- eller HTML5 RDP-session. Vi rekommenderar att aktivera denna inställning för att förhindra användaranslutningar utan inspelning (till exempel om inspelningsagenten fungerar felaktigt).
Time before disconnection
Om föregående alternativ är aktiverat kan du med detta alternativ ställa in tiden i sekunder innan frånkopplingen utförs. Standardinställningen är 30 sekunder, men den kan minskas för att öka responsen eller ökas om det till exempel är känt att användarnas sessioner är långa.

Begränsa lateral rörelse

Att begränsa lateral rörelse är en funktion som begränsar nätverksanslutningarna för användarsessionen. Funktionen blockerar som standard all TCP/UDP-trafik inom användarsessionen, men administratörerna kan öppna olika åtkomstflöden.

Begränsningarna konfigureras i access policy och kan därför variera beroende på användare och ha olika inställningar för en och samma användare (genom att flera åtkomstpolicyer tilldelas denne). För en användare med flera åtkomstpolicyer för samma applikation gäller nätverksbegränsningarna för den mest tillåtande åtkomsten.

När en RDP- eller HTML5 RDP-applikation med agent är tillåten i en åtkomstpolicy blir fliken Network connections tillgänglig. Där kan du aktivera filtreringen och ange vilka nätverk som är tillåtna för användaren:

Information

Ändringar av dessa inställningar tillämpas för användarna först nästa gång de använder den berörda RDP- eller HTML5 RDP-applikationen.

Konfigurera inspelningarna av direktåtkomst med agent

Deklarera de servrar som förberetts för direktåtkomst med agent

För att deklarera en server som ska arbeta i läget direktåtkomst med agent måste du först öppna modulen Machines management:

Klicka därefter på knappen för att lägga till en ny server. Ett nytt fönster visas där den nya servern konfigureras:

Name
Maskinens namn så som det visas i konsolen CyberElements.
Notification text
Aviseringsmeddelande som användarna får när de ansluter till servern.
Record sessions as videos
Aktiverar eller inaktiverar videoinspelning av sessionen. Om alternativet är inaktiverat fångas och registreras endast sessionens händelser.
Check video integrity at playback
När videoarkivet skapas beräknas och lagras en hash (SHA-256) av videofilen. När administratörerna visar arkivet kontrolleras att hashen inte har ändrats. Om den har ändrats skickas ett larmmeddelande till administratören, eftersom videoinspelningen sannolikt har ändrats (till exempel ersatts eller fått sekvenser bortklippta).
Allow manual removal of archives
Tillåt eller neka administratörerna möjligheten att ta bort videoarkiven.

Information

De arkiv som skapas behåller de inställningar som gällde vid inspelningstillfället. En ändring av denna inställning påverkar endast nya arkiv.
Delete archives automatically
Inställning av automatisk borttagning av arkiven efter att ett bestämt antal dagar har överskridits.

Information

De arkiv som skapas behåller de inställningar som gällde vid inspelningstillfället. En ändring av denna inställning påverkar endast nya arkiv.
Use agent mode
Alternativ som måste vara aktiverat för att servern ska ha mekanismen för direktåtkomst med aktiv agent.
Host (CN of the certificate)
Angivelse av CN för det certifikat som inspelningsagenten använder för att autentisera sig mot Edge Gateway. Detta motsvarar inställningarna för maskincertifikatet.
Use no agent
Om en parameter inte är användbar för det önskade driftläget kan den lämnas omarkerad.

Konfigurera rättigheterna för direktåtkomst med agent

Att konfigurera rättigheterna för direktåtkomst med agent liknar konfigurationen av åtkomstpolicyer för applikationer. Nya rättigheter deklareras och befintliga rättigheter ändras via Direct recording configuration:

Du kan lägga till en ny konfiguration genom att klicka på knappen .

De olika flikarna med inställningar liknar dem för applikationernas åtkomstpolicyer, med undantag för fliken för grupper, som gör det möjligt att lägga till en grupp manuellt:

När du har klickat på knappen för manuellt tillägg visas ett nytt fönster för att ange gruppens namn och dess domän:

Tips

Den här funktionen är särskilt användbar om du vill lägga till en lokal grupp eller en grupp i en annan OU än den som angetts i konfigurationen av LDAP-domänen.

De övriga flikarna är:

  • Sites: placerar konfigurationen på ett eller flera siter och tillåter därigenom inspelningsagenten att ansluta till en eller flera Edge Gateways som är kopplade till de tillåtna siterna.
  • Machines: lägger till de RDP-servrar som deklarerats i föregående kapitel.
  • Alerts: kopplar larm till konfigurationen.
  • Network connections: begränsar användarnas laterala rörelser under deras sessioner, med samma funktion som begränsningen av laterala rörelser för RDP- och HTML5 RDP-applikationer.

Loggar för inspelningsagenten

Aktivera loggarna för inspelningsagenten

Varning!

Att aktivera loggarna kräver en omstart av tjänsten för inspelningsagenten, vilket avbryter de sessionsinspelningar som pågår på servern.
Beroende på inställningarna för nyckeln LogOffOnFailure kopplas användaren antingen bort eller förblir inloggad.

För att aktivera loggarna för inspelningsagenten måste du utföra följande steg:

  1. Skapa en katalog med namnet Log i agentens installationskatalog (som standard C:\Program Files (x86)\Systancia\cyberelements).

  2. Starta om tjänsten CleanroomAgent, till exempel med följande PowerShell-kommando som administratör:

    1
    Restart-Service -Name 'CleanroomAgent'
    

Varje gång tjänsten för inspelningsagenten startas skapas en ny loggfil i den katalog Log som skapades i steg 1.

Innehållet i loggarna för inspelningsagenten

De loggar som inspelningsagenten skapar ser ut så här:

 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
Initiering av inspelningsagenten (rad 1-21)

Vid initieringen av inspelningsagenten (rad 1-18) loggas olika uppgifter om systemet.

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

Rad 19 anger antalet Edge Gateways som hittats i filen gateways.xml för drift i direktläge.

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

Rad 20 anger ett problem med att läsa in nycklar i en katalog som inte finns. Det är en gammal funktion som inte påverkar agentens övergripande drift. Denna felpost kan därför bortses från.

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"

Rad 21 anger åtgärden att kopiera den körbara filen CareInit.exe till System32, för att täcka de fall där en RDP-applikation med agent startas från en macOS- eller Ubuntu-maskin.
I detta fall kräver anslutningen till servern att CareInit.exe körs som startprogram.

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
Anslutning av en HTML5 RDP- eller RDP-applikation med agent (rad 22-39)

När en ny RDP-session upptäcks skrivs följande loggposter, som anger att en ny RDP-session har upptäckts och som registrerar namnet på den användare som loggade in:

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

I loggposterna ovan är det användaren cyberelements_user som har anslutit via RDP.

När en HTML5 RDP- eller RDP-applikation med agent startas skapas en särskild virtuell RDP-kanal för att skicka anslutningsadressen till Edge Gateway och det unika lösenordet för anslutningen till inspelningstjänsten på Edge Gateway till inspelningsagenten.
Detta anger två saker:

  1. Inspelningsagenten har upptäckt att det är en RDP-anslutning som initierats av CyberElements och ska därför inte behandla sessionen som direktåtkomst.
  2. Inspelningsagenten kunde hämta adressen till den Edge Gateway som den ska skicka videoinspelningarna och händelserna till.

Dessa uppgifter motsvarade rad 27-29, där inspelningsagenten i exemplet hämtade anslutningsadressen till Edge Gateway (my-edge-gateway.domain.local) och ett engångslösenord (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

Därefter kommer loggposterna om tillämpningen av nätverksfiltreringsreglerna, som beskrivs närmare i ett annat informationsavsnitt längre ned på sidan.

En loggpost anger när inspelningsagenten upprättar anslutningen med Edge Gateway och vilket unikt lösenord den använder för att autentisera sig.

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

När användaren till sist initierar en frånkoppling fångas den av inspelningsagenten för att avsluta inspelningen och ta bort eventuella nätverksfiltreringsregler. Detta motsvarar rad 36-39 i exempelloggfilen:

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
Anslutning av en direkt RDP-åtkomst (rad 40-61)

När en ny RDP-session upptäcks skrivs följande loggposter, som anger att en ny RDP-session har upptäckts och som registrerar namnet på den användare som loggade in:

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

I loggposterna ovan är det användaren cyberelements_user som har anslutit via RDP.

Vid en direkt RDP-anslutning används inte den särskilda virtuella RDP-kanalen för att köra RDP- eller HTML5 RDP-applikationer med agent. Inspelningsagenten drar därför slutsatsen att den öppnade sessionen är en direktåtkomst.

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

Eftersom en direktåtkomst har upptäckts loggar inspelningsagenten de olika grupperna för den användare som just har anslutit:

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 

Tips

Med dessa uppgifter kan du fastställa varför inspelningarna av direktåtkomst inte utlöses: antingen därför att avtalet för direktåtkomst inte tillåter någon av användarens grupper, eller därför att det angivna domännamnet måste vara kortnamnet (netBIOS-namnet) eller det fullständiga namnet.

Inspelningsagenten anger vilka Edge Gateways den kan ansluta till för att ladda upp inspelningen av användarens session.
Som påminnelse är det de Edge Gateways som ingår i filen gateways.xml som konfigurerades vid konfigurationen av inspelningsagenten.

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

Därefter kommer klientcertifikatet som inspelningsagenten använder för att autentisera sig mot inspelningstjänsten.
Som standard söker inspelningsagenten efter ett certifikat som innehåller namnet på RDP-servern i sitt CN, om inte nyckeln MachineName har definierats.
Inspelningsagenten anger därefter det valda certifikatet och uppgifterna om den certifikatutfärdare som skapade det.

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

I exemplet ovan sökte inspelningsagenten efter ett certifikat som innehåller my-rds-server och hittade ett med CN my-rds-server.domain.local, utfärdat för certifikatutfärdaren SUB-CA.

Därefter kommer loggposterna om tillämpningen av nätverksfiltreringsreglerna, som beskrivs närmare i ett annat informationsavsnitt längre ned på sidan.

En loggpost anger när inspelningsagenten upprättar anslutningen med Edge Gateway och vilket unikt lösenord den använder för att autentisera sig.

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

När användaren till sist initierar en frånkoppling fångas den av inspelningsagenten för att avsluta inspelningen och ta bort eventuella nätverksfiltreringsregler. Detta motsvarar rad 58-61 i exempelloggfilen:

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
Tillämpning av nätverksfiltreringsreglerna (rad 31 och 53-56)

För varje session som inspelningsagenten upptäcker avgör den om det är nödvändigt att tillämpa nätverksfiltreringsregler på användarens session.

Om ingen nätverksfiltreringsregel behöver tillämpas anger inspelningsagenten Filter not enabled.

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

Om nätverksfiltreringsregler behöver tillämpas visas meddelandet Net filter enabled.
Efter denna rad om aktivering av filtreringen anges varje tillämpat filter, ett per rad:

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

Som påminnelse: när nätverksfiltreringen är aktiverad är standardbeteendet att blockera all TCP/UDP-trafik. De angivna filtren är därför den enda TCP/UDP-trafik som är tillåten för de program som körs i användarens kontext.
I exemplet ovan är anslutningarna till TCP 10.10.1.42:443 och UDP 10.10.20.1:53 tillåtna. Utöver dessa två flöden som administratören tillåtit är även anslutningsflödet till inspelningstjänsten öppet, så att det program som ansvarar för det kan skicka tillbaka sessionsinspelningen.

Tips

Om inget flöde är tillåtet för användaren visas endast raderna som anger att filtreringen är aktiv och att inspelningsprocessen kan kontakta inspelningstjänsten på Edge Gateway.

Anslutningen till inspelningstjänsten misslyckades

Flera problem kan göra att inspelningsagenten inte kan ansluta till inspelningstjänsten på en Edge Gateway.

Det första är en blockering av nätverksflödet. När agenten i detta fall försöker ansluta till inspelningstjänsten skriver den loggposter som liknar dessa:

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

I det här exemplet anger rad 1 att flödet inte kunde upprättas, medan rad 3 anger vilken Edge Gateway som berörs och att anslutningen misslyckades (observera också talet 242 i slutet av rad 3, som kännetecknar denna typ av problem).

Det andra problemet som kan uppstå är att inspelningsagenten, och därmed RDP-servern, inte kan slå upp namnet på 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

I det här exemplet bekräftar rad 1 problemet med DNS-uppslagningen av namnet på Edge Gateway.
Den andra raden anger att anslutningen misslyckades och namnet på Edge Gateway. Observera att raden slutar med talet 232 när DNS-uppslagningen misslyckas.

Det tredje problemet som kan uppstå är en anslutning till en tjänst som inte är en inspelningstjänst, till exempel en webbserver som lyssnar på porten 8443. I detta fall erhålls följande loggposter:

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

Rad 1 anger ett fel i de utbytta data, rad 2 bekräftar anslutningsproblemet och anger felet 140 i slutet av raden.

Inget avtal för direktåtkomst tillåter att inspelningen av den direkta sessionen utlöses

Vid direktåtkomst måste inte nödvändigtvis alla användare spelas in. Om så är fallet erhålls följande loggposter:

 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

De loggposter som erhålls börjar som för alla direkta sessioner som inspelningsagenten fångar. När anslutningen till inspelningstjänsten på Edge Gateway har upprättats skickar denna dock tillbaka information till inspelningsagenten om att den användare som anslutit inte omfattas av inspelning.
Inspelningsagenten anger därför att användarens session inte behöver spelas in (rad 14 i exemplet ovan).

Rad 7 listar alla grupper som inspelningsagenten hämtat för den användare som anslutit.
Med dessa uppgifter kan du fastställa varför inspelningarna av direktåtkomst inte utlöses: antingen därför att avtalet för direktåtkomst inte tillåter någon av användarens grupper, eller därför att det angivna domännamnet måste vara kortnamnet (netBIOS-namnet) eller det fullständiga namnet.