Configuración del agente de grabación Windows¶
El agente de grabación de Windows lo utiliza CyberElements para añadir nuevas funcionalidades a las sesiones RDP:
- Posibilidad de filtrar los flujos TCP y UDP accesibles para el usuario
- Posibilidad de desencadenar la grabación de la sesión de cualquier usuario que se conecte al servidor sin pasar por el portal de usuario ni por el cliente Desktop (funcionalidad de
acceso directo)
Además, durante las sesiones de los usuarios se capturan eventos adicionales:
- Apertura de ventanas
- Cierre de ventanas
- Inicio de programas
- Cierre de programas
- Contenido del portapapeles
- Actividad del usuario
Requisitos previos¶
Compatibilidad del cliente
Para saber si el agente es compatible con los distintos sistemas operativos Microsoft Windows, consulte la matriz de compatibilidad.
El agente de grabación exige algunos requisitos previos para funcionar correctamente. Unos solo conciernen a la funcionalidad de grabación con agente de las aplicaciones RDP y HTML5 RDP, y otros al acceso directo con agente.
Requisitos previos generales¶
El agente de grabación devuelve la grabación de la sesión del usuario a CyberElements conectándose a la Edge Gateway por el puerto TCP 8443. Para ello es necesario que el flujo de red entre ambas máquinas esté abierto.
Para devolver la grabación a la Edge Gateway de forma segura, el agente de grabación establece con ella una conexión segura mediante TLS. TLS se basa en el uso de certificados, y deben cumplirse las restricciones siguientes para que la conexión se considere fiable y segura:
- El certificado del servidor, en este caso la Edge Gateway, no debe haber caducado (fecha máxima de validez).
-
El certificado del servidor, en este caso la Edge Gateway, debe haber sido emitido por una autoridad de certificación reconocida como de confianza por la máquina en la que está instalado el agente de grabación.
Información adicional
El servidor en el que está instalado el agente de grabación debe tener, como mínimo, la autoridad de certificación (CA) raíz del certificado del servidor de grabación en su almacén local de autoridades de certificación de confianza.
Por lo tanto, es necesario:
- Recuperar la CA raíz del certificado del servicio de grabación de la Edge Gateway.
- Cargar esa CA en el servidor en el que está instalado el agente de grabación.
- Instalar la CA en el almacén de certificados « Entidades de certificación raíz de confianza » de la máquina local.
Ejemplo con PowerShell
Un certificado en formato
.cerpuede importarse fácilmente mediante PowerShell.
Para ello, abra un terminal de PowerShell como administrador de la máquina y ejecute el comando siguiente:Sustituya1Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"<PATH_TO_CERT>por la ruta del fichero del certificado.Ejemplo con PowerShell para el certificado de Systancia, sin enviar ficheros
Este ejemplo consiste en instalar la CA raíz de Systancia, se utiliza de forma predeterminada en CyberElements.
También es posible importar el certificado sin tener que enviar o descargar el fichero en la máquina en la que está instalado el agente de grabación.
Para ello, abra un terminal de PowerShell como administrador de la máquina y ejecute los comandos siguientes: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=" # Convertir el certificado y almacenarlo en memoria $certBytes = [Convert]::FromBase64String($base64Cert) # Crear un objeto de certificado $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $cert.Import($certBytes) # Abrir el almacén de certificados raíz de confianza de la máquina local y añadir el certificado raíz de Systancia $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("Root", "LocalMachine") $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite) $store.Add($cert) $store.Close()Para utilizar este método con otra CA, cambie el valor de la variable
base64Certpor el certificado de su elección codificado en base 64. -
El certificado del servidor, en este caso la Edge Gateway, no debe estar revocado.
- La máquina en la que está instalado el agente de grabación debe poder contactar con el servidor, en este caso la Edge Gateway, con un nombre DNS o una dirección IP cubiertos por el certificado del servidor mediante su Common Name (CN).
Requisitos previos específicos de las aplicaciones RDP con agente utilizadas en un puesto de usuario macOS o Ubuntu¶
Atención
Los requisitos previos siguientes solo son necesarios si el usuario inicia una aplicación RDP con agente y su puesto no es Windows (macOS o Ubuntu).
Si los usuarios de CyberElements tienen puestos exclusivamente Windows o, en su defecto, utilizan exclusivamente aplicaciones HTML5 RDP, los requisitos previos siguientes pueden ignorarse.
Las claves de registro siguientes son necesarias en el servidor de destino en el que está desplegado el agente de grabación.
En primer lugar, la primera clave desactivará la lista de programas de inicio autorizados (documento de Microsoft). De forma predeterminada, una máquina Windows solo autoriza explorer.exe como programa de inicio.
1 2 | |
Si la máquina no es un servidor RDS, se recomienda siempre aplicar la clave de registro siguiente para permitir que el agente de grabación se abra como programa de inicio:
1 2 | |
Requisitos específicos del acceso directo¶
Funcionalidad de acceso directo
La funcionalidad de acceso directo permite desencadenar la grabación de la sesión del usuario en los accesos RDP o de consola (conexión física a la máquina o mediante el modo consola del hipervisor) que no pasan directamente por CyberElements.
Si el usuario tiene permiso para acceder al servidor, su sesión se grabará. Si no es el caso, de forma predeterminada el usuario será desconectado.
Para que el agente de grabación funcione en modo de acceso directo se requiere un certificado x509. Ese certificado debe cumplir los requisitos siguientes:
- El certificado debe seguir siendo válido (periodo de validez no caducado).
- El certificado debe ser del tipo (campo de uso mejorado de clave)
client authentication(OID: 1.3.6.1.5.5.7.3.2). - El certificado no debe estar revocado.
- Las restricciones derivadas del nivel de seguridad 2 de OpenSSL implican que:
- El certificado debe tener una clave privada de al menos 2048 bits con los cifrados RSA, DSA y DH; en las claves de curva elíptica (ECC) deben ser de al menos 224 bits.
- La firma del certificado no debe ser MD5 ni SHA-1 (se prefiere SHA-512).
- El servidor de grabación utilizará el campo
Common Name(CN) para identificar el certificado y, por tanto, la máquina en la que se desencadena una grabación directa. Ese campo debe estar rellenado.
Configuraciones mediante claves de registro¶
Algunos parámetros globales están disponibles en las claves de registro y afectan al funcionamiento del agente de grabación, tanto con aplicaciones como en acceso directo.
1 2 3 | |
DisconnectOnError-
Define el comportamiento del agente de grabación cuando se cierra el grabador de sesión. Si se indica el valor
0(comportamiento predeterminado), al cerrar el grabador se cerrará la sesión del usuario. Si se indica el valor1, la sesión del usuario se desconectará al cerrar el grabador. SessionEndTimeout-
Definición del tiempo (en segundos) de cierre de la sesión del usuario antes de forzar su detención. De forma predeterminada, este parámetro es de 10 segundos.
Configuración para el funcionamiento con aplicaciones RDP y RDP HTML5¶
Contexto SaaS
En los diagramas siguientes, « Mediation Controller » representa el servicio cloud CyberElements gestionado por Systancia. El flujo de grabación es arquitectónicamente idéntico en modo SaaS.
En este modo de funcionamiento, los intercambios entre el Mediation Controller, la Edge Gateway y el agente de grabación son los siguientes:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW as Edge Gateway
participant AGENT as Servidor RDP<br/>Agente de grabación
MED->>+GW: Envío de la información de conexión al <br/>servidor RDP con la información de conexión <br/>del agente de grabación
GW->>AGENT: Inicialización de la conexión RDP
GW->>-AGENT: Envío de la información de conexión al <br/>servicio de grabación de la Edge Gateway
AGENT->>+GW: Conexión al servicio de grabación
GW->>-AGENT: Envío de la información de filtrado de red
Note over AGENT: Aplicación de las restricciones <br/>de red al usuario
loop Grabación continua de la sesión
AGENT->>+GW: Envío continuo de la grabación de vídeo <br/>+ eventos de sesión
Note over GW: Adición continua de la grabación de vídeo <br/>al directorio de almacenamiento temporal
GW->>-MED: Envío de los eventos de sesión recibidos
Note over MED: Registro de los eventos <br/>en la BD de la organización
end
break Fin de sesión
AGENT->>GW: Envío de la información de que <br/>el usuario ha finalizado su sesión RDP
Note over GW: La grabación de vídeo se traslada<br/> al directorio de archivado.
GW->>MED: Indicación del fin de la sesión del usuario
Note over MED: La sesión del usuario pasa <br/>del streaming en directo a los archivos
end
- El Mediation Controller transmite a la Edge Gateway la información de conexión al servidor RDP de destino. También incluye la información de conexión de la que dispone para conectarse al servicio de grabación (FQDN de la Edge Gateway).
- La Edge Gateway inicializa la conexión con el servidor RDP.
- La Edge Gateway envía al agente de grabación la información de conexión a su servicio de grabación.
- El agente de grabación inicializa la conexión con el servicio de grabación.
- Una vez conectado el agente, el servicio de grabación le devuelve la lista de restricciones de flujo de red que deben aplicarse a la sesión. Una vez recibida, el agente de grabación las aplica a la sesión del usuario.
- El agente de grabación envía de forma continua y en tiempo real la grabación de vídeo de la sesión del usuario y todos los eventos de la sesión (por ejemplo, las pulsaciones de teclas o los lanzamientos de programas) al servicio de grabación. El servicio de grabación almacena la grabación de vídeo en un directorio temporal.
- El servicio de grabación comunica los distintos eventos de la sesión al Mediation Controller, que los registra en la base de datos de la organización.
- Cuando la sesión RDP del usuario finaliza, el agente de grabación lo comunica al servicio de grabación. El servicio de grabación traslada entonces el vídeo grabado al directorio de archivado de las grabaciones de usuario.
- El servicio de grabación comunica el fin de la sesión del usuario al Mediation Controller. La sesión deja por tanto de estar visible en el Live Streaming del Centro de control y pasa a los Archivos.
Con esta secuencia, es indispensable que el agente de grabación reciba la información de conexión correcta al servicio de grabación de la Edge Gateway. Esta información figura en los parámetros de la Edge Gateway, en el campo FDQN: 
En este campo, indique un nombre DNS que los servidores RDP puedan resolver.
Importante
El certificado asignado al servicio de grabación Careserver debe cubrir el nombre indicado en el campo FQDN. De lo contrario, el agente de grabación considerará que la conexión no es segura y no desencadenará la grabación de la sesión.
Configuración para el funcionamiento en acceso directo¶
Contexto SaaS
En los diagramas siguientes, « Mediation Controller » representa el servicio cloud CyberElements gestionado por Systancia. El flujo de acceso directo es arquitectónicamente idéntico en modo SaaS.
En este modo de funcionamiento, los intercambios entre el Mediation Controller, la Edge Gateway y el agente de grabación son los siguientes:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW as Edge Gateway
participant AGENT as Servidor RDP<br/>Agente de grabación
Note over AGENT: Detección de una nueva <br/>sesión que grabar
AGENT->>+GW: Conexión al servicio de grabación
GW->>-MED: Indicación de una nueva conexión <br/>en acceso directo para el usuario X
alt Si el usuario X está autorizado
MED->>+GW: Envío de la información de que el usuario X <br/>está autorizado a conectarse y envío de <br/>la lista de filtrados de red que deben aplicarse
GW->>-AGENT: Envío de la información de filtrado <br/>de red y de autorización de conexión<br/> del usuario X
Note over AGENT: Aplicación de las restricciones <br/>de red al usuario X
loop Grabación continua de la sesión
AGENT->>+GW: Envío continuo de la grabación de vídeo <br/>+ eventos de sesión
Note over GW: Adición continua de la grabación de vídeo <br/>al directorio de almacenamiento temporal
GW->>-MED: Envío de los eventos de sesión recibidos
Note over MED: Registro de los eventos <br/>en la BD de la organización
end
break Fin de sesión
AGENT->>GW: Envío de la información de que <br/>el usuario X ha finalizado su sesión RDP
Note over GW: La grabación de vídeo se traslada<br/> al directorio de archivado.
GW->>MED: Indicación del fin de la sesión del usuario
Note over MED: La sesión del usuario pasa <br/>del streaming en directo a los archivos
end
else Si el usuario X no está autorizado
MED->>+GW: Envío de la información de que el usuario <br/>X no está autorizado a conectarse
GW->>-AGENT: Envío de la denegación de <br/>conexión del usuario X
Note over AGENT: Desconexión del usuario X
end
- El agente de grabación detecta una nueva sesión e inicia una conexión con el servicio de grabación de una Edge Gateway.
- La Edge Gateway envía la información de conexión (nombre de usuario y CN del certificado utilizado por el agente de grabación) al Mediation Controller. El Mediation Controller responderá de dos maneras distintas según la configuración de los derechos de acceso.
- Si el usuario está autorizado a conectarse al servidor, el Mediation Controller comunica a la Edge Gateway el acceso posible para este usuario y la lista de filtros de red que deben aplicarse.
- La Edge Gateway devuelve esta información al agente de grabación. Una vez recibida, el agente de grabación aplica los filtros de red a la sesión del usuario.
- El agente de grabación envía de forma continua y en tiempo real la grabación de vídeo de la sesión del usuario y todos los eventos de la sesión (por ejemplo, las pulsaciones de teclas o los lanzamientos de programas) al servicio de grabación. El servicio de grabación almacena la grabación de vídeo en un directorio temporal.
- El servicio de grabación comunica los distintos eventos de la sesión al Mediation Controller, que los registra en la base de datos de la organización.
- Cuando la sesión RDP del usuario finaliza, el agente de grabación lo comunica al servicio de grabación. El servicio de grabación traslada entonces el vídeo grabado al directorio de archivado de las grabaciones de usuario.
- El servicio de grabación comunica el fin de la sesión del usuario al Mediation Controller. La sesión deja por tanto de estar visible en el Live Streaming del Centro de control y pasa a los Archivos.
- Si el usuario no está autorizado a conectarse al servidor, el Mediation Controller comunica a la Edge Gateway que el acceso no está autorizado para ese usuario.
- La Edge Gateway transmite la información al agente de grabación, que desconecta la sesión del usuario.
Claves de registro¶
Independientemente de su modo de instalación, el agente de grabación dispone de todos los componentes necesarios para todos sus modos de funcionamiento previstos. Por tanto, para funcionar en modo de acceso directo, lee las siguientes claves de registro a fin de determinar su configuración:
1 2 3 4 | |
MachineName-
Nombre del certificado que el agente de grabación utilizará para conectarse al servicio de grabación de una Edge Gateway. De forma predeterminada, y si no se define, el agente intentará utilizar un certificado con el nombre de la máquina.
LogOffOnFailure-
Indicación del comportamiento del agente cuando no consigue conectarse a una Edge Gateway o cuando el usuario no está autorizado a conectarse a la máquina. Con
0no se produce ninguna desconexión; con1el usuario será desconectado (comportamiento predeterminado). RecordedSessions-
Definición de los tipos de sesión sujetos a grabación:
none: no se realizará ninguna grabación de los accesos directos (configuración predeterminada).remote: cualquier acceso RDP a la máquina desencadenará una grabación.all: los accesos RDP y los accesos por consola (acceso físico a la máquina o desde el modo consola del hipervisor) desencadenarán la grabación.
¿Qué valores de clave son necesarios para el acceso directo?
El único valor de clave necesario para activar el mecanismo de acceso directo es RecordedSessions, con el valor remote o all. Tenga en cuenta que, según el entorno, el valor de clave MachineName también puede ser necesario.
Certificado de máquina¶
El agente de grabación intentará utilizar un certificado para autenticarse ante el servicio de grabación. Este certificado debe haberse instalado en los certificados personales del equipo.
El agente utilizará el certificado cuyo nombre corresponda al valor de la clave MachineName (véase el capítulo anterior) y, si no está definido, intentará utilizar un certificado con el nombre de la máquina.
Declaración de las Edge Gateways que el agente puede contactar¶
El agente de grabación utiliza información local para determinar la lista de servidores Edge Gateway que debe contactar para subir las grabaciones de las sesiones de usuario.
Para modificar la lista de servidores Edge Gateway que pueden contactarse, hay que detener previamente el servicio CleanroomAgent.
¡Advertencia!
La detención del servicio CleanroomAgent provoca el fin de la grabación de las sesiones en curso en el servidor, y las nuevas sesiones que se abran en él no se grabarán.
El servicio puede detenerse mediante PowerShell (se requieren derechos de administrador):
1 | |
Tras detener el servicio, modifique o cree el siguiente fichero [RECORDING_AGENT_DIR]\gateways.xml, donde [RECORDING_AGENT_DIR] es el directorio de instalación del agente de grabación. Con el directorio de instalación predeterminado, el fichero debe estar presente o crearse en esta ubicación:
- CyberElements:
C:\Program Files (x86)\Systancia\cyberelements\gateways.xml
Este fichero XML se compone de una etiqueta gateways y de tantas etiquetas element como Edge Gateways puedan contactarse.
Ejemplo
Si el agente de grabación debe contactar con una Edge Gateway cuyo FQDN es edge-gateway-1.domain.local, el fichero XML sería el siguiente:
1 2 3 4 | |
En cambio, si hubiera dos Edge Gateways que contactar, edge-gateway-1.domain.local y edge-gateway-2.domain.local, el fichero sería el siguiente:
1 2 3 4 5 | |
Tras modificar correctamente el fichero gateways.xml, reinicie el servicio CleanroomAgent:
1 | |
Configurar el servicio de grabación para autenticar certificados de una PKI de terceros¶
De forma predeterminada, el servicio de grabación solo considera válidos los certificados emitidos por la PKI de Systancia. Para utilizar certificados de otra autoridad de certificación (CA), hay que seguir los pasos de añadir una CA al directorio específico de la Edge Gateway.
Una vez que el certificado o los certificados de CA están en la ubicación correcta, solo queda reiniciar el servicio de grabación, de nuevo como superusuario root:
¡Advertencia!
El reinicio de este servicio detiene las sesiones en curso y finaliza la práctica totalidad de ellas. Ejecute el siguiente comando únicamente cuando ninguna sesión de usuario pase por la Edge Gateway, para no afectar a los usuarios.
1 | |
Tras reiniciar el servicio de grabación, puede comprobar que las nuevas CA se han tenido en cuenta correctamente consultando los registros del servicio:
1 | |
Los registros obtenidos indicarán, al final de la línea, los nombres de los ficheros de certificado que el servicio de grabación ha cargado.
Ejemplo
Tras añadir dos CA denominadas MY-CA-ROOT.pem y MY-INTERMEDIATE-CA.pem, los registros obtenidos tendrán este aspecto (el principio del registro se ha truncado, pero contiene, entre otras cosas, la fecha y el nombre de la máquina):
1 2 3 4 | |