Konfigurera Windows Recording Agent¶
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:
- Hämta rot-CA för certifikatet från inspelningstjänsten på Edge Gateway.
- Ladda upp denna CA till servern där inspelningsagenten är installerad.
- Installera CA i certifikatarkivet ”Trusted Root Certification Authorities” på den lokala maskinen.
Exempel med PowerShell
Du kan enkelt importera ett certifikat i formatet
.cervia PowerShell.
Öppna för detta en PowerShell-terminal som administratör för maskinen och kör följande kommando:Byt ut1Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"<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
base64Certtill 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 | |
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 | |
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.
Konfigurationer via registernycklar¶
Vissa globala inställningar finns i registernycklar och påverkar inspelningsagentens funktion både vid användning med applikationer och vid direktåtkomst.
1 2 3 | |
DisconnectOnError-
Definierar inspelningsagentens beteende när sessionsinspelaren stängs. Om värdet
0anges (standardbeteende) stängs användarens session när inspelaren stängs. Om värdet1anges kopplas användarens session bort när inspelaren stängs. SessionEndTimeout-
Definition av tiden (i sekunder) för att stänga användarsessionen innan en tvingad avstängning av sessionen utförs. Som standard är parametern inställd på 10 sekunder.
Konfiguration för drift med RDP- och HTML5-RDP-applikationer¶
SaaS-kontext
I diagrammen nedan representerar ”Mediation Controller” den CyberElements-molntjänst som hanteras av Systancia. Inspelningsflödet är arkitektoniskt identiskt i SaaS-läge.
I det här driftsättet ser utbytena mellan Mediation Controller, Edge Gateway och inspelningsagenten ut på följande sätt:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW as Edge Gateway
participant AGENT as RDP-server<br/>Inspelningsagent
MED->>+GW: Sändning av inloggningsuppgifterna till <br/>RDP-servern med inloggningsuppgifterna <br/>för inspelningsagenten
GW->>AGENT: Initiering av RDP-anslutningen
GW->>-AGENT: Sändning av inloggningsuppgifterna till <br/>Edge Gatewayens inspelningstjänst
AGENT->>+GW: Anslutning till inspelningstjänsten
GW->>-AGENT: Sändning av nätverksfiltreringsinformationen
Note over AGENT: Tillämpning av nätverks-<br/>begränsningarna på användaren
loop Kontinuerlig inspelning av sessionen
AGENT->>+GW: Kontinuerlig sändning av videoinspelningen <br/>+ sessionshändelser
Note over GW: Kontinuerlig tillägg av videoinspelningen <br/>till den tillfälliga lagringskatalogen
GW->>-MED: Sändning av de mottagna sessionshändelserna
Note over MED: Registrering av händelserna <br/>i organisationens databas
end
break Slutet på sessionen
AGENT->>GW: Sändning av informationen att <br/>användaren har avslutat sin RDP-session
Note over GW: Videoinspelningen flyttas <br/>till arkivkatalogen
GW->>MED: Anmälan av slutet på användarens session
Note over MED: Användarens session växlar <br/>från live streaming till arkivet
end
- Mediation Controller tillhandahåller Edge Gateway anslutningsinformationen för mål-RDP-servern. Den lägger också till den anslutningsinformation som den har för att ansluta till inspelningstjänsten (FQDN för Edge Gateway).
- Edge Gateway initierar anslutningen till RDP-servern.
- Edge Gateway skickar anslutningsinformationen för sin inspelningstjänst till inspelningsagenten.
- Inspelningsagenten initierar anslutningen till inspelningstjänsten.
- När agenten är ansluten returnerar inspelningstjänsten listan över de nätverksflödesbegränsningar som ska tillämpas på sessionen. När de har mottagits tillämpar inspelningsagenten dem på användarens session.
- Inspelningsagenten laddar kontinuerligt och i realtid upp videoinspelningen av användarens session och alla sessionshändelser (till exempel tangenttryckningar eller programstarter) till inspelningstjänsten. Inspelningstjänsten lagrar videoinspelningen i en tillfällig katalog.
- Inspelningstjänsten rapporterar de olika sessionshändelserna till Mediation Controller, som sedan lagrar dem i organisationens databas.
- När användarens RDP-session avslutas rapporterar inspelningsagenten informationen till inspelningstjänsten. Inspelningstjänsten flyttar därefter den inspelade videon till arkivkatalogen för användarinspelningar.
- Inspelningstjänsten rapporterar slutet på användarens session till Mediation Controller. Sessionen syns därför inte längre i Live Streaming i Control Center utan går över till Archives.
Vid det här förloppet är det nödvändigt att inspelningsagenten får rätt anslutningsinformation för inspelningstjänsten i Edge Gateway. Informationen finns i inställningarna för Edge Gateway, i fältet FDQN: 
Ange i det här fältet ett DNS-namn som RDP-servrarna kan slå upp.
Viktigt
Det certifikat som är tilldelat inspelningstjänsten Careserver måste omfatta det namn som anges i fältet FQDN. Annars betraktar inspelningsagenten anslutningen som osäker och startar inte sessionsinspelningen.
Konfiguration för drift med direktåtkomst¶
SaaS-kontext
I diagrammen nedan representerar ”Mediation Controller” den CyberElements-molntjänst som hanteras av Systancia. Direktåtkomstflödet är arkitektoniskt identiskt i SaaS-läge.
I det här driftsättet ser utbytena mellan Mediation Controller, Edge Gateway och inspelningsagenten ut på följande sätt:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW as Edge Gateway
participant AGENT as RDP-server<br/>Inspelningsagent
Note over AGENT: Identifiering av en ny <br/>session som ska spelas in
AGENT->>+GW: Anslutning till inspelningstjänsten
GW->>-MED: Anmälan av en ny anslutning <br/>med direktåtkomst för användare X
alt Om användare X har behörighet
MED->>+GW: Sändning av informationen att användare X <br/>har behörighet att ansluta samt sändning <br/>av listan över nätverksfilter som ska tillämpas
GW->>-AGENT: Sändning av nätverksfiltreringsinformationen <br/>och anslutningsbehörigheten <br/>för användare X
Note over AGENT: Tillämpning av nätverks-<br/>begränsningarna på användare X
loop Kontinuerlig inspelning av sessionen
AGENT->>+GW: Kontinuerlig sändning av videoinspelningen <br/>+ sessionshändelser
Note over GW: Kontinuerlig tillägg av videoinspelningen <br/>till den tillfälliga lagringskatalogen
GW->>-MED: Sändning av de mottagna sessionshändelserna
Note over MED: Registrering av händelserna <br/>i organisationens databas
end
break Slutet på sessionen
AGENT->>GW: Sändning av informationen att <br/>användare X har avslutat sin RDP-session
Note over GW: Videoinspelningen flyttas <br/>till arkivkatalogen.
GW->>MED: Anmälan av slutet på användarens session
Note over MED: Användarens session växlar <br/>från live streaming till arkivet
end
else If user X is not authorized
MED->>+GW: Sändning av informationen att användare <br/>X inte har behörighet att logga in
GW->>-AGENT: Sändning av meddelandet om <br/>nekad inloggning för användare X
Note over AGENT: Loggar ut användare X
end
- Inspelningsagenten upptäcker en ny session och initierar en anslutning till inspelningstjänsten i en Edge Gateway.
- Edge Gateway skickar anslutningsinformationen (användarnamn och CN för det certifikat som inspelningsagenten använder) till Mediation Controller. Mediation Controller svarar på två olika sätt beroende på hur åtkomsträttigheterna är konfigurerade.
- Om användaren har rätt att ansluta till servern rapporterar Mediation Controller tillbaka till Edge Gateway den möjliga åtkomsten för den användaren och den nätverksfilterlista som ska tillämpas.
- Edge Gateway returnerar informationen till inspelningsagenten. När den har mottagits tillämpar inspelningsagenten nätverksfiltren på användarens session.
- Inspelningsagenten laddar kontinuerligt och i realtid upp videoinspelningen av användarens session och alla sessionshändelser (till exempel tangenttryckningar eller programstarter) till inspelningstjänsten. Inspelningstjänsten lagrar videoinspelningen i en tillfällig katalog.
- Inspelningstjänsten rapporterar de olika sessionshändelserna till Mediation Controller, som sedan lagrar dem i organisationens databas.
- När användarens RDP-session avslutas rapporterar inspelningsagenten informationen till inspelningstjänsten. Inspelningstjänsten flyttar därefter den inspelade videon till arkivkatalogen för användarinspelningar.
- Inspelningstjänsten rapporterar slutet på användarens session till Mediation Controller. Sessionen syns därför inte längre i Live Streaming i Control Center utan går över till Archives.
- Om användaren inte har rätt att ansluta till servern rapporterar Mediation Controller den ej auktoriserade åtkomsten för den användaren till Edge Gateway.
- Edge Gateway vidarebefordrar informationen till inspelningsagenten, som kopplar bort användarens session.
Registernycklar¶
Oavsett hur den installeras har inspelningsagenten alla komponenter som behövs för alla de driftsätt som är avsedda för den. För att fungera i direktåtkomstläge läser den därför följande registernycklar för att bestämma sin konfiguration:
1 2 3 4 | |
MachineName-
Namnet på det certifikat som inspelningsagenten använder för att ansluta till inspelningstjänsten i en Edge Gateway. Som standard, och om det inte är definierat, försöker agenten använda ett certifikat med maskinens namn.
LogOffOnFailure-
Anger agentens beteende när den inte kan ansluta till en Edge Gateway eller när användaren inte har rätt att ansluta till maskinen. Vid
0sker ingen bortkoppling, medan användaren kopplas bort vid1(standardbeteende). RecordedSessions-
Definition av de sessionstyper som omfattas av inspelning:
none: ingen inspelning av direktåtkomster utförs (standardinställning).remote: varje RDP-åtkomst till maskinen utlöser en inspelning.all: RDP-åtkomster och konsolåtkomster (fysisk åtkomst till maskinen eller via hypervisorns konsolläge) utlöser inspelningen.
Vilka nyckelvärden krävs för direktåtkomst?
Det enda nyckelvärde som krävs för att aktivera direktåtkomstmekanismen är RecordedSessions med värdet remote eller all. Observera att nyckelvärdet MachineName också kan krävas beroende på miljön.
Maskincertifikat¶
Inspelningsagenten försöker använda ett certifikat för autentisering mot inspelningstjänsten. Certifikatet måste ha installerats i datorns personliga certifikat.
Agenten använder det certifikat vars namn motsvarar nyckelvärdet MachineName (se föregående kapitel); om det inte är definierat försöker den använda ett certifikat med maskinens namn.
Deklaration av de Edge Gateways som agenten kan kontakta¶
Inspelningsagenten använder lokal information för att fastställa listan över Edge Gateway-servrar som ska kontaktas för att ladda upp inspelningarna av användarsessioner.
För att ändra listan över Edge Gateway-servrar som kan kontaktas måste du först stoppa tjänsten CleanroomAgent.
Varning!
Att stoppa tjänsten CleanroomAgent gör att inspelningen av pågående sessioner på servern avslutas, och nya sessioner som öppnas på servern spelas inte in.
Tjänsten kan stoppas via PowerShell (administratörsrättigheter krävs):
1 | |
Ändra eller skapa efter att tjänsten har stoppats följande fil [RECORDING_AGENT_DIR]\gateways.xml, där [RECORDING_AGENT_DIR] är inspelningsagentens installationskatalog. Med standardinstallationskatalogen måste filen finnas eller skapas på denna plats:
- CyberElements:
C:\Program Files (x86)\Systancia\cyberelements\gateways.xml
Denna XML-fil består av en tagg gateways och lika många taggar element som det finns Edge Gateways som kan kontaktas.
Exempel
Om inspelningsagenten behöver kontakta en Edge Gateway med FQDN edge-gateway-1.domain.local ser XML-filen ut på följande sätt:
1 2 3 4 | |
Men om det fanns två Edge Gateways att kontakta, edge-gateway-1.domain.local och edge-gateway-2.domain.local, skulle filen se ut på följande sätt:
1 2 3 4 5 | |
Starta om tjänsten CleanroomAgent när filen gateways.xml har ändrats korrekt:
1 | |
Konfigurera inspelningstjänsten för att autentisera certifikat från en PKI från tredje part¶
Som standard betraktar inspelningstjänsten endast certifikat som utfärdats av Systancias PKI som giltiga. För att använda certifikat från en annan certifikatutfärdare (CA) måste du följa stegen för att lägga till en CA i Edge Gateways specifika katalog.
När CA-certifikatet eller CA-certifikaten finns på rätt plats återstår bara att starta om inspelningstjänsten, även här som superanvändaren root:
Varning!
En omstart av denna tjänst stoppar pågående sessioner och avbryter nästan alla av dem. Kör följande kommando endast när inga användarsessioner går via Edge Gateway, för att inte påverka användarna.
1 | |
Efter omstarten av inspelningstjänsten kan du kontrollera att de nya CA:erna har beaktats korrekt genom att titta i tjänstens loggar:
1 | |
De loggar som erhålls anger i slutet av raden namnen på de certifikatfiler som har lästs in av inspelningstjänsten.
Exempel
Efter att två CA:er med namnen MY-CA-ROOT.pem och MY-INTERMEDIATE-CA.pem har lagts till ser de erhållna loggarna ut så här (början av loggen har klippts bort men den innehåller bland annat datumet och maskinens namn):
1 2 3 4 | |