Arquitectura del servicio
FlexxAgent se compone de un servicio de Windows denominado FlexxAgent Service, que coordina dos procesos:- FlexxAgent, ejecutado a nivel sistema
- FlexxAgent Analyzer, iniciado para cada sesión de usuario.
Ejemplo:
- En un portátil, se ejecutan FlexxAgent (a nivel de sistema) y FlexxAgent Analyzer (bajo la identidad del usuario).
- En un dispositivo con múltiples sesiones, además de FlexxAgent, se ejecutará un proceso FlexxAgent Analyzer por cada sesión.
Consumos
FlexxAgent está optimizado para minimizar el uso de recursos. Los valores aproximados son:- Espacio en disco: < 200 MB
- CPU: < 0.5%
- RAM: 100-200 MB
Proceso FlexxAgent (sistema)
- Recolección de información de rendimiento, hardware, sesiones, perfiles, discos, particiones y servicios de Windows: cada 60 segundos.
- Envío de eventos de error del registro de eventos: cada 10 minutos.
- Actualización de información de perfiles de usuario: cada 15 minutos.
Proceso FlexxAgent Analyzer (usuario)
- Analiza el uso de aplicaciones, datos de diagnóstico y experiencia de usuario.
- Recolección local de datos: cada 15 segundos.
- Envío de reportes al servicio: cada 5 minutos (esta métrica puede cambiar en funcionalidades específicas).
Versiones soportadas
FlexxAgent es compatible con los sistemas operativos Windows actualmente en ciclo de soporte por Microsoft. Aunque puede instalarse en versiones sin soporte:- Windows 7 SP1
- Windows 8.1 SP1
- Windows Server 2008 R2 SP1
- Windows Server 2012
Requisitos de software
FlexxAgent requiere los siguientes componentes:- .NET Framework 4.6.2 o posterior (recomendado: .NET Framework 4.8).
- Windows PowerShell 4.0 o posterior (recomendado PowerShell 5.1).
- Nota: La política de ejecución de Azure PowerShell debe establecerse en Sin restricciones.
Consideraciones para versiones de Windows en EOL
En sistemas fuera de soporte (EOL), FlexxAgent puede presentar limitaciones o falta de compatibilidad con determinadas funcionalidades.Funcionalidades no soportadas
Cuando se utiliza FlexxAgent en sistemas operativos Windows antiguos que están fuera de soporte, no se admiten las siguientes funcionalidades:- Recopilación de métricas de consumo de GPU.
- Ejecución de flujos.
- Ejecución de microservicios por el usuario final.
- Obtención de información de las unidades de almacenamiento.
- En el caso de dispositivos virtuales, detección de broker e hipervisor (limitada según proveedor).
- User Input Delay (UID) (solo disponibles a partir de Windows Server 2019 y Windows 10 versión 1809).
Windows 7 y 2008 R2
FlexxAgent puede instalarse en Windows 7 x64 o Windows Server 2008 R2 SP1 bajo las siguientes condiciones:- Instalar la actualización KB4474419: (SHA-2 code signing support update for Windows Server 2008 R2, Windows 7, and Windows Server 2008: September 23, 2019).
- Instalar la actualización KB3140245: (Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows) y seguir las instrucciones de la sección How to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows de la página de soporte de Microsoft.
- Requiere al menos .NET Framework 4.6 (recomendado: 4.8).
- PowerShell 2.0 con Windows 7 no es compatible con TLS 1.2; instalar Windows Management Framework 5.1, que incluye PowerShell 5.1.
Windows 8 y 2012
La instalación de FlexxAgent soporta Windows 8 bajo las siguientes condiciones:- Requiere .NET Framework 4.6.2 (Microsoft bloquea la instalación de versiones posteriores en Windows 8.0).
- Deben aplicarse todas las actualizaciones de seguridad de Windows para garantizar la compatibilidad con TLS 1.2 y la firma de código SHA-2.
Despliegue desatendido
FlexxAgent admite despliegue desatendido mediante GPOs, Intune, SCCM, u otras herramientas de distribución.Instalación
La instalación de FlexxAgent de forma desatendida se realiza mediante PowerShell.Parámetros admitidos
Desinstalación
Para desinstalar FlexxAgent de forma desatendida:Archivos
C:\Windows\Prefetch\FLEXXAGENT.EXE-XXXXXXXX.pf– donde XXXXXXXX es una cadena de letras y númerosC:\Windows\Temp\FlexxAgentInstallation.log
Carpetas
C:\Program Files\FlexxibleC:\ProgramData\Flexxible
Reinstalación
Para reinstalar FlexxAgent en un dispositivo eliminando su configuración previa se debe ejecutar:Protección contra la desinstalación
Esta funcionalidad impide que un usuario desinstale FlexxAgent. La configuración puede aplicarse a nivel de Producto o Grupo de reporte.Requisitos
- La configuración solo puede realizarla un usuario con rol Administrador de organización.
- Versión mínima de FlexxAgent: 25.4.2.
Configuración a nivel de Producto
- Acceder a Configuración → Organización.
- En el menú, seleccionar la pestaña Productos.
- En la tabla, elegir el entorno sobre el que se desea ejecutar la funcionalidad, y en el campo Acción hacer clic sobre Configuración del agente.
- En el formulario, habilitar o deshabilitar el botón Protección de desinstalación.
- Hacer clic en Guardar.
Configuración a nivel de Grupos de reporte
La ejecución de la funcionalidad puede hacerse sobre uno o varios grupos de reporte.Habilitar la protección a un grupo de reporte
- Acceder a Configuración → Grupos de reporte.
- En la tabla, elegir el grupo de reporte sobre el que se desea ejecutar la funcionalidad, y en el campo Acción hacer clic sobre Configuración del agente.
- En el formulario, editar la funcionalidad Protección de desinstalación (botón con forma de lápiz) para poder elegir entre habilitarla o deshabilitarla.
- Hacer clic en Guardar.
Los grupos de reporte heredan la configuración que se hace a nivel de Producto; no obstante, pueden sobrescribir su propia configuración.
Habilitar la protección a varios grupos de reporte
- Acceder a Configuración → Grupos de reporte.
- En la tabla, seleccionar los grupos de reporte sobre los que se desea ejecutar la funcionalidad.
- Hacer clic en Editar protección de desinstalación. Se desplegarán tres opciones:
- Habilitar protección de desinstalación. Protege a los grupos de reporte contra la desinstalación de FlexxAgent (esta opción no estará disponible si la funcionalidad ya está habilitada en Producto).
- Deshabilitar protección de desinstalación. Permite a los usuarios desinstalar FlexxAgent (esta opción no estará disponible si la funcionalidad ya está deshabilitada en Producto).
- Restablecer protección de desinstalación. plica la configuración que tenga el Producto al que pertenece el grupo de reporte, sea habilitada o deshabilitada.
- La funcionalidad está habilitada en el grupo de reporte al que pertenece.
- La funcionalidad está desactivada en el grupo de reporte (no está habilitada ni deshabilitada), pero está habilitada a nivel Producto.
Formas de desinstalar FlexxAgent con la protección habilitada
Si un usuario tiene habilitada la funcionalidad, pero necesita desinstalar FlexxAgent, tendrá dos opciones:- Mover el dispositivo a un grupo de reporte que no tenga la protección habilitada.
- A través de un token:
- Ir a Workspaces y seleccionar el dispositivo.
- Ejecutar la acción Reveal uninstall token que mostrará un token único para ese dispositivo y que será válido hasta las 23:59:59 UTC del día siguiente.
- Ir al Panel de Control de Windows y desinstalar FlexxAgent introduciendo el token.
Flexxible recomienda tener un grupo de reporte con la Protección contra la desinstalación deshabilitada para facilitar tareas de desinstalación de FlexxAgent en los dispositivos.
Problemas conocidos
Instalación de FlexxAgentProblema 1 - Windows Management Instrumentation (WMI)
Si el dispositivo tiene problemas generados por el servicio Windows Management Instrumentation (WMI) durante la instalación o reinstalación, es posible que el proceso reporte estos errores en la ventana de CMD:Solución
Ejecutar los siguientes comandos:Problema 2 - Restricción de procesos PowerShell
Algunas soluciones de seguridad no permiten que la instalación y/o autoactualización de FlexxAgent se realice de forma eficaz. El instalador podría devolver el mensaje: The process was terminated with errors. A corrupted installation was detected due to external processes. This is usually caused by antivirus activity. Please check your antivirus settings.Solución
Excluir los siguientes archivos:C:\Windows\Temp\FlexxibleIT
C:\Windows\Temp\UpdateFlexxAgent.ps1
Desinstalación de FlexxAgent
Problema - FlexxAgent continúa en la lista de servicios
Podría suceder que FlexxAgent siga apareciendo en la lista de servicios, aunque se haya desinstalado y se hayan borrado todos los ficheros. Esto provocaría que no se pueda volver a instalar.Solución
Ejecutar como administrador el siguiente comando en la ventana de CMD:Configuración de proxy
FlexxAgent admite proxies configurados de forma transparente a nivel de sistema, con o sin autenticación. La configuración del proxy puede realizarse por línea de comandos o mediante la modificación de claves de registro.Configuración de proxy mediante línea de comandos
Instalación con parámetros:ip.ad.dre.ss:port corresponde a la IP o DNS y el puerto del proxy.
O incluyendo credenciales:
Puede que FlexxAgent no tenga acceso al proxy que tiene aplicado en su configuración si está fuera de la red corporativa. Para determinar su accesibilidad, FlexxAgent intenta resolver el registro DNS y realiza una petición TCP al puerto correspondiente. Si el proxy no es accesible, FlexxAgent lo reportará de manera directa (sin proxy).
Configuración de proxy mediante claves de registro
Las claves de registro que almacenan la configuración del proxy se encuentran en:Equipo\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications
Claves de registro relativas a la configuración proxy:
- Clave Proxy_URL
- Clave Proxy_User
- Clave Proxy_Pwd
Clave Proxy_URL
- Ruta:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications - Nombre: Proxy_URL
- Tipo: REG_SZ
- Valores admitidos: la URL y el puerto; por ejemplo
http://192.168.1.1:3128ohttps://192.168.1.1:3128
Clave Proxy_User
- Ruta:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications - Nombre: Proxy_User
- Tipo: REG_SZ
- Valores admitidos: el nombre de usuario para autenticarse en el proxy; por ejemplo
Administrador. Puede omitirse para proxies no autenticados.
Clave Proxy_Pwd
- Ruta:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications - Nombre: Proxy_Pwd
- Tipo: REG_SZ
- Valores admitidos: La contraseña para autenticarse en el proxy. Puede omitirse para proxies no autenticados.
&&&VGhpc0lzTjArQCQzY3VyZVBAJCR3MHJk&&& para el valor “Proxy_Pwd”.
En cualquiera de los dos casos, FlexxAgent cifra el valor en cuanto se inicia o intenta transmitir información.
Puedes generar una cadena codificada en Base64 desde https://www.base64encode.org/.
Dado que que FlexxAgent desencadena un proceso a nivel de sistema (FlexxAgent.exe) y otro a nivel de sesión (FlexxAgent Analyzer.exe) puede ser necesario definir tipos de proxy diferentes para cada uno, dependiendo de cómo actúe el proxy a un nivel u otro.Se puede definir el Tipo de proxy desde la Configuración de FlexxAgent, en
Productos.Logs
Los logs proporcionan información y permiten diagnosticar problemas durante la instalación.- Logs de instalación y actualización
- Logs de FlexxAgent Analyzer
- Logs de FlexxAgent service
Logs de instalación y actualización
Ubicación:C:\Windows\Temp\Flexxible
Contiene información del proceso de instalación o actualización, dependencias y detalles del proceso.
Logs de FlexxAgent Analyzer
Ubicación:%LOCALAPPDATA%\FAAgent\Logs
Pueden ser configurados para incluir o no información por niveles de criticidad.
Logs de FlexxAgent service
Disponibles en el Visor de eventos de Windows, en la rama Aplicación.FlexxAgent Health Status
El proceso FlexxAgent Health Status se ejecuta de forma periódica (cada hora) con el objetivo de evaluar si FlexxAgent funciona correctamente. Para ello realiza la comprobación de su heartbeat y analiza diversas métricas internas que permiten determinar si opera de manera adecuada o si es necesario iniciar un proceso de recuperación. Durante esta evaluación, no se tienen en cuenta factores externos que puedan afectar la comunicación del agente, tales como:- La conectividad del dispositivo en ese momento (puede tener o no conexión WiFi o Ethernet).
- La interferencia de un firewall o proxy en la comunicación.
- Que el servicio esté arrancado.
- Que el servicio no esté deshabilitado; si lo está, se interpreta que un administrador ha decidido realizar dicha acción.
Verificación del proceso de autorreparación de FlexxAgent
FlexxAgent deja rastro en el registro de eventos con las siguientes entradas:- Source: FlexxAgent Service
- Log name: Application
- Event 1001 Checking FlexxAgent health /
<servicename>is up and running. No action required- Event 1002 Disabled service. No action required / Backup not found.
<serviceName>not recoverable- Event 1003 Service
<serviceName>restored from previous backup / Error<message>found when starting<serviceName>with restored backup- Event 1004 Service failed to start and will be repaired
- Event 1005 Service did not report for a long time and will be repaired
- Event 1006 Service was started
- Event 1007 Error found when restarting service after not reporting for a long time
Información obtenida del dispositivo
FlexxAgent recopila datos localmente desde el dispositivo y los envía a las consolas del servicio.Información general
- Nombre. Nombre del dispositivo.
- Estado del dispositivo. Estado de energía del dispositivo. Puede ser Encendido, Apagado o Sin reportar.
- Estado resumido. Si el estado del dispositivo es Apagado, puede indicar si está En mantenimiento o si solo está Apagado. Si el estado del dispositivo es Sin reportar, puede indicar si el motivo es Desconocido.
- Versión de FlexxAgent. Número de versión de FlexxAgent instalado en el dispositivo.
- Estado de FlexxAgent. En ejecución o Detenido.
- Último informe de FlexxAgent. Fecha y hora del último reporte de FlexxAgent en el dispositivo. Es posible que esta fecha no sea reciente si el servicio FlexxAgent está detenido o si el dispositivo está apagado.
- Tipo de conexión. Indica si el dispositivo está conectado por LAN inalámbrica, Red móvil, Ethernet o Desconocido.
Cuando la conexión se realiza a través de una red LAN inalámbrica, es posible que aparezca un mensaje indicando que el dispositivo tiene una señal del 0 % o que FlexxAgent no está enviando reportes. Esto ocurre porque el servicio de ubicación de Windows está desactivado en el dispositivo. Por favor, consulta este enlace para saber cómo activarlo.
- Red. Direccionamiento de la red del dispositivo e IP pública de salida a internet. Estas redes se crean automáticamente cuando hay más de cuatro dispositivos conectados a la misma red.
- Subred. Direccionamiento de la red del dispositivo.
- Dirección MAC. Identificador único de la tarjeta de red del dispositivo.
- Red cambiada. Fecha y hora de la última vez que cambió la red.
- Sesiones. Número de sesiones de usuario establecidas en el dispositivo.
- Último usuario. Último usuario conectado al dispositivo en formato dominio\cuenta.
- Conectado desde. Cuando el dispositivo seleccionado es un VDI o similar, muestra el nombre del dispositivo desde el cual se accede al dispositivo virtual.
- Tiempo de conexión. Fecha y hora de inicio de la sesión.
- Dominio. Dominio al que pertenece el dispositivo.
- Código. Permite identificar el dispositivo con un código personal. Este código debe asignarse manualmente y de forma individual mediante la opción Editar, en el menú de Operaciones del detalle del dispositivo.
- OU. Unidad organizativa del dominio en la que reside la cuenta del dispositivo.
- Descripción. Permite al usuario identificar el dispositivo con una descripción personal. Este campo debe asignarse manualmente y de forma individual mediante la opción Editar en el menú Operaciones del detalle del dispositivo.
Información ampliada
- RAM. Cantidad total de RAM disponible.
- Núcleos. Número de núcleos del procesador.
- Dirección IP. Dirección IP del dispositivo en la red local.
- OS. Tipo de sistema operativo.
- Sistema operativo. Versión del sistema operativo.
- Compilación del SO. Número de compilación del sistema operativo.
- Tiempo de actividad. Tiempo que el dispositivo ha estado ejecutándose desde la última vez que se inició o reinició. Si el inicio rápido (fastboot) está habilitado, el dispositivo solo está apagado cuando se reinicia.
- Tiempo de inactividad. Indica el tiempo transcurrido desde que se recibió el último evento de entrada en la sesión de usuario de FlexxAgent. Muestra 0 si el usuario está utilizando de forma efectiva cualquier dispositivo de entrada conectado al dispositivo.
- Última actualización de Windows. Fecha de la última aplicación de actualizaciones en el dispositivo.
- Duración del último arranque. Duración del arranque (boot) del último inicio.
- Reinicio pendiente. Muestra si el dispositivo requiere un reinicio por actualizaciones.
- Tipo de Windows. Tipo de sistema operativo Windows: Cliente o Servidor.
- Disco del sistema. Cantidad de espacio libre del disco respecto a la capacidad total.
- IP Pública de ISP. El ISP se obtiene utilizando la IP pública. Puede no ser exacto si está conectado a una red empresarial o está utilizando una VPN.
- Región. Se obtiene utilizando la IP pública. Es posible que no sea precisa si está conectado a una red empresarial o utiliza una VPN.
- Tipo de broker. Si se detecta, muestra el broker de sesiones utilizado.
- Hipervisor. Si se detecta virtualización, muestra el hipervisor utilizado.
- Grupo de entrega. Para VDIs, muestra el grupo de entrega al que pertenece el dispositivo.
- Suscripción / Broker. Servicio de Microsoft Azure o Citrix que administra las conexiones de los usuarios al dispositivo.
- Estado de registro. Indica el estado del registro del dispositivo virtual.
- Modo de mantenimiento. Indica si el modo de mantenimiento del dispositivo virtual está Encendido o Apagado.
- Tipo de máquina virtual. Indica el tipo de dispositivo virtual.
- Session Analyzer. Indica si está o no configurado para iniciar session Analyzer en todas las sesiones del usuario.
- Versión de Session Analyzer. Número de versión de Session Analyzer.
- Grupo de reporte. Grupo de reporte al que pertenece el dispositivo.
- Fabricante del BIOS. Nombre del fabricante del firmware del dispositivo.
- Versión del BIOS. Versión del firmware del dispositivo.
- Versión de SMBIOS. Versión del System Management BIOS del dispositivo.
- Número de serie del BIOS. Número único asignado al dispositivo por su fabricante. Disponible solo si el fabricante decidió que el dispositivo necesitaba uno.
- Versión de Google Chrome. Número de compilación de Google Chrome, si está instalado.
- Versión de Microsoft Edge. Número de compilación de Microsoft Edge, si está instalado.
Información adicional
FlexxAgent agrupa información sobre los siguientes aspectos del dispositivo:Sesiones
Muestra una tabla con el registro de las sesiones de usuario establecidas en el dispositivo e información puntual sobre el tipo de sesión, estado de conexión o fecha de inicio.Rendimiento
Presenta gráficas de los principales contadores de rendimiento del dispositivo, basadas en datos recopilados durante las últimas dos horas. Se incluyen las siguientes:- CPU. Porcentaje de uso del procesador
- Memoria. Cantidad de memoria utilizada y disponible
- Uso del ancho de banda. Cantidad de tráfico entrante y saliente
- UID. Retraso de entrada del usuario. Se refiere al lapso de tiempo entre el momento en que un usuario realiza una acción, como hacer clic en un botón del ratón o presionar una tecla, y el momento en que la respuesta correspondiente se muestra en la pantalla o se ejecuta.
- Señal de conexión. Porcentaje de recepción de señal cuando el dispositivo se conecta mediante algún método inalámbrico.
Trabajos
Todas las acciones realizadas desde el módulo de Workspaces en uno o varios dispositivos son auditadas en la cola deTrabajos. Esta pestaña permite consultar los trabajos realizados para el dispositivo activo.
Alertas
Presenta una tabla con el listado de todas las alertas activas en el dispositivo. Cuando se registra alguna alerta, se muestra un aviso en la parte superior de la página.Registro de eventos
Información sobre los eventos presentes en el dispositivo. Por defecto, se filtran los errores y solo se muestran los que tengan nivel de severidad Error o Crítico. FlexxAgent obtiene esta información en intervalos de 10 minutos. Mediante las opciones disponibles en la configuración, se permite modificar el tiempo de muestreo o incluir eventos mediante su ID.Registro de conexiones
Presenta un listado de las conexiones establecidas con el dispositivo, incluyendo cada instancia en la que un usuario inicia sesión o reconecta una sesión previamente desconectada. La fecha de finalización de la sesión se registra únicamente para sesiones que han sido desconectadas o cerradas. Mientras la sesión se mantenga activa, este campo permanecerá vacío.Servicios de Windows
Esta opción muestra el estado de los servicios y ejecutar operaciones de inicio, reinicio o parada de servicios Windows.Discos
Muestra un listado de todas las particiones presentes en los discos identificados en el sistema, así como estadísticas de su capacidad y niveles de ocupación.Historial de arranque
Presenta una gráfica sobre la duración de los últimos diez arranques (boot) del dispositivo.Notificaciones
Permite ver si el dispositivo tiene alguna notificación activa. Cuando la hay, se muestra un mensaje en la parte superior de la página.Seguridad
Desde este apartado se puede consultar información sobre el antivirus instalado, así como gráficas sobre el consumo de memoria RAM y CPU.- Antivirus. Nombre de la solución antivirus instalada o integrada en el sistema. Si se detecta más de uno, se indica Múltiple.
- Versión del antivirus. Número de versión instalada.
- Estado del antivirus. Estado operativo de la solución.
La detección del antivirus es automática solo en el sistema operativo Windows Client (Windows 7 o versiones posteriores). En Windows Server solo se detectará Bitdefender y Windows Defender, y estos serán los únicos que mostrarán el uso de memoria RAM y CPU.
- Endpoint Detection and Response (EDR). Nombre de la solución de seguridad de endpoints; en este caso CrowdStrike.
- Versión de CrowdStrike. Número de versión instalada.
- Estado de CrowdStrike. Estado operativo de la solución.
FlexxAgent sincroniza las alertas de CrowdStrike cada minuto.
- Gravedad. Nivel de criticidad asignado a la detección según el impacto potencial o riesgo de la amenaza.
- Creado. Fecha y hora en que se generó la detección en el sistema.
- Nombre de usuario. Usuario asociado a la actividad o proceso que originó la detección.
- Estado. Estado actual de la detección.
- Nombre parta mostrar. Nombre descriptivo asignado a la detección, que resume el tipo de amenaza o comportamiento identificado.
- Descripción. Información ampliada sobre la detección.
- Línea de comandos. Comando o instrucción ejecutada en el dispositivo que generó o está relacionada con la detección.