Gå til indholdet

Installation og brug af optagelsesagenten til Windows

  • Installation


    Installation og udrulning af Windows-optagelsesagenten.

    Installér

  • Konfiguration


    Konfigurer Windows-optagelsesagenten, så den fungerer med RDP- og HTML5-RDP-applikationer og/eller direkte adgang.

    Konfigurer

Windows-optagelsesagenten bruges af CyberElements Bastion til at tilføje nye funktioner til RDP-sessioner:

  • Mulighed for at filtrere de TCP- og UDP-strømme, som brugeren har adgang til
  • Mulighed for at udløse sessionsoptagelse for enhver bruger, der forbinder til serveren, uden at gå gennem brugerportalen eller Desktop-klienten (funktionen direct access)

Derudover opsamles yderligere hændelser under brugersessionerne:

  • Åbning af vinduer
  • Lukning af vinduer
  • Start af programmer
  • Lukning af programmer
  • Indholdet af udklipsholderen
  • Brugeraktivitet

Forudsætninger

Klientens kompatibilitet

For at få at vide, om agenten er kompatibel med de forskellige Microsoft Windows-operativsystemer, se kompatibilitetsmatrixen.

Optagelsesagenten kræver nogle få forudsætninger for at fungere korrekt. Nogle af dem er kun beregnet til optagelsesfunktionen med agent for RDP- og HTML5-RDP-applikationer, mens andre vedrører direkte adgang med agent.

Generelle forudsætninger

Optagelsesagenten sender optagelsen af brugersessionen tilbage til CyberElements Bastion ved at forbinde til Edge Gateway på port TCP 8443. Dette kræver, at netværkstrafikken mellem de to maskiner er åben.

For at sende optagelsen sikkert tilbage til Edge Gateway opretter optagelsesagenten en sikker forbindelse med denne ved hjælp af TLS. TLS er baseret på brug af certifikater, og følgende betingelser skal være opfyldt, for at forbindelsen kan betragtes som pålidelig og sikker:

  • Serverens certifikat, i dette tilfælde Edge Gateway, må ikke være udløbet (maksimal gyldighedsdato).
  • Serverens certifikat, i dette tilfælde Edge Gateway, skal være udstedt af en certificeringsmyndighed, der anerkendes som troværdig af den maskine, hvor optagelsesagenten er installeret.

    Yderligere oplysninger

    Serveren, hvor optagelsesagenten er installeret, skal som minimum have rodcertificeringsmyndigheden (CA) for optagelsesserverens certifikat i sit lokale lager over troværdige certificeringsmyndigheder.

    Det er derfor nødvendigt at:

    1. Hente rod-CA'en for certifikatet fra optagelsestjenesten på Edge Gateway.
    2. Uploade denne CA til den server, hvor optagelsesagenten er installeret.
    3. Installere CA'en i certifikatlageret ”Trusted Root Certification Authorities” på den lokale maskine.
    Eksempel med PowerShell

    Du kan uden problemer importere et certifikat i formatet .cer via PowerShell.
    Åbn hertil en PowerShell-terminal som administrator på maskinen og kør følgende kommando:

    1
    Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"
    
    Erstat <PATH_TO_CERT> med stien til certifikatfilen.

    Eksempel med PowerShell for Systancia-certifikatet uden at sende filer

    I dette eksempel installeres Systancias rod-CA, som bruges af de CyberElements Bastion-klienter, der anvender certifikater leveret af Systancia.

    Det er også muligt at importere certifikatet uden at skulle sende eller downloade filen til den maskine, hvor optagelsesagenten er installeret.
    Åbn hertil en PowerShell-terminal som administrator på maskinen og kør følgende kommandoer:

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

    For at bruge denne metode med en anden CA skal du ændre værdien af variablen base64Cert til det base64-kodede certifikat, du ønsker.

  • Serverens certifikat, i dette tilfælde Edge Gateway, må ikke være tilbagekaldt.

  • Den maskine, hvor optagelsesagenten er installeret, skal kunne kontakte serveren, i dette tilfælde Edge Gateway, med et DNS-navn eller en IP-adresse, som er dækket af servercertifikatet via dets Common Name (CN).

Særlige forudsætninger for RDP-applikationer med agent, der bruges på en macOS- eller Ubuntu-arbejdsstation

Advarsel

Følgende forudsætninger er kun nødvendige, hvis brugeren starter en RDP-applikation med agent, og brugerens arbejdsstation ikke er Windows (macOS eller Ubuntu).

