Me he topado con algunas dificultades kerberizing un host, t.p.no. Estoy siguientes http://grolmsnet.de/kerbtut, que han funcionado para otros kerberizing un host no se agrega el dominio de windows.

El problema parece ser el cliente NTLM tokens por alguna razón.

Voy a ir a través de la configuración y el estado del servidor y, a continuación, el cliente de prueba:

Servidor

Medio ambiente:

Sistema operativo es CentOS 5.9,

Kerberos, Apache y mod_auth_kerb instalar con yum:

httpd.x86_64                              2.2.3-76.el5.centos          installed
httpd-devel.i386                          2.2.3-76.el5.centos          installed
httpd-devel.x86_64                        2.2.3-76.el5.centos          installed

mod_auth_kerb.x86_64                      5.1-5.el5                    installed

krb5-devel.x86_64                         1.6.1-70.el5                 installed
krb5-libs.i386                            1.6.1-70.el5                 installed
krb5-libs.x86_64                          1.6.1-70.el5                 installed
krb5-workstation.x86_64                   1.6.1-70.el5                 installed
pam_krb5.i386                             2.2.14-22.el5                installed
pam_krb5.x86_64                           2.2.14-22.el5                installed

KDC/DC es un Windows Server 2003 SP2

Kerberos:

He tenido un administrador de dominio crear cuenta de AD y ejecutar ktpass a la mapa SPN para esta cuenta con:

ktpass.exe /princ HTTP/[email protected] /mapuser testsone2\user 
/crypto DES-CBC-MD5 +DesOnly /Pass *** /ptype KRB5_NT_PRINCIPAL /out t.keytab

En el servidor/host im tratando de kerberize, he hecho esto para verificar kerberos está configurado correctamente:

# kinit -V [email protected]
Password for [email protected]: 
Authenticated to Kerberos v5

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting     Expires            Service principal
05/13/13 15:32:13  05/14/13 01:32:17  krbtgt/[email protected]
  renew until 05/14/13 15:32:13


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

Y he comprobado que KDC me envía entradas para mi principal:

# kvno HTTP/[email protected]
HTTP/[email protected]: kvno = 9

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

Valid starting     Expires            Service principal
05/13/13 15:32:13  05/14/13 01:32:17  krbtgt/[email protected]
  renew until 05/14/13 15:32:13, Etype (skey, tkt): ArcFour with HMAC/md5, ArcFour with HMAC/md5 
05/13/13 15:34:27  05/14/13 01:32:17  HTTP/[email protected]
  renew until 05/14/13 15:32:13, Etype (skey, tkt): DES cbc mode with CRC-32, DES cbc mode with RSA-MD5 

Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

La kvno coincida con el de keytab:

# ktutil 
ktutil: rkt t.keytab
ktutil: l
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    9 HTTP/[email protected]

t.p.no es un registro de resolver en una dirección ip inversa resuelve a t.p.no

Este es mi Host Virtual config, es un simple pasajero servido aplicación rails. Prueba de trabajo antes de la adición de la Ubicación de la sección con la autenticación de directivas relacionadas a:

<VirtualHost *:80>
  DocumentRoot /home/p/testapp/public
  ServerName t.p.no

  RackEnv staging
  RailsEnv staging

  <Directory /home/p/testapp/public>
    Options -MultiViews
  </Directory>

  <Location />
    AuthType Kerberos
    AuthName "Logg inn"
    KrbMethodNegotiate On
    KrbMethodK5Passwd Off
    KrbAuthRealms TESTSONE2.P.LOCAL
    KrbServiceName HTTP # No difference if using full SPN here
    Krb5KeyTab /etc/httpd/keys/t.keytab
    require valid-user
  </Location>

  LogLevel debug
  CustomLog logs/t.p.no-access_log combined_forwarded
  ErrorLog logs/t.p.no-error_log

</VirtualHost>

Cuando el cliente entra en t.p.no en Internet Explorer, logs de Apache el siguiente:

[debug] src/mod_auth_kerb.c(1496): [client 139.x.x.201] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[debug] src/mod_auth_kerb.c(1496): [client 139.x.x.201] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[debug] src/mod_auth_kerb.c(1151): [client 139.x.x.201] Acquiring creds for HTTP/[email protected]
[debug] src/mod_auth_kerb.c(1270): [client 139.x.x.201] Verifying client data using KRB5 GSS-API
[debug] src/mod_auth_kerb.c(1286): [client 139.x.x.201] Verification returned code 589824
[debug] src/mod_auth_kerb.c(1313): [client 139.x.x.201] Warning: received token seems to be NTLM, which isn't supported by the Kerberos module. Check your IE configuration.
[error] [client 139.116.152.201] gss_accept_sec_context() failed: Invalid token was supplied (No error)

Cliente

OS: Windows Server 2008 SP1

La IE ha IWA habilitado y http://t.p.no se ha agregado a su lista de intranet de los ejércitos.

En el cliente, cuando se intenta acceder a t.p.no, estoy viendo dos solicitudes en el Fiddler, en la primera, el cliente no envía la Autenticación de cabeceras, el servidor responde con el estado de la 401 y encabezado WWW-Authenticate: Negociar.

En la segunda solicitud, el cliente envía un encabezado: Autorización: Negociar [token de datos]
En el Auth-ficha en fiddler el token de datos se muestra:

-[NTLM Type1: Negotiation]------------------------------
Provider: NTLMSSP
Type: 1
OS Version: 6.1:7601
Flags:  0xe2088297
    Unicode supported in security buffer.
    OEM strings supported in security buffer.
    Request server's authentication realm included in Type2 reply.
    Sign (integrity)
    NTLM authentication.
    Negotiate Always Sign.
    Negotiate NTLM2 Key.
    Supports 56-bit encryption.
    Supports 128-bit encryption.
    Client will provide master key in Type 3 Session Key field.
Domain_Offset: 0; Domain_Length: 0; Domain_Length2: 0
Host_Offset: 0; Host_Length: 0; Host_Length2: 0
Host: 
Domain: 
------------------------------------

Toda la ayuda en la búsqueda de la causa NTLM fichas de ser enviado será muy apreciada!

InformationsquelleAutor jhsveli | 2013-05-14

2 Comentarios

  1. 1

    Como se ha mencionado, mi cliente de prueba es un server 2008 R2. Un artículo (http://support.microsoft.com/kb/977321) con relación a los clientes de Windows 7 y Windows Server 2008 R2 estados que DES de cifrado para la autenticación Kerberos está desactivado por defecto en estos productos.

    He seguido los pasos en el artículo para volver a habilitar la DES en el cliente, el KDC de 2003, por lo que todavía debe apoyar DES. La autenticación luego se logró.

  2. 0

    su krb5 paquetes obsoletos. estos necesitan ser actualizadas con el apoyo de cifrado más potente.

    DES definitivamente debe estar deshabilitado. todos mis sistemas linux 128 AES para kerberos.

Dejar respuesta

Please enter your comment!
Please enter your name here