Con las políticas de TeamViewer es posible subir o cargar automáticamente las grabaciones de las sesiones de control remoto en un espacio de almacenamiento SFTP propio o alojado en la nube. El almacenamiento de grabaciones para revisiones posteriores puede ser útil para evaluaciones de calidad, formaciones y auditorías. Este artículo explica cómo configurar las reglas de las política de TeamViewer necesarias para conseguirlo. Para obtener más información sobre cómo iniciar una grabación de una sesión de control remoto, puedes leer este artículo.

Este artículo se aplica a l@s titulares de licencias de Tensor que usan Windows y Linux.

Configurar una política de TeamViewer

Para configurar tu instalación para cargar o subir automática la grabación de la sesión de control remoto, tendrás que crear una nueva política de TeamViewer o actualizar una existente y añadir la(s) siguiente(s) regla(s) de política. Puedes combinar varias reglas de política dentro de una misma política para lograr un objetivo específico. Una vez aplicada la política a los dispositivos deseados, la configuración surtirá efecto. Aprende cómo aplicar una política a tus dispositivos aquí.

La siguiente guía se centrará principalmente en la configuración de la regla de política Cargar la grabación de la sesión en un almacenamiento personalizado (Upload session recording to custom storage), que ofrece la posibilidad de cargar grabaciones en tu servidor SFTP. Hay otras dos reglas que deben ser evaluadas, ya que mejoran aún más el control sobre cuándo se inician y detienen las grabaciones.

Forzar grabación automática de sesiones de control remoto, que iniciará automáticamente la grabación en cuanto se establezca una conexión saliente desde el dispositivo con la política aplicada. Si deseas evitar que el usuario que está delante del dispositivo detenga o pause la grabación antes de que finalice la sesión de control remoto, también puedes añadir la regla de política Deshabilitar la detención y pausa de grabaciones de sesiones. Ambas reglas pueden añadirse y activarse sin necesidad de ninguna otra configuración

Cómo configurar la regla de política de carga automática de grabaciones

Cuando añadas la regla Cargar grabación de sesión en almacenamiento personalizado a tu política, habrá que configurar algunos campos obligatorios y opcionales, que se explicarán con más detalle en los párrafos siguientes

Campos obligatorios

Actualmente, sólo se admiten como Tipo de servicio los servidores SFTP, que pueden estar alojados en un centro de datos local o en un entorno basado en la nube, como Azure o Amazon Web Services.

Hay dos tipos de autenticación disponibles:

  • Autenticación por contraseña
  • Autenticación de clave pública

Elije la opción que prefieras y comprueba que es compatible con tu servidor o servicio SFTP. Debes configurar la nueva cuenta y autenticarla antes de continuar, ya que la contraseña o la clave privada son necesarias en los siguientes apartados.

Introduce el nombre de usuario de la cuenta que se utilizará para autenticarse con tu servidor y cargar la grabación. Especifica tu URL de destino, que debe ser una URL SFTP dirigida a tu servidor, incluyendo la ruta a la carpeta donde deben cargarse las grabaciones de la sesión de control remoto. Se recomienda minimizar los permisos de la cuenta elegida, concediendo sólo acceso de escritura a la carpeta específica designada para subir las grabaciones.

Campo de contraseña cifrada o clave privada cifrada

Sólo tu y el dispositivo de carga pueden acceder a las credenciales de la cuenta SFTP de forma segura, y la contraseña o la clave privada deben cifrarse mediante un certificado definido por el usuario para entregar las credenciales de la cuenta SFTP de forma segura.

Las credenciales cifradas se agregarán a la regla de política como Contraseña cifrada o Clave privada cifrada. La razón por la que se necesita un certificado para el cifrado es que más tarde se extenderá a varios dispositivos para el descifrado. Tu servidor SFTP no manejará las credenciales cifradas, ya que la aplicación TeamViewer las descifrará de antemano. Se recomienda para esta configuración tener OpenSSL instalado en tu sistema.

 

Hay muchas formas de generar certificados, dependiendo del sistema operativo y de las herramientas utilizadas. Todas ellas deberían ser viables, si se especifican correctamente los parámetros importantes necesarios para el certificado x509:

  • Claves de uso: KeyEncipherment, DataEncipherment, KeyAgreement

  • Tipo/Utilización de la clave ampliada: DocumentEncryptionCert, También conocida como 1.3.6.1.4.1.311.80.1

