A validação do TGT falha, mas apenas para um usuário

A validação do TGT falha, mas apenas para um usuário

Estou vendo a coisa mais estranha aqui. Tenho algumas máquinas RHEL3, 4 e 5 que validam as credenciais do usuário por meio do Kerberos com um controlador de domínio Active Directoy como KDC.

Isso funciona para todos os meus usuários, salve um. Háumconta que não consegue fazer login em máquinas RHEL3 Linux e gera os seguintes erros:

May 31 13:53:19 mybox sshd(pam_unix)[7186]: authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1  user=user
May 31 13:53:20 mybox sshd[7186]: pam_krb5: TGT verification failed for `user'
May 31 13:53:20 mybox sshd[7186]: pam_krb5: authentication fails for `user'

Outras contas, como a minha, estão bem:

May 31 17:25:30 mybox sshd(pam_unix)[12913]: authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1  user=myuser
May 31 17:25:31 mybox sshd[12913]: pam_krb5: TGT for myuser successfully verified
May 31 17:25:31 mybox sshd[12913]: pam_krb5: authentication succeeds for `myuser'
May 31 17:25:31 mybox sshd(pam_unix)[12915]: session opened for user myuser by (uid=0)

Como você pode ver, a validação do TGT falha. Isso acontece apenas para esta conta específica, e não para qualquer outra.

A senha da conta de usuário com falha foi redefinida. Inspecionei os dois objetos de usuário no Active Directory, mas não vejo nada fora do comum.

Se eu tiver o login da conta de usuário com falha em uma caixa RHEL4 ou 5, não há problema, então deve ser específico do RHEL3, mas o fato de apenas uma conta sofrer com isso me alude. Talvez alguém já tenha visto isso antes?

Responder1

Você pode, kinitcomo usuário que trabalha e não trabalha, na caixa Unix? Se sim, o que klistdiz para cada um?

Depois de fazer isso, tente usar um dos ingressos e veja o que a klist mostra para cada um.

Se kinitfuncionar, e os tickets que você conseguir funcionarem (tente voltar para a caixa novamente, por exemplo), então algo está realmente estranho, e não tenho certeza para onde ir em seguida sem poder tocar na caixa.

Responder2

Responderei descaradamente a minha própria pergunta, porque encontramos a resposta. O objeto de usuário que falhou na autenticação continha algum tipo de certificado, o que tornava esse objeto bastante grande em comparação com outros objetos de usuário.

Kerberos, que é um componente do Active Directory, possui uma propriedade chamada ‘MaxTokenSize’. Por padrão, está definido para 12.000 bytes. Nas versões mais antigas do Active Directory são 8.000 bytes. Na maioria das vezes você vê pessoas tendo problemas com isso, é quando elas colocam os usuários em muitos grupos (algo na faixa de 70 a 100 grupos). Ter objetos de usuário tão grandes faz com que MaxTokenSize seja muito pequeno para o buffer necessário para autenticação, de acordo comeste artigo do TechNet.

Não consegui rastrear nenhuma fonte que falasse sobre esse problema em relação a clientes que executam Linux, mas descobriesse sitesobre OpenAFS (que usa Kerberos), que fala sobre tickets que são muito grandes ao usar Kerberos do AD.

Para resumir a história, o usuário com quem tive problemas não estava em muitos grupos, mas como disse, ele tinha um certificado enorme em seu objeto LDAP, o que o tornava bastante grande.

A remoção do certificado reduziu o objeto de usuário o suficiente para reativar a autenticação Kerberos no RHEL3.

informação relacionada