Ir para o conteúdo

Como faço para solucionar erros de autenticação ao usar o RDP para me conectar a uma instância Windows do EC2?

8 minuto de leitura
0

Recebo erros de autenticação quando uso o Remote Desktop Protocol (RDP) para fazer login na minha instância Windows do Amazon Elastic Compute Cloud (Amazon EC2).

Breve descrição

É possível receber os seguintes erros de autenticação ao usar o RDP para fazer login em uma instância Windows do Amazon EC2:

"Ocorreu um erro de autenticação. The Local Security Authority cannot be contacted.”

“The remote computer that you are trying to connect to requires Network Level Authentication (NLA), but your Windows domain controller cannot be contacted to perform NLA. Se você for administrador no computador remoto, poderá desativar a NLA usando as opções na guia Remoto da caixa de diálogo Propriedades do sistema."

Esses erros podem ocorrer nas seguintes situações:

  • A Autenticação de camada de rede (NLA) está ativada para o servidor.
  • A relação de confiança entre seu domínio e a instância do EC2 associada a esse domínio falha durante o login do RDP.

É possível usar o runbook AWSSupport-TroubleshootRDP ou solucionar os erros manualmente.

Resolução

A NLA está ativada para o servidor

Erros de NLA ocorrem quando uma instância perde a conectividade com um controlador de domínio porque as credenciais do domínio não estão autenticadas. Para solucionar esse problema, use um dos métodos a seguir para desativar o NLA em uma instância inacessível:

  • Execute a automação AWSSupport-TroubleshootRDP do AWS Systems Manager para modificar as configurações da instância.
  • Use o Gerenciador de Sessões do Systems Manager ou o comando aws:runPowerShellscript.
  • Altere manualmente o registro off-line.

Observação: você deve alterar o registro ao alterar o NLA. Antes de começar, crie uma imagem de máquina da Amazon (AMI) da sua instância. Isso cria um backup antes de alterar o registro.

Execute a automação AWSSupport-TroubleshootRDP

Pré-requisitos:

  • Analise as alterações nas configurações do RDP, no serviço do RDP e nos perfis de firewall do Windows.
  • Certifique-se de que a instância do EC2 de destino tenha um perfil de perfil de instância do AWS Identity and Access Management (AWS IAM) com a política gerenciada AmazonSSMManagedInstanceCore da Amazon anexada.
  • Verifique se seu usuário ou perfil do IAM atual tem as permissões necessárias. Para mais informações, consulte a seção Permissões obrigatórias do IAM em AWSSupport-TroubleshootRDP.
    Observação: se você selecionar a opção AllowOffline, esse runbook chamará o runbook AWSSupport-ExecuteEC2Rescue para realizar a correção off-line. Para iniciar o runbook, você deve ter anexada a política gerenciada do IAM AmazonSSMAutomationRole. Para obter mais informações, consulte AWSSupport-StartEC2RescueWorkflow.

Para executar o runbook do Systems Manager, conclua as seguintes etapas:

  1. Abra o console do Systems Manager.
  2. No painel de navegação, selecione Documentos.
  3. Na barra de pesquisa, digite AWSSupport-TroubleshootRDP.
  4. Clique no documento AWSSupport-TroubleshootRDP.
  5. Selecione Executar automação.
  6. Selecione Executar.

Depois que a automação for concluída, analise os resultados detalhados na seção Saídas.

Use o Gerenciador de Sessões do Systems Manager

Importante: a instância deve ter o Systems Manager Agent (SSM Agent) instalado e estar on-line. A instância também deve ter um perfil do IAM que conceda permissões para o Gerenciador de Sessões. Para obter mais informações, consulte Concluir os pré-requisitos do Session Manager.

Para adicionar chaves de registro e desativar o NLA com o Gerenciador de Sessões, conclua as seguintes etapas:

  1. Abra o console do Systems Manager.
  2. No painel de navegação, clique em Gerenciador de frota.
  3. Escolha a instância gerenciada à qual você deseja se conectar.
  4. No menu Ações do nó, selecione Iniciar sessão do terminal.
  5. Execute os seguintes comandos na sessão do terminal:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /freg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
    

Use o comando aws:runPowerShellscript

Importante: a instância deve ter o SSM Agent instalado e estar on-line. A instância também deve ter um perfil do IAM que conceda permissões para o Gerenciador de Sessões. Para obter mais informações, consulte Concluir os pré-requisitos do Session Manager.

Para adicionar chaves de registro e desativar o NLA com o documento de comando aws:runPowerShellscript, conclua as seguintes etapas:

  1. Abra o console do Systems Manager.
  2. No painel de navegação, clique em Executar comando e, em seguida, Executar um comando.
    Em Documento de comando, selecione AWS-RunPowerShellScript.
    Em Parâmetros do comando, insira os seguintes comandos:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /freg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
    Em Seleção de destino, escolha Escolher instâncias manualmente e selecione sua instância.
  3. Escolha Executar.
  4. Espere até que o Status geral mude para Sucesso. Atualize a página após 2 minutos.
  5. Reinicie a instância.
  6. Use o RDP para fazer login na instância.

