Con las políticas de TeamViewer, es posible cargar automáticamente las grabaciones de sesiones de control remoto a un almacenamiento SFTP alojado en la nube o en el propio servidor. Almacenar las grabaciones para revisiones posteriores puede ser útil para evaluaciones de calidad, formación y auditorías. Este artículo explica cómo configurar las reglas de política de TeamViewer necesarias para lograrlo. Para obtener más información sobre cómo iniciar la grabación de una sesión de control remoto, consulta este artículo.
Este artículo se aplica a los titulares de licencias de TeamViewer Tensor. Windows admite grabaciones de sesiones entrantes y salientes, mientras que Linux solo admite grabaciones salientes.
TeamViewer permite grabar y cargar grabaciones de sesiones de control remoto entrantes y salientes mediante reglas de política independientes. Las funciones de grabación y carga varían según la dirección de la sesión y el sistema operativo.
Configurar una política de TeamViewer
Para configurar tu entorno para la carga automática de grabaciones de sesión, debes crear una nueva política o actualizar una política existente de TeamViewer y añadir las reglas de la misma mencionadas en los siguientes párrafos. Puedes combinar varias reglas dentro de la misma política para alcanzar un objetivo específico. Una vez que la directiva se aplique a los dispositivos deseados, la configuración entrará en vigor.
Aprende cómo crear una nueva política de TeamViewer o actualizar una existente y obtén más detalles acerca de las regla(s) de política
TeamViewer puede grabar y cargar grabaciones de sesiones entrantes y salientes mediante dos reglas de política independientes, cuya compatibilidad depende del sistema operativo. Las siguientes secciones explican la configuración de cada regla. Ambas reglas pueden combinarse, si es posible, para permitir la carga de grabaciones entrantes y salientes.
Sesiones salientes
La regla de política principal para grabar sesiones salientes se denomina Cargar grabaciones de sesiones salientes a almacenamiento personalizado, que permite subir grabaciones a tu servidor SFTP. La configuración de esta regla también se explicará en la siguiente sección. Hay otras dos reglas que conviene evaluar, ya que mejoran aún más el control sobre cuándo se inician y detienen las grabaciones.
La regla de política Activar la grabación automática de sesiones de control remoto 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 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 habilitarse sin necesidad de configuración adicional.
Sesiones entrantes
Si deseas grabar sesiones entrantes, necesitas la regla de política Grabar automáticamente sesiones entrantes de control remoto, que iniciará la grabación automática en cuanto se establezca una conexión con el dispositivo al cual se le ha aplicado la política.
Para cargar también estas grabaciones a tu servidor SFTP, debes añadir la regla de política Subir grabaciones de sesiones entrantes a almacenamiento personalizado. La configuración de esta regla de política también se explica en la siguiente sección.
Cómo configurar la regla de política de carga automática de grabaciones
Cuando agregas la regla Cargar grabaciones de sesiones salientes al almacenamiento personalizado o Cargar grabaciones de sesiones entrantes al almacenamiento personalizado a tu política, hay algunos campos obligatorios y opcionales para configurar, que se explicarán con más detalle en los siguientes párrafos.
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
Elige 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 es necesaria 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, e incluye 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
Para entregar las credenciales de la cuenta SFTP de forma segura, de forma que solo tu y el dispositivo de carga puedan acceder a ella, la contraseña o clave privada debe estar cifrada con un certificado definido por el usuario. Las credenciales cifradas se añadirán a la regla de política como una contraseña cifrada o una clave privada cifrada. Necesitas un certificado de cifrado porque se implementará posteriormente en varios dispositivos. Tu servidor SFTP no gestionará las credenciales cifradas, ya que la aplicación TeamViewer las descifrará previamente con el certificado. La siguiente documentación presupone que OpenSSL está instalado en tu sistema.
Hay varias formas de generar certificados, dependiendo del sistema operativo y de las herramientas utilizadas. Todas estas 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 deseas utilizar 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 \
-newkey rsa:2048 \
-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 PEM de clave privada, que son capaces de cifrar y descifrar datos. Estos archivos tendrán que convertirse al formato PFX antes de que puedan desplegarse en dispositivos Windows, lo cual 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, podrás ver las siguientes líneas en la salida de tu terminal. Si no están presentes, el cifrado y descifrado de tus credenciales fallarán.
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 guarda en caché la clave pública de host de tu servidor SFTP durante la primera conexión para verificar su identidad y evitar ataques de intermediario, también puedes definirla manualmente mediante la opción de clave pública SSH, que sirve para confirmar la autenticidad del servidor. Esto es especialmente útil cuando necesitas reemplazar la clave de host de su servidor SFTP en algún momento e indicar a los dispositivos que esperen una clave de host diferente a la que tenían almacenada inicialmente en caché.
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. La política de sesión entrante solo es compatible con sistemas operativos Windows.
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 \ -inkey <CertificateAndKeyName>.pem \ -in <CertificateAndKeyName>.crt \ -export \ -out <CertificateName>.pfx
El certificado PFX resultante puede implementarse en el almacenamiento de certificados del equipo local de los dispositivos de destino mediante su solución de administración de endpoints o puntos finales. Tras la implementación, el certificado debería aparecer en el Administrador de Certificados del equipo local (busca Administrar certificados del equipo (Manage computer certificates)) dentro de la carpeta Personal ➜ Certificados.(Personal ➜ Certificates)
PowerShell llama a esta ubicación:
cert:\LocalMachine\My
Para minimizar el acceso a la clave privada, restringe los permisos a la cuenta SYSTEM y solo a las cuentas de administrador necesarias. Puedes verificarlo en el Administrador de Certificados del equipo local haciendo clic en el botón derecho del ratón, en el certificado, seleccionando Todas las Tareas (All tasks), luego Administrar Claves Privadas Manage Private Keys) ...., y confirmando que solo las cuentas requeridas tengan acceso.
Si estás implementando esto en dispositivos Linux, no es necesario realizar cambios. Debes colocar las claves privadas PEM en /etc/teamviewer/ssl/private y los certificados públicos CRT en /etc/teamviewer/ssl/certs. Asegúrate de que tanto el certificado público como la clave privada correspondiente tengan el mismo nombre de archivo base, por ejemplo, <CertificateAndKeyName>.pem y <CertificateAndKeyName>.crt. Asegúrate de que el usuario raíz (root) sea el propietario del archivo de clave privada. Se recomienda minimizar el acceso al usuario raíz.
Probar y aplicar la política
Dado que el proceso de configuración de esta función es complejo, conviene probarla antes de implementarla por completo en otros dispositivos. Para ello, instala el certificado en un dispositivo local y aplica la política en dicho dispositivo.
Para cargar la grabación de la sesión saliente, inicia una sesión de control remoto desde el dispositivo y comienza a grabarla. Para cargar la grabación de la sesión entrante, conéctate al dispositivo y comprueba que la grabación se inicia automáticamente. A continuación, verifique que el archivo se haya cargado correctamente en el servidor SFTP tras detener la grabación. Esto confirma que el cifrado, el descifrado y la configuración de SFTP, así como la conexión al servidor desde el dispositivo que realiza la carga, funcionan correctamente.
Si una carga falla, se reintentará tras un breve intervalo que aumentará con cada intento fallido, hasta un máximo de una hora. El tiempo de espera reducirá el número de solicitudes erróneas al servidor SFTP. Especialmente durante las pruebas, cuando la configuración aún se está adaptando activamente, es posible que el siguiente reintento no se realice inmediatamente al detener la grabación. Para intentar otra carga inmediatamente, puedes reiniciar completamente TeamViewer (por ejemplo, reiniciando el ordenador).
Una vez que la prueba sea exitosa, primero despliega el certificado en todos los dispositivos que utilicen tu solución de gestión de endpoints y, a continuación, aplica la política a dichos dispositivos. Una vez que estos dispositivos graben sesiones de control remoto, todas las grabaciones se subirán automáticamente a tu servidor.