Hvis brugerne af CyberElements Bastion udelukkende har arbejdsstationer med Windows, eller ellers udelukkende bruger HTML5-RDP-applikationer, kan de følgende forudsætninger ignoreres.

Følgende registreringsdatabasenøgler er påkrævet på den målserver, hvor optagelsesagenten er udrullet.

Først slår den første nøgle listen over godkendte startprogrammer fra (Microsoft-dokument). Som standard tillader en Windows-maskine kun explorer.exe som startprogram.

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

Hvis maskinen ikke er en RDS-server, anbefales det altid at anvende følgende registreringsdatabasenøgle, så optagelsesagenten kan åbnes som startprogram:

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

Særlige krav til direkte adgang

Funktionen direkte adgang

Funktionen direkte adgang giver mulighed for at udløse en optagelse af brugerens session ved RDP- eller konsoladgang (fysisk forbindelse til maskinen eller via hypervisorens konsoltilstand), som ikke går direkte gennem CyberElements Bastion.

Hvis brugeren har tilladelse til at få adgang til serveren, bliver dennes session optaget. Er det ikke tilfældet, bliver brugeren som standard afbrudt.

For at optagelsesagenten kan fungere i tilstanden direkte adgang, kræves et x509-certifikat. Dette certifikat skal opfylde følgende krav:

  • Certifikatet skal fortsat være gyldigt (gyldighedsperioden må ikke være udløbet).
  • Certifikatet skal være af typen (feltet for udvidet nøglebrug) client authentication (OID: 1.3.6.1.5.5.7.3.2).
  • Certifikatet må ikke være tilbagekaldt.
  • Begrænsningerne fra OpenSSL sikkerhedsniveau 2 betyder, at:
    • Certifikatet skal have en privat nøgle på mindst 2048 bit med krypteringerne RSA, DSA og DH; for nøgler med elliptiske kurver (ECC) skal de være på mindst 224 bit.
    • Certifikatets signatur må ikke være MD5 eller SHA-1 (SHA-512 foretrækkes).
  • Optagelsesserveren bruger feltet Common Name (CN) til at identificere certifikatet og dermed den maskine, hvor en direkte optagelse udløses. Dette felt skal være udfyldt.

Brug af optagelsesagenten med RDP- og HTML5-RDP-applikationer

Slå brugen af optagelsesagenten til

Hvis optagelsesagenten er korrekt installeret og konfigureret, slås brugen af agenten til i den ønskede RDP- eller HTML5-RDP-applikation:

Tre parametre indgår i mekanismen:

Without agent mode
Denne indstilling skal forblive umarkeret, for at optagelsesagenten kan fungere.
Disconnect session if the recorder is not working
Dette slår en sikkerhedsfunktion til eller fra, når optagelsen af sessionen mislykkes af forskellige grunde. Hvis optagelsen ikke kan gennemføres, afsluttes brugerens RDP- eller HTML5-RDP-session. Vi anbefaler at slå denne indstilling til for at forhindre brugerforbindelser uden optagelse (for eksempel hvis optagelsesagenten svigter).
Time before disconnection
Hvis den forrige indstilling er slået til, kan du med denne indstilling angive tiden i sekunder, før afbrydelsen gennemføres. Standardindstillingen er 30 sekunder, men den kan sættes ned for at øge reaktionsevnen eller sættes op, hvis man for eksempel ved, at brugernes sessioner er lange.

Begræns laterale bevægelser

Begrænsning af laterale bevægelser er en funktion, der begrænser netværksforbindelserne for brugersessionen. Denne funktion blokerer som standard al TCP/UDP-trafik inden for brugersessionen, men administratorer kan åbne forskellige adgangsstrømme.

Begrænsningerne konfigureres i access policy og kan derfor variere fra bruger til bruger og have forskellige indstillinger for en enkelt bruger (ved at tildele denne flere adgangspolitikker). En bruger med flere adgangspolitikker for samme applikation får netværksbegrænsningerne fra den mest tilladende adgang.

Når en RDP- eller HTML5-RDP-applikation med agent er tilladt i en adgangspolitik, bliver fanen Network connections tilgængelig. Derfra er det muligt at slå filtrering til og angive de netværk, brugeren har adgang til:

Information

Ændringer af disse indstillinger gælder først for brugerne, næste gang de bruger den pågældende RDP- eller HTML5-RDP-applikation.

