Información técnica sobre las conexiones en modo sin agente para sistemas Windows

Las conexiones en modo sin agente en sistemas Windows se basan en el protocolo de conexión remota WinRM. Por lo tanto, WinRM debe estar habilitado en los activos que se van a supervisar.

WinRM HTTP utiliza por defecto el puerto 5985 y WinRM HTTPS el puerto 5986.

El correcto funcionamiento de las conexiones en modo sin agente en Windows puede requerir algunas etapas de configuración descritas a continuación.

Requisitos previos para usar conexiones en modo sin agente

El uso de una cuenta de Administrador local es indispensable, ya que los scripts de análisis utilizan métodos con privilegios:

  • uso de DISM (Deployment Imaging and Servicing Management) - recuperacion de versiones de KB instaladas -
  • uso de la API WUA (Windows Update Agent) - eliminación / descarga / gestión de archivos .cab, gestión de los servicios WUA, despliegue de actualizaciones -
  • acceso a directorios con privilegios - %APPDATA% de todos los usuarios para recuperar las versiones de las aplicaciones instaladas -
  • privilegios potencialmente necesarios para la ejecución de scripts de análisis de Conformidad

Por lo tanto, es necesario crear un usuario Cyberwatch miembro del grupo Administradores local, por ejemplo con el siguiente comando:

$UserPassword = Read-Host -AsSecureString       # Una vez validado el comando, introduzca una contrasena para el usuario Cyberwatch
New-LocalUser "Cyberwatch" -Password $UserPassword
Add-LocalGroupMember -Group 'Administrators' -Member Cyberwatch -Verbose

El nombre del grupo Administrators varia según el idioma del sistema.

Los usuarios miembros de los grupos Protected Users o gMSA no pueden usar el servicio WinRM. Asegúrese de no incluir al usuario Cyberwatch en ninguno de estos grupos.

Habilitar WinRM

El siguiente comando de PowerShell habilita el servicio WinRM si esta deshabilitado, y configura el firewall de Windows en consecuencia:

Enable-PSRemoting -Force

En algunos casos, la sola activación de WinRM no es suficiente: puede ser necesario permitir que las cuentas de administradores locales se conecten vía WinRM, o Cyberwatch devolverá el error WinRM::WinRMAuthorizationError al crear la conexión sin agente.

Para ello, agregue la siguiente clave en el registro de Windows:

New-ItemProperty -Name LocalAccountTokenFilterPolicy -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -propertyType DWord -value 1

El siguiente comando permite verificar que el servicio WinRM esta iniciado, y lo inicia si no se ha hecho correctamente:

winrm quickconfig

Opcional - Desactivar manualmente el firewall para WinRM

A veces puede ser necesario desactivar manualmente el firewall de Windows a pesar de las operaciones anteriores, especialmente en maquinas AWS-EC2. En este caso, el error devuelto por Cyberwatch es Connection expired.

El siguiente comando de PowerShell permite autorizar solicitudes TCP entrantes en el puerto 5985 en el firewall de Windows:

netsh advfirewall firewall add rule name="WinRM-HTTP" dir=in localport=5985 protocol=TCP action=allow

Opcional - Uso de WinRM-Kerberos

Kerberos es un protocolo de autenticación basado en el principio de un tercero de confianza. Su funcionamiento se basa en un centro de distribución de claves (KDC), que emite tickets que permiten al usuario acceder a los recursos de la red. Su funcionamiento se asemeja a los sistemas de autenticación SSO.

El proceso de autenticación Kerberos es el siguiente:

  • El cliente inicia una solicitud de autenticación ante el KDC
  • Si el KDC valida la autenticación, emite un ticket de concesion (TGT)
  • El cliente presenta entonces el TGT para solicitar la autenticación sobre un servicio
  • El servicio en cuestion devuelve el TGT al KDC para validacion
  • Una vez validado, el KDC emite un ticket final que permite la autenticación del cliente en el servicio

Para que el uso de este protocolo sea posible, deben proporcionarse los siguientes datos:

  • Dominio: dominio en el que se agrupan los recursos Kerberos. En el caso de una autenticación WinRM, representa el dominio de su Active Directory
  • KDC: servidor de confianza que permite la distribución de tickets. En un dominio Active Directory, corresponde al FQDN del controlador de dominio
  • Servidor de administracion: servidor de confianza que permite la concesion de tickets de servicio a los clientes. En un dominio Active Directory, corresponde al FQDN del controlador de dominio

A continuación, debe proporcionar un par usuario/contraseña autorizado a autenticarse en el dominio Active Directory indicado.

Requisitos previos para usar WinRM-Kerberos

El servidor Cyberwatch debe poder resolver los nombres de dominio de:

  • el KDC (Key Distribution Center)
  • el servidor de administración
  • cada activo que se va a supervisar

Volver arriba

English Français Español