Despliegue en entorno RDS/Citrix
Guía de despliegue del agente Kabeen para entornos de virtualización RDS y Citrix
El agente Kabeen es compatible con entornos de virtualización de aplicaciones como Microsoft Remote Desktop Services (RDS) y Citrix Virtual Apps.
Principio de funcionamiento
En un servidor compartido, varios usuarios abren sesión en la misma máquina. El modelo es el siguiente:
- Una instalación por servidor: el paquete MSI se instala una sola vez en cada servidor compartido, para todas las sesiones.
- Una instancia de agente por sesión: el agente se ejecuta después en el contexto de cada sesión de usuario abierta en ese servidor, con la identidad del usuario correspondiente.
- Una configuración por usuario: cada instancia lee la configuración de su propio usuario, lo que permite asociar usuarios distintos a equipos distintos en un mismo servidor.
Requisitos previos
- Acceso de administrador a los servidores RDS/Citrix
- Paquete de instalación MSI del agente, disponible en la plataforma Kabeen
- Clave API de Kabeen y UUID de estructura / equipo
- Flujo HTTPS saliente (443/TCP) hacia
api.kabeen.ioeintake.kabeen.io
Instalar el agente en los servidores compartidos
El único requisito es que el agente esté instalado una vez en cada servidor compartido. El método queda a su elección, según cómo gestione sus servidores:
- integración del MSI en la imagen base (gold image RDSH, catálogo MCS o PVS, Citrix App Layering);
- o instalación directa en cada servidor con sus herramientas habituales: GPO en configuración de equipo, SCCM, Intune, script de despliegue, instalación manual.
La instalación se realiza en modo silencioso:
msiexec /i kabeen-agent.msi /qnNo incluya ningún parámetro de usuario (clave API, estructura, equipo) en la imagen base: esa configuración se distribuye en contexto de usuario, al iniciar sesión (véase la sección siguiente).
Comprobar que el agente se ejecuta en cada sesión
La mejor comprobación consiste en verificar, desde una sesión de administrador en el servidor, que existe un proceso Kabeen.exe por cada sesión de usuario abierta:
tasklist /FI "IMAGENAME eq Kabeen.exe" /VDebe obtener una línea por sesión activa, cada una con su propio número de sesión y la cuenta del usuario correspondiente. El Administrador de tareas ofrece la misma información: pestaña Detalles, con las columnas Nombre de usuario e Id. de sesión visibles.
Si el agente solo aparece en algunas sesiones, o en ninguna, consulte el caso particular de las sesiones RemoteApp más abajo.
Configurar la clave API y los equipos
En este paso no hay ninguna particularidad de RDS/Citrix: la configuración del agente (clave API, estructura, equipo) se distribuye por GPO, en configuración de usuario, exactamente igual que en un puesto de trabajo clásico. Consulte el artículo Despliegue del agente de usuario por GPO, sección Configurar los ajustes del agente: el procedimiento allí descrito es completo y suficiente.
Que varios usuarios compartan el mismo servidor no plantea ninguna dificultad. Cada sesión dispone de su propia instancia de agente, que lee los valores del subárbol HKEY_CURRENT_USER del usuario conectado. Dos usuarios de equipos distintos que abran sesión en el mismo servidor reciben, por tanto, sus parámetros desde sus GPO respectivas, sin conflicto: cada agente se inicia con la configuración de su usuario.
Caso particular: sesiones RemoteApp y aplicaciones publicadas
En modo RemoteApp (Microsoft RDS) o aplicación publicada en modo seamless (Citrix), la sesión abierta en el servidor es una sesión aligerada: Windows no carga en ella el shell completo (explorer.exe). Microsoft documenta esta limitación: en una sesión RemoteApp no se procesan ni la clave de registro Run, ni la clave RunOnce, ni las aplicaciones de inicio (véase KB 951048).
En consecuencia, los programas que normalmente se inician al abrir sesión, incluido el agente Kabeen, no arrancan en esas sesiones. Hay que solicitar su ejecución de forma explícita, mediante uno de los dos métodos documentados por Microsoft.
Método 1 — GPO «Ejecutar estos programas al iniciar sesión de usuario»
- Abra el Editor de administración de directivas de grupo y vaya a Configuración del equipo > Plantillas administrativas > Sistema > Inicio de sesión.
- Abra el parámetro Ejecutar estos programas al iniciar sesión de usuario y habilítelo.
- Haga clic en Mostrar y después en Agregar, e introduzca la ruta completa del ejecutable del agente:
C:\Program Files\Kabeen\Kabeen.exeLa ruta completa es obligatoria para cualquier ejecutable situado fuera de %SystemRoot%. Este parámetro también existe en Configuración de usuario, si prefiere aplicarlo a una OU de usuarios en lugar de a los servidores.
Método 2 — Script de inicio de sesión runonce.exe /AlternateShellStartup
- En el Editor de administración de directivas de grupo, abra Configuración de usuario > Configuración de Windows > Scripts (inicio/cierre de sesión).
- Haga doble clic en Inicio de sesión y después en Agregar.
- En Nombre de script, escriba
runonce.exe. - En Parámetros de script, escriba
/AlternateShellStartup.
Este método vuelve a ejecutar los elementos de inicio estándar de la sesión, incluido el agente Kabeen. Evita codificar de forma fija la ruta del ejecutable y cubre de una sola vez todas las aplicaciones afectadas por la limitación.
Citrix: las versiones recientes del VDA inician por sí mismas los programas de la clave
Runen las sesiones seamless, mediante su Shell Launcher (ShellAppRuntime.exe). Compruebe primero si el agente ya arranca en una sesión de aplicación publicada y aplique la solución alternativa solo si no es así.
En estas sesiones no se muestra el área de notificación: el agente funciona sin icono visible para el usuario, lo que no afecta en nada a la recogida de datos. Tras aplicar uno de los dos métodos, abra una aplicación publicada y compruebe la presencia del proceso Kabeen.exe bajo la cuenta del usuario, tal como se ha indicado arriba.
Consideraciones de rendimiento
- CPU: impacto mínimo (~1 % por sesión)
- RAM: ~50 MB por sesión de usuario
- Red: envío de datos cada 5 minutos (unos pocos KB)
Solución de problemas
El agente no inicia en la sesión
Verifique que:
- El agente está realmente instalado en el servidor que aloja la sesión (
C:\Program Files\Kabeen) - La sesión no es una sesión RemoteApp ni una aplicación publicada sin configuración de arranque (véase el caso particular anterior)
- Ninguna directiva de grupo ni regla de AppLocker bloquea la ejecución de
Kabeen.exe - El agente no está bloqueado por su EDR/antivirus (véase Autorizar el agente Kabeen en su EDR/antivirus)
Datos no reportados
Verifique que:
- Los flujos HTTPS salientes hacia
api.kabeen.ioeintake.kabeen.ioestán permitidos - La clave API es válida y se distribuye correctamente en el subárbol
HKEY_CURRENT_USERdel usuario - El firewall no bloquea el puerto 443