Konfigurer optagelser af direkte adgang med agent

Deklarer de servere, der er forberedt til direkte adgang med agent

For at deklarere en server, der skal fungere i tilstanden direkte adgang med agent, skal du først åbne modulet Machines management:

Klik derefter på knappen for at tilføje en ny server. Der vises et nyt vindue til konfiguration af den nye server:

Name
Maskinens navn, som det vises i konsollen i CyberElements Bastion.
Notification text
Den notifikation, brugerne modtager, når de forbinder til serveren.
Record sessions as videos
Slår videooptagelse af sessionen til eller fra. Hvis indstillingen er slået fra, opsamles og registreres kun sessionens hændelser.
Check video integrity at playback
Når videoarkivet oprettes, beregnes og gemmes en hash (SHA-256) af videofilen. Når administratorer ser arkivet, kontrolleres det, at hashen ikke er ændret. Hvis den er ændret, sendes der en advarsel til administratoren, da videooptagelsen sandsynligvis er blevet ændret (f.eks. udskiftet eller klippet).
Allow manual removal of archives
Tillader eller nægter administratorer mulighed for at slette videoarkiver.

Information

De arkiver, der genereres, bevarer de indstillinger, der var gældende på optagelsestidspunktet. En ændring af denne indstilling påvirker kun nye arkiver.
Delete archives automatically
Opsætning af automatisk sletning af arkiver, når et bestemt antal dage er overskredet.

Information

De arkiver, der genereres, bevarer de indstillinger, der var gældende på optagelsestidspunktet. En ændring af denne indstilling påvirker kun nye arkiver.
Use agent mode
Indstilling, der skal være slået til, for at serveren har mekanismen for direkte adgang med aktiv agent.
Host (CN of the certificate)
Angivelse af CN'et for det certifikat, som optagelsesagenten bruger til at autentificere sig over for Edge Gateway. Dette svarer til konfigurationen af maskincertifikatet.
Use no agent
Hvis en parameter ikke er nyttig for den ønskede driftstilstand, kan den forblive umarkeret.

Konfiguration af rettigheder til direkte adgang med agent

Konfigurationen af rettigheder til direkte adgang med agent svarer til konfigurationen af adgangspolitikker for applikationer. Nye rettigheder deklareres, og eksisterende rettigheder ændres via Direct recording configuration:

Du kan tilføje en ny konfiguration ved at klikke på knappen .

De forskellige faner med indstillinger svarer til dem for applikationernes adgangspolitikker, bortset fra gruppefanen, som giver dig mulighed for at tilføje en gruppe manuelt:

Når du har klikket på knappen til manuel tilføjelse, vises der et nyt vindue til indtastning af gruppens navn og dens domæne:

Tip

Denne funktion er især nyttig, hvis du vil tilføje en lokal gruppe eller en gruppe i en anden OU end den, der er angivet i konfigurationerne af LDAP-domænet.

De øvrige faner er:

  • Sites: placerer konfigurationen på et eller flere sites og giver dermed optagelsesagenten adgang til at forbinde til et eller flere Edge Gateways, der er tilknyttet de tilladte sites.
  • Machines: tilføjer de RDP-servere, der er deklareret i det forrige kapitel.
  • Alerts: knytter alarmer til konfigurationen.
  • Network connections: begrænser brugernes laterale bevægelser under deres sessioner med samme funktionalitet som begrænsningen af laterale bevægelser i RDP- og HTML5-RDP-applikationer.

Optagelsesagentens logs

Slå optagelsesagentens logs til

Advarsel!

Aktivering af logs kræver en genstart af optagelsesagentens tjeneste, hvilket standser de sessionsoptagelser, der er i gang på serveren.
Afhængigt af indstillingerne for nøglen LogOffOnFailure bliver brugeren enten logget af eller forbliver logget på.

For at slå logning til for optagelsesagenten skal du udføre følgende trin:

  1. Opret en mappe med navnet Log i agentens installationsmappe (som standard C:\Program Files (x86)\Systancia\Safe).

  2. Genstart tjenesten CleanroomAgent, for eksempel med følgende PowerShell-kommando som administrator:

    1
    Restart-Service -Name 'CleanroomAgent'
    

Hver gang optagelsesagentens tjeneste startes, genereres der en ny logfil i mappen Log, der blev oprettet i trin 1.

Indholdet af optagelsesagentens logs

De logs, som optagelsesagenten genererer, ser således ud:

 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
