Problema
Quando o Portal HCL acessa o LDAP (neste caso Microsoft® Active Directory), seja para iniciar o servidor ou durante tarefas de configuração, pode ser encontrado “LDAP: código de erro 49”.
Sintoma
Geralmente, as referências de erro SECJ0369E e SECJ0055E serão geradas no SystemOut.log. Existem, no entanto, várias causas principais que podem ser derivadas dos valores que seguem a descrição inicial. Um exemplo é mostrado abaixo.
De SystemOut.log:
[data/hora] 0000000a LdapRegistryI A SECJ0419I: O registro do usuário está atualmente conectado ao servidor LDAP ldap://<hostname>:389.
[data/hora] 0000000a LTPAServerObj E SECJ0369E: Falha na autenticação ao usar LTPA. A exceção é [LDAP: código de erro 49 – 80090308: LdapErr: DSID-0C090334, comentário: erro AcceptSecurityContext,dados 775, em vez de ].
[data/hora] 0000000a distContextMa E SECJ0270E: Falha ao obter credenciais reais. A exceção é javax.naming.AuthenticationException: [LDAP: código de erro 49 – 80090308: LdapErr: DSID-0C090334, comentário: erro AcceptSecurityContext,dados 775, em vez de ]
em com . sun. jndi . ldap . LdapCtx . mapErrorCode ( LdapCtx . java : 3005 );
Nesse caso, validar-ldap é a tarefa de configuração que estava falhando e no ConfigTrace.log vemos:
action-validate-ldap-was-admin-user:
[ldapcheck] ###########################
[ldapcheck] ldapURL: <hostname>:389
[ldapcheck] ldapUser : CN=wasadmin,OU=Portal,OU=Contas,DC=selecionar,DC=corp,DC=org
[ldapcheck] ldapSenha: *********
[ldapcheck] ldapSslEnabled: falso
[ldapcheck] javax.naming.AuthenticationException: [LDAP: código de erro 49 – 80090308: LdapErr: DSID-0C090334, comentário: erro AcceptSecurityContext,dados 775, em vez de ]
[ldapcheck] ERRO: 4
[ldapcheck] Privilégios de autorização inválidos ou insuficientes.
Destino finalizado: action-validate-ldap-was-admin-user
Causa
O erro mostrado abaixo é semelhante sempre que há um problema de autenticação LDAP.
- “A exceção é [LDAP: código de erro 49 – 80090308: LdapErr:DSID-0Cxxxxxx, comentário: erro AcceptSecurityContext, dadosxxx, em vez de ].”
No entanto, há vários valores que podem indicar qual função LDAP está causando o problema. Aqui estão algumas referências gerais para o Microsoft Active Directory:
O código de erro específico do AD é aquele após “data” e antes de “vece” ou “v893” na string de erro real retornada ao processo de vinculação
525 | usuário não encontrado |
52e | credenciais inválidas |
530 | não tem permissão para fazer logon neste momento |
531 | não tem permissão para fazer logon nesta estação de trabalho |
532 | Senha expirada |
533534 | conta desativadaO usuário não recebeu o tipo de logon solicitado nesta máquina |
701 | conta expirou |
773 | o usuário deve redefinir a senha |
775 | conta de usuário bloqueada |
Erros comuns de ligação LDAP do Active Directory:
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados525, v893
HEX: 0x525 – usuário não encontrado
DEZ: 1317 – ERROR_NO_SUCH_USER (A conta especificada não existe.)
NOTA: Retorna quando o nome de usuário é inválido.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados52e, v893
HEX: 0x52e – credenciais inválidas
DEZ: 1326 – ERROR_LOGON_FAILURE (Falha de logon: nome de usuário desconhecido ou senha inválida.)
NOTA: Retorna quando o nome de usuário é válido, mas a senha/credencial é inválida. Impedirá que a maioria dos outros erros sejam exibidos conforme observado.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados530, v893
HEX: 0x530 – não é permitido fazer logon no momento
DEZ: 1328 – ERROR_INVALID_LOGON_HOURS (Falha de logon: violação de restrição de tempo de logon da conta.)
NOTA: Retorna apenas quando apresentado com nome de usuário e senha/credencial válidos.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados531, v893
HEX: 0x531 – não é permitido fazer logon nesta estação de trabalho
DEZ: 1329 – ERROR_INVALID_WORKSTATION (Falha de logon: o usuário não tem permissão para fazer logon neste computador.)
LDAP[userWorkstations: <lista de vários valores de nomes de estações de trabalho>]
NOTA: Retorna apenas quando apresentado com nome de usuário e senha/credencial válidos.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados532, v893
HEX: 0x532 – senha expirada
DEZ: 1330 – ERROR_PASSWORD_EXPIRED (Falha de logon: a senha da conta especificada expirou.)
LDAP[userAccountControl: <bitmask=0x00800000>] – PASSWORDEXPIRED
NOTA: Retorna apenas quando apresentado com nome de usuário e senha/credencial válidos.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados533, v893
HEX: 0x533 – conta desativada
DEZ: 1331 – ERROR_ACCOUNT_DISABLED (Falha de logon: conta atualmente desativada.)
LDAP[userAccountControl: <bitmask=0x00000002>] – ACCOUNTDISABLE
NOTA: Retorna apenas quando apresentado com nome de usuário e senha/credencial válidos.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados701, v893
HEX: 0x701 – conta expirada
DEZ: 1793 – ERROR_ACCOUNT_EXPIRED (A conta do usuário expirou.)
LDAP[accountExpires: <valor de -1, 0 ou valor extremamente grande indica que a conta não expirará>] – ACCOUNTEXPIRED
NOTA: Retorna apenas quando apresentado com nome de usuário e senha/credencial válidos.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados773, v893
HEX: 0x773 – o usuário deve redefinir a senha
DEZ: 1907 – ERROR_PASSWORD_MUST_CHANGE (A senha do usuário deve ser alterada antes de fazer logon pela primeira vez.)
LDAP[pwdLastSet: <valor de 0 indica alteração de senha exigida pelo administrador>] – MUST_CHANGE_PASSWD
NOTA: Retorna apenas quando apresentado com nome de usuário e senha/credencial válidos.
80090308: LdapErr: DSID-0C09030B, comentário: erro AcceptSecurityContext, dados775, v893
HEX: 0x775 – conta bloqueada
DEZ:1909 –ERROR_ACCOUNT_LOCKED_OUT (A conta referenciada está atualmente bloqueada e não pode estar conectada.)
LDAP[userAccountControl: <bitmask=0x00000010>] – BLOQUEIO
NOTA: Retorna mesmo se uma senha inválida for apresentada
oDEZ: os valores não são apresentados nos logs do Portal; no entanto, a revisão da atividade LDAP combinada com a análise de SystemOut.log e as tarefas de configuração relevantes podem ajudar a reduzir a causa raiz.
Resolução
NOTA: Este documento não pretende fornecer uma solução para quaisquer erros de LDAP. Como o erro completo do LDAP descrito na instrução DEC não é capturado nos logs do Portal, este documento pode ser usado para associar os erros encontrados no SystemOut.log a erros comuns do LDAP para MSAD.
Use os códigos acima para verificar as configurações e usuários no LDAP.