Kerberos KDC não tem suporte para o tipo de criptografia ao obter credenciais

6

Estou configurando uma autenticação do Apache / SSO com um AD com o Kerberos. Meu servidor http é um Debian Wheezy e o AD é um Windows Server 2012.

Eu gerava arquivos keytabs no WS2012 com o comando kpass para cada tipo de criptografia disponível no WS2012.

Quando tento abrir uma sessão com um usuário [email protected] com kinit , funciona.

Quando tento abrir uma sessão com meu HTTP/[email protected] , recebo a mensagem:

kvno HTTP/[email protected]
kvno: KDC has no support for encryption type while getting credentials for HTTP/[email protected]

Além disso, quando verifico a criptografia usada para [email protected] , tenho:

root@SERVER:~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting       Expires              Service principal
03/04/2015 12:48:21  03/04/2015 22:48:17  krbtgt/[email protected]
        renew until 04/04/2015 12:48:21, Etype (skey, tkt): arcfour-hmac, arcfour-hmac

Eu tentei personalizar meu /etc/krb5.conf com:

  default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
  default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5

E usando o arquivo keytab criptografado com arcfour-hmac sem sucesso.

Eu não entendo como alterar o tipo de criptografia usado para se comunicar, por que ele sempre quer o arcfour-hmac e porque quando eu der a criptografia arcfour-hmac, nada muda ...

Como ter certeza de que as alterações do /etc/krb5.conf são eficazes e como fazer com que a geração de tíquete do Kerberos funcione também?

    
por lazzio 03.04.2015 / 15:04

2 respostas

4

Os tipos de criptografia com suporte de um controlador de domínio do Active Directory são listados no atributo msDS-SupportedEncryptionTypes do objeto de computador do controlador de domínio. Em uma instalação padrão, eles são geralmente algo como:

RC4_HMAC_MD5
AES128_CTS_HMAC_SHA1_96
AES256_CTS_HMAC_SHA1_96

Isto é um bitmask que funciona com o decimal 28, então seria algo como 00011100 .

Então, quando você pergunta por que o controlador de domínio "sempre quer apenas ARC4-HMAC", é porque seu cliente não tem nenhum dos outros dois tipos de criptografia em comum com o controlador de domínio, então eles são eliminados durante a negociação. processo.

(Nota: RC4_HMAC_MD5 é realmente o pior e o mais fraco de todos os possíveis tipos de criptografia aqui, mas às vezes também é necessário suportar cenários legados e interoperabilidade com produtos não-Microsoft.)

Procurei em alguma documentação e encontrei um exemplo do arquivo de configuração de outra pessoa e achei que isso poderia ser útil:

link

; for Windows 2008 with AES
   default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
   default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
   permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

Observe que, além de oferecer suporte a tipos de criptografia melhores, eles também estão especificando rc4-hmac em sua configuração, o que é diferente do que você tem, arcfour-hmac-md5 . (Também não esqueça a linha permitted_enctypes , que eu não vi no seu post.)

Não tenho 100% de certeza de que isso resolverá seu problema, pois não estou em condições de testá-lo agora, mas espero que ajude.

    
por 14.08.2015 / 15:26
0

Este é o problema mais genérico durante a configuração do kerberos. Resolva isso fazendo o seguinte,

1) vi /var/kerberos/krb5kdc/kdc.conf

2) verifique por supported_enctypes , use qualquer técnica de criptografia mencionada lá.

Espero que isso resolva o problema.

    
por 02.05.2018 / 16:08