Apache2 + mod_auth_kerb: O número da versão da chave do principal na tabela de chaves está incorreto

3

Eu configurei o apache2 e o mod_auth_kerb. Eu configurei meu .htaccess de tal maneira

# cat .htaccess
AuthType Kerberos
AuthName "Domain login"
KrbAuthRealms DOMAIN.COM
KrbMethodK5Passwd on
Krb5KeyTab /etc/httpd/httpd.keytab
require valid-user

Quando abro a página no IE, recebo o seguinte erro nos logs do apache:

gss_accept_sec_context() failed: Miscellaneous failure (, Key version number for principal in key table is incorrect)

Em seguida, posso definir a senha e o login via Basic Auth e está totalmente ok. Mas não consigo autenticar por ingresso.

# klist -k /etc/httpd/httpd.keytab
Keytab name: FILE:/etc/httpd/httpd.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   6 host/[email protected]
   6 host/[email protected]
   6 host/[email protected]
   6 host/[email protected]
   6 host/[email protected]
   6 host/[email protected]
   6 [email protected]
   6 [email protected]
   6 [email protected]
   6 HTTP/[email protected]
   6 HTTP/[email protected]
   6 HTTP/[email protected]
   6 HTTP/[email protected]
   6 HTTP/[email protected]
   6 HTTP/[email protected]

O que devo fazer com o KVNO? O que há de errado com isso?

P.S. O KDC é o KDC dentro do ActiveDirectory (servidor do Windows 2003). Minha plataforma de servidor é o SUSE Linux 10:

# cat /proc/version
Linux version 2.6.16.60-0.21-smp (geeko@buemphasized textildhost) (gcc version 4.1.2 20070115 (SUSE Linux)) #1 SMP Tue May 6 12:41:02 UTC 2008

mod_auth_kerb é o mais recente (5.4-4.15). Kerberos lib não é:

# zypper search krb
Restoring system sources...
Parsing metadata for SUSE Linux Enterprise Server 10 SP3...
S | Catalog                             | Type    | Name               | Version        | Arch
--+-------------------------------------+---------+--------------------+----------------+-------
i | SUSE Linux Enterprise Server 10 SP3 | package | krb5               | 1.4.3-19.43.27 | x86_64
i | SUSE Linux Enterprise Server 10 SP3 | package | krb5-apps-clients  | 1.4.3-19.43.27 | x86_64
i | SUSE Linux Enterprise Server 10 SP3 | package | krb5-apps-servers  | 1.4.3-19.43.27 | x86_64
i | SUSE Linux Enterprise Server 10 SP3 | package | krb5-client        | 1.4.3-19.43.27 | x86_64
i | SUSE Linux Enterprise Server 10 SP3 | package | krb5-devel         | 1.4.3-19.43.27 | x86_64
i | SUSE Linux Enterprise Server 10 SP3 | package | krb5-server        | 1.4.3-19.43.27 | x86_64
    
por petRUShka 28.02.2012 / 19:20

1 resposta

4

O KVNO é o número da versão do keytab, cada vez que você gerar um novo keytab ou a senha for alterada, o KVNO será incrementado. O número deve corresponder ao que está dentro do Active Directory. Este erro indica que o keytab contém uma entrada que o mestre considera estar desatualizada.

Você pode ver o KVNO no diretório usando adsiedit.msc . Sob o usuário adequado, procure o atributo msDS-KeyVersionNumber ; normalmente, deve ser idêntico ao que o keytab é. (No seu caso 6.)

    
por 26.02.2013 / 15:27