Autenticação para conexões remotas

Windows Gerenciamento Remoto mantém a segurança para comunicação entre computadores, oferecendo suporte a vários métodos padrão de autenticação e criptografia de mensagem.

Acesso de grupo padrão

Durante a instalação, o WinRM cria o grupo local WinRMRemoteWMIUsers__. Em seguida, o WinRM restringe o acesso remoto a qualquer usuário que não seja membro do grupo de administração local ou do grupo WinRMRemoteWMIUsers__ . Você pode adicionar um usuário local, um usuário de domínio ou um grupo de domínio a WinRMRemoteWMIUsers__ digitando o grupo de localidades net WinRMRemoteWMIUsers__ /add <domain>\<username> no prompt de comando. Opcionalmente, você pode usar o Política de Grupo para adicionar um usuário ao grupo.

Configurações de Autenticação Padrão

As credenciais padrão, o nome de usuário e a senha são as credenciais para a conta de usuário conectada que executa o script.

Para alterar para outra conta em um computador remoto

  1. Especifique as credenciais em um objeto ConnectionOptions ou IWSManConnectionOptions e forneça-as para a chamada CreateSession .
  2. Defina o WSManFlagCredUserNamePassword no parâmetro flags na chamada CreateSession .

A lista a seguir contém uma lista do que ocorre quando um script ou aplicativo é executado sob as credenciais padrão:

  • Kerberos é o método padrão de autenticação quando o cliente está em um domínio e a cadeia de caracteres de destino remoto não é um dos seguintes: localhost, 127.0.0.1 ou [::1].
  • Negociar é o método padrão quando o cliente não está em um domínio, mas a cadeia de caracteres de destino remoto é uma das seguintes: localhost, 127.0.0.1 ou [::1].

Se você fornecer credenciais explícitas com um objeto ConnectionOptions , Negotiate será o método padrão. A autenticação de negociação determina se o método de autenticação em andamento é Kerberos ou NTLM, dependendo se os computadores estão em um domínio ou grupo de trabalho. Se estiver se conectando a um computador de destino remoto usando uma conta local, a conta deverá ser prefixada com o nome do computador. Por exemplo, myComputer\myUsername.

Se você especificar a autenticação Negotiate, Digest ou Basic e não fornecer um objeto ConnectionOptions , receberá um erro indicando que as credenciais explícitas são necessárias. Se HTTPS não for o transporte, o computador remoto de destino deverá ser configurado na lista de computadores host confiáveis.

Para obter mais informações sobre os tipos de autenticação que estão habilitados nas configurações padrão, consulte Instalação e Configuração para Windows Gerenciamento Remoto.

Autenticação Básica

Para estabelecer explicitamente a autenticação básica na chamada para WSMan.CreateSession, defina os sinalizadores WSManFlagUseBasic e WSManFlagCredUserNamePassword no parâmetro flags . A autenticação básica está desabilitada nas configurações padrão para o cliente WinRM e o servidor WinRM.

Autenticação Digest

Para estabelecer explicitamente a autenticação Digest na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseDigest no parâmetro flags . Não há suporte para Digest. Ele não pode ser configurado para o componente do servidor WinRM.

Negociar Autenticação

Para estabelecer explicitamente a autenticação Negotiate, também conhecida como autenticação integrada Windows, na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseNegotiate no parâmetro flags.

O UAC (Controle de Conta de Usuário) afeta o acesso ao serviço WinRM. Quando a autenticação Negotiate é usada em um grupo de trabalho, somente a conta de Administrador interna pode acessar o serviço. Para permitir que todas as contas no grupo Administradores acessem o serviço, defina o seguinte valor do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\\ Windows CurrentVersionPoliciesSystemLocalAccountTokenFilterPolicy\\\ = 1

Autenticação Kerberos

Para estabelecer explicitamente a autenticação Kerberos na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseKerberos no parâmetro flags . Os computadores cliente e servidor devem ser unidos a um domínio. Se você usar Kerberos como o método de autenticação, não poderá usar um endereço IP na chamada para WSMan.CreateSession ou IWSMan::CreateSession.

Autenticação baseada em certificado do cliente

Para estabelecer a autenticação baseada em certificado do cliente na chamada para WSMan.CreateSession, defina o sinalizador WSManFlagUseClientCertificate no parâmetro flags .

Primeiro, você deve habilitar a autenticação de certificado no cliente e no serviço usando a ferramenta de linha de comando do Winrm. Para obter mais informações, consulte Habilitar opções de autenticação. Você também deve criar uma entrada na tabela CertMapping no computador do servidor WinRM. Isso estabelece um mapeamento entre um ou mais certificados e uma conta local. Depois que o certificado for usado para autenticação e autorização, a conta local correspondente será usada para operações executadas pelo serviço WinRM.

O mapeamento pode ser criado para um URI de recurso específico. Para saber mais, incluindo como criar uma entrada de tabela CertMapping, digite winrm ajuda a certificar-se no prompt de comando.

Observação

O certificado de tamanho máximo utilizável pelo WinRM neste contexto é de 16 KB.

 

Habilitar ou desabilitar opções de autenticação

A opção de autenticação padrão na instalação do sistema é Kerberos. Para obter mais informações, consulte Instalação e Configuração para Windows Gerenciamento Remoto.

Se o script ou aplicativo exigir um método de autenticação específico que não esteja habilitado, você deverá alterar a configuração para habilitar esse tipo de autenticação. Essa alteração pode ser feita usando a ferramenta de linha de comando winrm ou por meio de Política de Grupo para o objeto Política de Grupo de gerenciamento remoto Windows. Você também pode optar por desabilitar determinados métodos de autenticação.

Para habilitar ou desabilitar a autenticação com a ferramenta Winrm

  1. Para definir a configuração do cliente WinRM, use o comando Conjunto do Winrm e especifique o cliente. Por exemplo, o comando a seguir desabilita a autenticação digest para o cliente.

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

  2. Para definir a configuração do servidor WinRM, use o comando Conjunto do Winrm e especifique o serviço. Por exemplo, o comando a seguir habilita a autenticação Kerberos para o serviço.

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

Sobre Windows Gerenciamento Remoto

WSMan.CreateSession

Usando Windows Gerenciamento Remoto