Si deseasutilizar certificados ya firmados, puedes utilizar el comando openssl req (consulta su documentación here), remplazando <CertificateAndKeyName> con el nombre de tu preferencia:

openssl req -x509 Hello,

-newkey rsa:2048 Hello,

 

Thank you for your email. I will get back to you after looking into it, -keyout <CertificateAndKeyName>.pem \

-out <CertificateAndKeyName>.crt \

-addext keyUsage='keyEncipherment, dataEncipherment, keyAgreement' \

-addext extendedKeyUsage='1.3.6.1.4.1.311.80.1'

Este comando generará un certificado CRT y un archivo de clave privada PEM, que son capaces de cifrar y descifrar datos. Estos archivos tendrán que ser convertidos a PFX antes de que puedan ser desplegados en dispositivos Windows, lo que se explicará en un párrafo posterior.

Una vez que tengas tu archivo de certificado, puedes verificar tus parámetros clave ejecutando el siguiente comando, sustituyendo <CertificateAndKeyName> por tu certificado real, para comprobar si es compatible. Esto es especialmente importante, si quieres verificar si se puede utilizar un certificado existente o uno de terceros:

openssl x509 -text -in <CertificateAndKeyName>.crt

Si tu generación de claves fue exitosa, entonces podrás ver las siguientes líneas dentro de la salida de tu terminal. Si no están presentes, el cifrado y descifrado de tus credenciales fallará.

X509v3 Key Usage: critical

Key Encipherment, Data Encipherment, Key Agreement

X509v3 Extended Key Usage:

1.3.6.1.4.1.311.80.1

La credencial elegida debe encriptarse en la Sintaxis Criptográfica de Mensajes (CMS, puedes leer más sobre ella en RFC 5652) utilizando tu certificado. Esto se puede hacer ejecutando el comando openssl cms (puedes encontrar su documentación aquí). Para los siguientes comandos, también puedes especificar -out <FileName> para redirigir la salida desde el terminal a un archivo en su lugar.

Para generar la Contraseña cifrada, deberás sustituir <Password> por la contraseña de tu cuenta del servidor SFTP y <CertificateAndKeyName> por el nombre de tu archivo de certificado. Utiliza echo -n en Linux para evitar añadir un carácter de nueva línea al final de la contraseña:

echo "<Password>" | openssl cms -encrypt -outform PEM <CertificateAndKeyName>.crt

Si deseas utilizar la clave privada encriptada en su lugar, deberás sustituir <PathToPrivateKey> por la ruta relativa o absoluta a tu clave privada de la cuenta del servidor SFTP..

openssl cms -encrypt -in <PathToPrivateKey> -outform PEM <CertificateAndKeyName>.crt

Una vez que las credenciales se hayan cifrado correctamente, la salida resultante será como la del siguiente ejemplo:

-----BEGIN CMS-----

MIIBwgYJKoZIhvcNAQcDoIIBszCCAa8CAQAxggFqMIIBZgIBADBOMDoxCzAJBgNVBAYTAkRFMSsw

(...)

hvcNAQcBMB0GCWCGSAFlAwQBKgQQddXx6ufF4KafytY5RKIZqYAQtpGNqX/eU+Oz+lxUnYUTJQ==

-----END CMS-----

Toma la salida respectiva del comando elegido y cópiala en el campo de la regla, incluyendo la cabecera y el pie de página de la salida que significan el principio y el final del mensaje.

Los preparativos para la regla de la política que utiliza este certificado ya están hechos, pero los archivos PEM y CRT generados siguen siendo necesarios cuando el certificado se distribuye a los dispositivos. Hay campos opcionales adicionales en la regla de política que se explican en los párrafos siguientes.

Campos opcionales

Descargar prefijo URL es un campo opcional, que puede especificarse para ofrecer descargas directas de grabaciones desde tus servidores. Esta información está disponible a través de nuestra Web API (lea más sobre ella aquí), o en nuestras integraciones con Salesforce y ServiceNow. El campo espera una URL web que incluya la ruta, que contienga tus grabaciones. Dado que TeamViewer no tiene acceso a tu almacenamiento o espacio personal en la nube, las grabaciones deberán conservar su nombre original de carga para que las rutas sigan siendo válidas.

