Autenticación para conexiones remotas

La administración remota de Windows mantiene la seguridad de la comunicación entre equipos mediante la compatibilidad con varios métodos estándar de autenticación y cifrado de mensajes.

Acceso de grupo predeterminado

Durante la instalación, WinRM crea el grupo local WinRMRemoteWMIUsers__. Después, WinRM restringe el acceso remoto a cualquier usuario que no sea miembro del grupo de administración local o del grupo de WinRMRemoteWMIUsers__ . Puede agregar un usuario local, un usuario de dominio o un grupo de dominio a WinRMRemoteWMIUsers__ escribiendo net localgroup WinRMRemoteWMIUsers__ /add <domain>\<username> en el símbolo del sistema. Opcionalmente, puede usar el directiva de grupo para agregar un usuario al grupo.

Configuración de autenticación predeterminada

Las credenciales predeterminadas, el nombre de usuario y la contraseña son las credenciales de la cuenta de usuario que ha iniciado sesión que ejecuta el script.

Para cambiar a otra cuenta en un equipo remoto

  1. Especifique las credenciales en un objeto ConnectionOptions o IWSManConnectionOptions y proporcione eso a la llamada CreateSession .
  2. Establezca WSManFlagCredUserNamePassword en el parámetro flags de la llamada CreateSession .

La lista siguiente contiene una lista de lo que ocurre cuando un script o una aplicación se ejecuta con las credenciales predeterminadas:

  • Kerberos es el método predeterminado de autenticación cuando el cliente está en un dominio y la cadena de destino remota no es uno de los siguientes: localhost, 127.0.0.1 o [::1].
  • Negotiate es el método predeterminado cuando el cliente no está en un dominio, pero la cadena de destino remota es una de las siguientes: localhost, 127.0.0.1 o [::1].

Si proporciona credenciales explícitas con un objeto ConnectionOptions , Negotiate es el método predeterminado. Negociar la autenticación determina si el método de autenticación en curso es Kerberos o NTLM, en función de si los equipos están en un dominio o grupo de trabajo. Si se conecta a un equipo de destino remoto mediante una cuenta local, la cuenta debe tener el prefijo con el nombre del equipo. Por ejemplo, myComputer\myUsername.

Si especifica la autenticación Negotiate, Digest o Basic y no proporciona un objeto ConnectionOptions , recibirá un error que indica que se requieren credenciales explícitas. Si HTTPS no es el transporte, el equipo remoto de destino debe configurarse en la lista de equipos host de confianza.

Para obtener más información sobre los tipos de autenticación habilitados en los valores de configuración predeterminados, vea Instalación y configuración para administración remota de Windows.

Autenticación básica

Para establecer explícitamente la autenticación básica en la llamada a WSMan.CreateSession, establezca las marcas WSManFlagUseBasic y WSManFlagCredUserNamePassword en el parámetro flags . La autenticación básica está deshabilitada en los valores de configuración predeterminados para el cliente WinRM y el servidor WinRM.

Autenticación implícita

Para establecer explícitamente la autenticación implícita en la llamada a WSMan.CreateSession, establezca la marca WSManFlagUseDigest en el parámetro flags . No se admite el resumen. No se puede configurar para el componente de servidor WinRM.

Negociación de la autenticación

Para establecer explícitamente la autenticación Negotiate , también conocida como Autenticación integrada de Windows, en la llamada a WSMan.CreateSession, establezca la marca WSManFlagUseNegotiate en el parámetro flags .

El control de cuentas de usuario (UAC) afecta al acceso al servicio WinRM. Cuando se usa la autenticación Negotiate en un grupo de trabajo, solo la cuenta de administrador integrada puede acceder al servicio. Para permitir que todas las cuentas del grupo Administradores accedan al servicio, establezca el siguiente valor del Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Políticas\Sistema\LocalAccountTokenFilterPolicy = 1

Autenticación Kerberos

Para establecer explícitamente la autenticación Kerberos en la llamada a WSMan.CreateSession, establezca la marca WSManFlagUseKerberos en el parámetro flags . Tanto el cliente como los equipos servidor deben estar unidos a un dominio. Si usa Kerberos como método de autenticación, no puede usar una dirección IP en la llamada a WSMan.CreateSession o IWSMan::CreateSession.

Autenticación basada en certificados de cliente

Para establecer la autenticación basada en certificados de cliente en la llamada a WSMan.CreateSession, establezca la marca WSManFlagUseClientCertificate en el parámetro flags .

Primero debe habilitar la autenticación de certificados tanto en el cliente como en el servicio mediante la herramienta de línea de comandos winrm. Para obtener más información, consulte Habilitación de opciones de autenticación. También debe crear una entrada en la tabla CertMapping en el equipo servidor WinRM. Esto establece una asignación entre uno o varios certificados y una cuenta local. Después de usar el certificado para la autenticación y autorización, el servicio WinRM usa la cuenta local correspondiente para las operaciones realizadas por el servicio WinRM.

La asignación se puede crear para un URI de recurso específico. Para obtener más información, incluido cómo crear una entrada de tabla CertMapping, escriba winrm help certmapping en el símbolo del sistema.

Nota

El certificado de tamaño máximo que WinRM puede usar en este contexto es de 16 KB.

 

Habilitar o deshabilitar opciones de autenticación

La opción de autenticación predeterminada en la instalación del sistema es Kerberos. Para obtener más información, vea Instalación y configuración para la administración remota de Windows.

Si el script o la aplicación requiere un método de autenticación específico que no está habilitado, debe cambiar la configuración para habilitar este tipo de autenticación. Este cambio se puede realizar mediante la herramienta de línea de comandos winrm o a través de directiva de grupo para la administración remota de Windows directiva de grupo Object. También puede optar por deshabilitar determinados métodos de autenticación.

Para habilitar o deshabilitar la autenticación con la herramienta Winrm

  1. Para establecer la configuración del cliente WinRM, use el comando Winrm Set y especifique el cliente. Por ejemplo, el siguiente comando deshabilita la autenticación implícita para el cliente.

    winrm set winrm/config/client/auth @{Digest="false"}

  2. Para establecer la configuración del servidor WinRM, use el comando Winrm Set y especifique el servicio. Por ejemplo, el siguiente comando habilita la autenticación Kerberos para el servicio.

    winrm set winrm/config/service/auth @{Kerberos="true"}

Acerca de la administración remota de Windows

WSMan.CreateSession

Uso de administración remota de Windows