Kerberos, Windows2008 RODC and ticket forwarding Problem

Sebastian Galiano Sebastian.Galiano at spilgames.com
Fri Apr 13 03:18:00 EDT 2012


Looking into the captures, I noticed that in the  TGS-REQ packets , the NAME-TYPE is Unknown in both cases (Forwareded and not Forwarded Ticket). But in the forwarded ticket capture I don't see any AS-REQ.

Could it be that what is causing the: KRB5KRB_AP_ERR_BAD_INTEGRITY ?
________________________________________
From: Sebastian Galiano
Sent: 13 April 2012 08:58
To: kerberos at mit.edu
Subject: RE: Kerberos, Windows2008 RODC and ticket forwarding Problem

I found more information regarding my problem :
http://lists.samba.org/archive/samba-technical/2010-September/073566.html

The thing is that this problem has been patched and It works. In fact I found the code in krb5lib's  current version source code that makes the trick,  in the file get_in_tkt.c:
    /*
     * Windows Server 2008 R2 RODC insists on TGS principal names having the
     * right name type.
     */
    if (krb5_princ_size(context, *server) == 2 &&
        data_eq_string(*krb5_princ_component(context, *server, 0),
                       KRB5_TGS_NAME)) {
        krb5_princ_type(context, *server) = KRB5_NT_SRV_INST;
    }
    return 0;
}
This sets the right type for NAME-TYPE, unfortunately it doesn't seem to work when I'm using a forwarded ticket. The name type in the request when the ticket is forwarded keeps being unknown, unlike when the ticket is granted from the machine then is : Service and Instance.





________________________________________
From: kerberos-bounces at mit.edu [kerberos-bounces at mit.edu] on behalf of Sebastian Galiano [Sebastian.Galiano at spilgames.com]
Sent: 12 April 2012 11:12
To: kerberos at mit.edu
Subject: Kerberos, Windows2008 RODC and ticket forwarding Problem

Hello

I'm having some problems to get kerberos to work. I got two realms, one realm working in Windows 2008 (WINDOWS), with one KDC and RODC (the RODC  is in a separate network). I am testing the ticketing forwarding cross realm. The second realm is a linux realm (LINUX) running on scientific linux 6.1. All the Linux machines are using the same kerberos libraries :

krb5-libs-1.9.2-6.fc16.x86_64
krb5-libs-1.9.2-6.fc16.i686
krb5-workstation-1.9.2-6.fc16.x86_64

So in from my fedora desktop computer I kinit with a WINDOWS realm user, and from there I ssh to my server. The SSH server principal is created in LINUX realm. This works smoothly.

I also have a NFS 4 server kerberized, and declared in the LINUX realm. So from the SSH server (NFS client), I mount the folder and try to access, getting a permission denied message. I've captured the traffic from my SSH server (NFS Client), in the moment of accessing the NFS folder. I've  noticed  the following error:

KRB_AP_ERR_BAD_INTEGRITY

Also I noticed that the Name-Type inside the request packet is Unknown.

After some browsing in the internet, it seems that W2008 RODC needs the Name-Type to be set, and in fact this has been patched in kerberos. What is more if I dont do ticket forwarding , so I kinit the user from the SSH server (NFS Client), and access the folder it works!

Could it be that the current implementation of Kerberos is not setting the Name-Type for forwarded tickets?

Regards

Sebastián Galiano
________________________________________________
Kerberos mailing list           Kerberos at mit.edu
https://mailman.mit.edu/mailman/listinfo/kerberos



More information about the Kerberos mailing list