Erros de associação de domínio de instâncias do Amazon EC2 para Linux - AWS Directory Service

Erros de associação de domínio de instâncias do Amazon EC2 para Linux

As informações a seguir podem ajudar a solucionar algumas mensagens de erro que você pode encontrar ao associar uma instância do Amazon EC2 para Linux ao diretório do AWS Managed Microsoft AD.

Não foi possível autenticar ou incluir instâncias do Linux ao domínio

Instâncias do Ubuntu 14.04, 16.04 e 18.04 devem ser capazes de fazer a resolução inversa no DNS para que um realm possa funcionar com o Microsoft Active Directory. Caso contrário, você poderá enfrentar um dos dois cenários a seguir:

Cenário 1: instâncias do Ubuntu que ainda não estão associadas a um realm

Para instâncias do Ubuntu que estão tentando ingressar em um realm, o comando sudo realm join pode não fornecer as permissões necessárias para ingressar no domínio e pode exibir o seguinte erro:

! Não foi possível autenticar para o diretório ativo: SASL(-1): falha genérica: Erro de GSSAPI: um nome inválido foi fornecido (Sucesso) adcli: não foi possível conectar ao domínio EXAMPLE.COM: Não foi possível autenticar para o diretório ativo: SASL(-1): falha genérica: Erro de GSSAPI: Um nome inválido foi fornecido (Êxito) ! Permissões insuficientes para ingressar no realm do domínio: não foi possível ingressar no realm: permissões insuficientes para ingressar no domínio

Cenário 2: instâncias do Ubuntu que estão associadas a um realm

Para instâncias do Ubuntu que já estão associadas a um domínio do Microsoft Active Directory, podem ocorrer falhas em tentativas de SSH na instância usando as credenciais de domínio com os seguintes erros:

$ ssh admin@EXAMPLE.COM@198.51.100

identidade inexistente: /Users/username/.ssh/id_ed25519: Arquivo ou diretório inexistente

admin@EXAMPLE.COM@198.51.100's password:

Permissão negada, tente novamente.

admin@EXAMPLE.COM@198.51.100's password:

Se você fizer login na instância com uma chave pública e verificar o arquivo /var/log/auth.log, poderá visualizar os seguintes erros sobre a incapacidade de localizar o usuário:

May 12 01:02:12 ip-192-0-2-0 sshd[2251]: pam_unix(sshd:auth): falha na autenticação; logname= uid=0 euid=0 tty=ssh ruser= rhost=203.0.113.0

May 12 01:02:12 ip-192-0-2-0 sshd[2251]: pam_sss(sshd:auth): falha na autenticação; logname= uid=0 euid=0 tty=ssh ruser= rhost=203.0.113.0 user=admin@EXAMPLE.COM

May 12 01:02:12 ip-192-0-2-0 sshd[2251]: pam_sss(sshd:auth): recebido para o usuário admin@EXAMPLE.COM: 10 (Usuário não reconhecido pelo módulo de autenticação subjacente)

May 12 01:02:14 ip-192-0-2-0 sshd[2251]: falha na senha para usuário inválido admin@EXAMPLE.COM from 203.0.113.0 port 13344 ssh2

May 12 01:02:15 ip-192-0-2-0 sshd[2251]: Conexão fechada por 203.0.113.0 [preauth]

No entanto, o kinit para o usuário ainda funciona. Veja este exemplo:

ubuntu@ip-192-0-2-0:~$ kinit admin@EXAMPLE.COM Senha para admin@EXAMPLE.COM: ubuntu@ip-192-0-2-0:~$ klist Cache do ticket: FILE:/tmp/krb5cc_1000 Principal padrão: admin@EXAMPLE.COM

Solução temporária

A solução recomendada atual para ambos os cenários é desabilitar o DNS reverso em /etc/krb5.conf na seção [libdefaults] conforme mostrado a seguir:

[libdefaults] default_realm = EXAMPLE.COM rdns = false

Problema de autenticação confiável unidirecional com associação direta ao domínio

Se você tiver uma relação de confiança de saída unidirecional estabelecida entre o AWS Managed Microsoft AD e o Active Directory on-premises, poderá encontrar um problema de autenticação ao tentar se autenticar na instância Linux associada ao domínio usando suas credenciais confiáveis do Active Directory com o Winbind.

Erros

Jul 31 00:00:00 EC2AMAZ-LSMWqT sshd[23832]: Falha na senha para user@corp.example.com de xxx.xxx.xxx.xxx porta 18309 ssh2

Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): ao obter senha (0x00000390)

Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): pam_get_item retornou uma senha

Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): falha na solicitação wbcLogonUser: WBC_ERR_AUTH_ERROR, PAM erro: PAM_SYSTEM_ERR (4), NTSTATUS: **NT_STATUS_OBJECT_NAME_NOT_FOUND**, A mensagem de erro foi: Nome do objeto não encontrado.

Jul 31 00:05:00 EC2AMAZ-LSMWqT sshd[23832]: pam_winbind(sshd:auth): erro de módulo interno (retval = PAM_SYSTEM_ERR(4), user = 'CORP\user')

Solução temporária

Para resolver esse problema, você precisará comentar ou remover uma diretiva do arquivo de configuração do módulo PAM (/etc/security/pam_winbind.conf) de acordo com as etapas a seguir.

  1. Abra o arquivo /etc/security/pam_winbind.conf em um editor de textos.

    sudo vim /etc/security/pam_winbind.conf
  2. Comente ou remova a seguinte diretiva krb5_auth = yes.

    [global] cached_login = yes krb5_ccache_type = FILE #krb5_auth = yes
  3. Pare o serviço Winbind e inicie-o novamente.

    service winbind stop or systemctl stop winbind net cache flush service winbind start or systemctl start winbind