Initialisering af optagelsesagenten (linje 1-21)

Ved initialiseringen af optagelsesagenten (linje 1-18) logges forskellige oplysninger 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 -----------------------------------

Linje 19 angiver antallet af Edge Gateways, der er fundet i filen gateways.xml til drift i direkte tilstand.

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

Linje 20 peger på et problem med indlæsning af nøgler i en mappe, der ikke findes. Det er en gammel funktion, som ikke påvirker agentens overordnede drift. Denne fejllog kan derfor ignoreres.

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"

Linje 21 angiver kopieringen af den eksekverbare fil CareInit.exe til System32 for at dække de tilfælde, hvor en RDP-applikation med agent startes fra en macOS- eller Ubuntu-maskine.
I dette tilfælde kræver forbindelsen til serveren, at CareInit.exe køres 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
Forbindelse af en HTML5-RDP- eller RDP-applikation med agent (linje 22-39)

Når en ny RDP-session registreres, skrives følgende logs, der angiver registreringen af en ny RDP-session og noterer navnet på den bruger, der har logget på:

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 logsene ovenfor er det brugeren cyberelements_user, der har forbundet via RDP.

Når en HTML5-RDP- eller RDP-applikation med agent startes, oprettes der en særlig virtuel RDP-kanal for at sende forbindelsesadressen til Edge Gateway og den unikke adgangskode til forbindelsen til Edge Gateway-optagelsestjenesten videre til optagelsesagenten.
Dette angiver to ting:

  1. Optagelsesagenten har registreret, at det er en RDP-forbindelse startet af CyberElements Bastion, og må derfor ikke behandle sessionen som direkte adgang.
  2. Optagelsesagenten kunne hente adressen på den Edge Gateway, som den skal sende videooptagelserne og hændelserne til.

