Apache2, Kerberos: gss_accept_sec_context () falhou: foi solicitado um mecanismo não suportado

1

Eu quero usar o Kerberos e o Apache 2 no linux com mod_auth_kerb.

Eu adicionei o .htaccess ao meu projeto com o seguinte:

#SSLRequireSSL
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms DOMAIN.COM
Krb5KeyTab /etc/httpd/httpd.keytab
KrbLocalUserMapping On
require valid-user

Quando tentei testar meu logon único no IE ou no Firefox, recebi o seguinte erro no log do apache:

[Thu Jan 19 21:03:27 2012] [error] [client 10.65.0.1] gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)

Eu não sei o que é e o que devo fazer para que isso funcione.

Meu objetivo é fazer com que REMOTE_USER seja preenchido pelo nome de usuário do AD. Mas agora eu não posso fazer nada por causa desse erro ...

    
por petRUShka 19.01.2012 / 18:25

3 respostas

1

Houve um problema com os principais. Eu recriei o /etc/httpd/httpd.keytab e adicionei o principial HTTP corretamente e tudo funciona bem!

    
por 19.01.2012 / 19:17
0

Eu descobri outro motivo para esse erro:
O Windows tenta autenticar com o NTLM. Na verdade, essa é a raiz do problema.

Eu não entendo como recriar o keytab ajudou, o erro seria algo como "Entrada de tabela de chaves não encontrada". Windows tenta autenticar via NTLM quando não é possível adquirir um ticket do KDC. Para mim, a razão para isso era que meu servidor não estava localizado no mesmo domínio. O domínio era ad.domain.com , mas meu servidor estava localizado em something.domain.com . Tenho certeza que você pode permitir isso de alguma forma também, mas a solução fácil é simplesmente alterar o nome do host apontando para o servidor (e, em seguida, criando um novo keytab para esse domínio).

    
por 19.06.2012 / 11:40
0

Em uma configuração simples, usando mod_auth_gssapi e FreeIPA como o servidor krb5 e para gerar keytabs, descobri que adicionar o seguinte ao lado do comando AuthType solucionou o problema.

BrowserMatch Windows gssapi-no-negotiate

Com base na resposta do andsens, parece que isso está acontecendo em clientes Windows que tentam usar o NTLM. GssapiAllowedMech krb5 e GssapiBasicAuthMech krb5 não dão um resultado bem-sucedido à negociação, então a única solução parece ser desabilitar a negociação. Não posso garantir que isso seja preciso, mas funcionou para mim.

A documentação correspondente é aqui

    
por 18.02.2018 / 19:39