Altere manualmente o registro off-line

Conclua as etapas a seguir:

  1. Interrompa a instância inacessível e separe o volume raiz.

  2. Execute uma nova instância na mesma Zona de disponibilidade da instância inacessível que você interrompeu. A nova instância se torna sua instância de resgate.

    Importante: é uma prática recomendada executar uma instância do Windows diferente da instância inacessível para evitar problemas de assinatura de disco.

  3. Anexe o volume desanexado à instância de resgate como /dev/xvdf.

  4. Use o RDP para conectar a instância de resgate e, depois, coloque on-line o volume que você acabou de anexar no Gerenciador de disco.

  5. Em um prompt de comando, digite regedit.exe e pressione Enter para abrir o Editor do registro.

  6. Selecione HKEY_LOCAL_MACHINE, clique em Arquivo e, em seguida, selecione Carregar Hive.

  7. Vá até a pasta Windows no volume anexado e selecione o arquivo SYSTEM. O caminho padrão é D:\Windows\System32\config.

  8. Dê um nome ao arquivo SYSTEM. Por exemplo, badsys.

  9. O arquivo do sistema badsys agora aparece em HKEY_LOCAL_MACHINE. Em badsys, vá até ControlSet001, Controle, Servidor do terminal, WinStations, RDP-Tcp.

  10. Clique duas vezes em SecurityLayer e defina os dados de valor como 0.
    Selecione UserAuthentication e defina os dados de valor como 0.
    Selecione fAllowSecProtocolNegotiation e defina os dados de valor como 0.

  11. Selecione badsys, clique em Arquivo e, em seguida, selecione Descarregar Hive.

  12. Depois que o hive for descarregado, abra o Gerenciador de disco e coloque o disco off-line.

  13. Separe o volume da instância de resgate e anexe-o à instância inacessível como o volume raiz (/dev/sda1).

  14. Inicie a instância e teste o RDP.

A relação de confiança falha durante o login do RDP

Use credenciais de usuário em cache para tentar fazer login na instância inacessível.

Pré-requisitos:

  • Uma conta local que pode se autenticar com êxito na instância do EC2.
  • (Opcional) Pelo menos uma conta de domínio que estava conectada quando a instância se comunicou com o controlador de domínio. Para que a conta de domínio funcione, suas credenciais devem ser armazenadas em cache no servidor.
    Observação: é prática recomendada usar uma conta local.
  • Quando o controlador de domínio não estiver disponível, certifique-se de que a configuração do número de logins anteriores para armazenar em cache esteja definida como pelo menos 1. Você deve fazer isso para usar logins interativos. É possível definir a política para o valor padrão de 10. Por padrão, a política não é definida e é possível usar a política local do servidor.

Para usar credenciais de usuário em cache para fazer login, conclua as seguintes etapas:

  1. Abra o console do Amazon EC2.
  2. No painel de navegação, selecione Grupos de segurança.
  3. Escolha Criar grupo de segurança.
  4. Adicione um nome e uma descrição para o grupo de segurança.
  5. Em Regras de entrada, selecione Adicionar regra.
    Em Tipo, selecione RDP. Em seguida, forneça informações para a origem da qual você deseja usar o RDP para se conectar.
  6. Em Regras de saída, remova todo o acesso de saída.
  7. Escolha Criar grupo de segurança.
  8. No painel de navegação, selecione Instâncias e, em seguida, selecione a instância inacessível.
  9. Clique em Ações, selecione Segurança e, em seguida, clique em Alterar grupos de segurança. Remova os grupos de segurança existentes e atribua o grupo de segurança que você acabou de criar.
  10. Use a conta de domínio normal para usar o RDP para se conectar à instância do EC2. Como você removeu o acesso de saída do Amazon EC2, o RDP usa as credenciais em cache armazenadas no servidor.

Observação: inicialmente, a autenticação é feita por meio do controlador de domínio. Como não há acesso de saída do Amazon EC2, a autenticação eventualmente verifica as credenciais em cache armazenadas no servidor. A autenticação é faz uma nova tentativa com as credenciais em cache e o login é realizado com sucesso. Depois de fazer login, é possível alterar as configurações do grupo de segurança de volta ao estado original. Em seguida, continue corrigindo quaisquer problemas com seu domínio.

Solução de problemas extra

Se você ainda não conseguir se conectar à instância, consulte Como soluciono problemas de conexão do RDP com a minha instância Windows do Amazon EC2?

Informações relacionadas

Comando de execução do AWS Systems Manager

Gerenciador de Sessões do AWS Systems Manager

Executar uma operação automatizada com tecnologia do Systems Manager Automation

Configurar a automação

Referência do runbook do Systems Manager Automation