Disse oplysninger svarede til linje 27-29, hvor optagelsesagenten i eksemplet hentede forbindelsesadressen til Edge Gateway (my-edge-gateway.domain.local) og en engangsadgangskode (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

Dernæst kommer logsene om anvendelsen af netværksfiltreringsreglerne, som beskrives nærmere i et andet informationsafsnit længere nede på siden.

En log angiver, hvornår optagelsesagenten opretter forbindelsen til Edge Gateway, og hvilken unik adgangskode den bruger til at autentificere sig.

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

Når brugeren til sidst indleder en afbrydelse, opsamles den af optagelsesagenten for at afslutte optagelsen og fjerne eventuelle netværksfiltreringsregler. Dette svarer til linje 36-39 i eksempellogfilen:

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
Forbindelse ved direkte RDP-adgang (linje 40-61)

Når en ny RDP-session registreres, skrives følgende logs, der angiver registreringen af en ny RDP-session og noterer navnet på den bruger, der har logget på:

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 logsene ovenfor er det brugeren cyberelements_user, der har forbundet via RDP.

Ved en direkte RDP-forbindelse bruges den særlige virtuelle RDP-kanal til RDP- eller HTML5-RDP-applikationer med agent ikke. Optagelsesagenten konkluderer derfor, at den åbnede session er en session med direkte adgang.

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

Da der er registreret direkte adgang, logger optagelsesagenten de forskellige brugergrupper for den bruger, der netop har forbundet:

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 

Tip

Med disse oplysninger kan du fastslå, hvorfor optagelser af direkte adgang ikke udløses: fordi kontrakten for direkte adgang ikke tillader en af brugerens grupper, eller fordi det angivne domænenavn skal være det korte navn (netBIOS-navnet) eller det fulde navn.

Optagelsesagenten angiver, hvilke Edge Gateways den kan forbinde til for at uploade optagelsen af brugerens session.
Til erindring er det de Edge Gateways, der indgår i filen gateways.xml, som blev konfigureret under konfigurationen af optagelsesagenten.

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

Dernæst kommer det klientcertifikat, som optagelsesagenten bruger til at autentificere sig over for optagelsestjenesten.
Som standard søger optagelsesagenten efter et certifikat, der indeholder RDP-serverens navn i sit CN, medmindre nøglen MachineName er defineret.
Optagelsesagenten angiver derefter det valgte certifikat og oplysningerne om den certificeringsmyndighed, der har genereret 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 eksemplet ovenfor søgte optagelsesagenten efter et certifikat, der indeholder my-rds-server, og fandt et med CN'et my-rds-server.domain.local udstedt for certificeringsmyndigheden SUB-CA.

Dernæst kommer logsene om anvendelsen af netværksfiltreringsreglerne, som beskrives nærmere i et andet informationsafsnit længere nede på siden.

En log angiver, hvornår optagelsesagenten opretter forbindelsen til Edge Gateway, og hvilken unik adgangskode den bruger til at autentificere sig.

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

Når brugeren til sidst indleder en afbrydelse, opsamles den af optagelsesagenten for at afslutte optagelsen og fjerne eventuelle netværksfiltreringsregler. Dette svarer til linje 58-61 i eksempellogfilen:

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
Anvendelse af netværksfiltreringsreglerne (linje 31 og 53-56)

For hver session, som optagelsesagenten registrerer, afgør den, om det er nødvendigt at anvende netværksfiltreringsregler på brugerens session.

Hvis der ikke skal anvendes netværksfiltreringsregler, angiver optagelsesagenten Filter not enabled.

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

Hvis der skal anvendes netværksfiltreringsregler, vises meddelelsen Net filter enabled.
Efter denne linje om aktivering af filtreringen angives hvert af de anvendte filtre, ét pr. linje:

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

Til erindring: når netværksfiltreringen er aktiveret, er standardadfærden at blokere al TCP/UDP-trafik. De angivne filtre er derfor den eneste TCP/UDP-trafik, der er tilladt for de programmer, der kører i brugerens kontekst.
I eksemplet ovenfor er forbindelserne til TCP 10.10.1.42:443 og UDP 10.10.20.1:53 tilladt. Ud over disse to strømme, som administratoren har tilladt, er forbindelsesstrømmen til optagelsestjenesten også åben, så det program, der har ansvaret for det, kan sende optagelsen af sessionen tilbage.

Tip

Hvis der ikke er tilladt nogen strømme for brugeren, vises kun de linjer, der angiver, at filtreringen er aktiv, og at optagelsesprocessen kan kontakte Edge Gateway-optagelsestjenesten.

Forbindelsen til optagelsestjenesten mislykkedes

Flere problemer kan medføre, at optagelsesagenten ikke kan forbinde til optagelsestjenesten på en Edge Gateway.

Det første er en blokering af netværksstrømmen. I dette tilfælde skriver agenten, når den forsøger at forbinde til optagelsestjenesten, logs, der ligner disse:

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 dette eksempel angiver linje 1, at strømmen ikke kunne oprettes, mens linje 3 nævner den pågældende Edge Gateway og forbindelsesfejlen (bemærk også tallet 242 i slutningen af linje 3 for denne type problem).

Det andet problem, man kan møde, er, at optagelsesagenten, og dermed RDP-serveren, ikke kan slå navnet på Edge Gateway op:

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 dette eksempel bekræfter linje 1 problemet med DNS-opslaget af navnet på Edge Gateway.
Den anden linje nævner forbindelsesfejlen og navnet på Edge Gateway. Bemærk, at linjen slutter med tallet 232, når DNS-opslaget mislykkes.

Det tredje problem, der kan opstå, er en forbindelse til en tjeneste, der ikke er en optagelsestjeneste, for eksempel en webserver, der lytter på porten 8443. I dette tilfælde får man følgende logs:

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

Linje 1 peger på en fejl i de udvekslede data, linje 2 bekræfter forbindelsesproblemet og nævner fejlen 140 i slutningen af linjen.

Ingen kontrakt for direkte adgang tillader, at optagelsen af den direkte session udløses.

Ved direkte adgang skal ikke nødvendigvis alle brugere optages. Er det tilfældet, får man følgende logs:

 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 logs, man får, begynder som ved alle direkte sessioner, der opsamles af optagelsesagenten. Men når forbindelsen til Edge Gateway-optagelsestjenesten er oprettet, sender denne oplysninger tilbage til optagelsesagenten om, at den bruger, der har forbundet, ikke er omfattet af optagelse.
Optagelsesagenten angiver derfor, at brugerens session ikke behøver at blive optaget (linje 14 i eksemplet ovenfor).

Linje 7 viser alle de grupper, optagelsesagenten har hentet for den bruger, der har forbundet.
Disse oplysninger gør det muligt at fastslå, hvorfor optagelser af direkte adgang ikke udløses: fordi kontrakten for direkte adgang ikke tillader en af brugerens grupper, eller fordi det angivne domænenavn skal være det korte navn (netBIOS-navnet) eller det fulde navn.