Aunque TeamViewer almacena en caché la clave pública de host de tu servidor SFTP en la primera conexión para comprobar la identidad del servidor y evitar ataques de intermediarios, también puede especificarla explícitamente con la configuración opcional de clave pública de host SSH, que se utiliza para verificar la identidad del servidor. Esto es especialmente útil cuando necesitas reemplazar la clave de host de tu servidor SFTP en algún momento y decirle a los dispositivos que esperen una clave de host diferente a la que han almacenado inicialmente.

En la mayoría de los casos, puedes especificar la clave de host pública durante la configuración de tu servidor SFTP o puedes buscarla en los archivos de configuración o en los paneles de control de tu servidor SFTP. Si no tienes acceso a estos valores, también puedes obtenerlos de tu dispositivo actual.

En caso de que te hayas conectado al servidor antes usando ssh, puedes obtenerlo del archivo known_hosts dentro de tu carpeta .ssh. Alternativamente, puedes utilizar el siguiente comando, sustituyendo <SftpServidorDominio> por tu servidor:

ssh-keyscan <SftpServerDomain>

Cuando copies la clave de host en el campo de configuración, asegúrate de que sólo copias la huella digital de la clave de host, no el nombre del servidor, la dirección IP, el tipo de clave o el comentario.

Con esto finaliza la configuración de la política. Puedes ampliar la política con más ajustes o guardarla ahora.

Preparación y despliegue del certificado

Para que la aplicación TeamViewer pueda subir las grabaciones de las sesiones de control remoto en el servidor SFTP, debes poder descifrar las credenciales. Para ello, el certificado creado debe convertirse al formato del sistema operativo del dispositivo receptor, antes de desplegarlo. La misma política puede desplegarse tanto en máquinas Windows como Linux si las claves subyacentes son las mismas.

Despliegue de los certificados

Si vas a desplegar esto en dispositivos Windows, tendrás que convertir tus archivos PEM y CRT al formato PFX utilizando el siguiente comando, sustituyendo <CertificateAndKeyName> y <CertificateName> por los respectivos nombres de archivo:

openssl pkcs12 Hello,

-inkey <CertificateAndKeyName>.pem \

-in <CertificateAndKeyName>.crt \

-export \

-out <CertificateName>.pfx

El certificado PFX resultante puede desplegarse en el almacenamiento de certificados de máquina local de los dispositivos de destino (cert:\LocalMachine\My) utilizando tu solución de gestión de endpoints. Para minimizar el acceso a la clave privada, se recomienda restringir el acceso a la cuenta de SYSTEM.

Testing `backticks` feature.

Si estás implementando esto en dispositivos Linux, no es necesario realizar ningún cambio. Debes colocar las claves privadas PEM en /etc/teamviewer/ssl/private y los certificados públicos CRT en /etc/teamviewer/ssl/certs. Asegúrese de que tanto el certificado público como la clave privada correspondiente tienen el mismo nombre de archivo base, por ejemplo <CertificateAndKeyName>.pem y <CertificateAndKeyName>.crt. Asegúrate de que root es el propietario del archivo de clave privada. Se recomienda minimizar el acceso al propio root.

Probar y aplicar la política

Dado que el proceso de configuración de esta función es complicado, la misma debe probarse antes de extenderla completamente a otros dispositivos. Esto se puede hacer instalando el certificado en un dispositivo local y aplicando la política al mismo dispositivo, iniciando una sesión de control remoto, iniciando una grabación y verificando que el archivo se carga correctamente en el servidor SFTP después de que la grabación se haya detenido. Esto confirma que el cifrado, el descifrado y la configuración SFTP, así como la conexión al servidor desde el dispositivo de carga, están funcionando.

Si una subida falla, la misma se reintentará después de un corto período de tiempo, aumentando con cada intento fallido posterior hasta una hora. El tiempo de espera reducirá el número de peticiones erróneas al servidor SFTP. Especialmente durante las pruebas, cuando la configuración todavía se está adaptando activamente, puede que el siguiente reintento no sea inmediatamente después de que se haya detenido una grabación. Para intentar otra subida inmediatamente, se puede realizar un reinicio completo de TeamViewer (por ejemplo, reiniciando el ordenador).

Una vez que la prueba se haya realizado correctamente, despliegua primero el certificado en todos los dispositivos de destino utilizando tu solución de gestión de endpoints y, a continuación, aplica la política a dichos dispositivos. Una vez que estos dispositivos registren cualquier sesión de control remoto, todas las grabaciones de estos dispositivos se cargarán automáticamente en tu servidor.