[OpenAFS] Re: rxk error: caller not authorized

J Maynard Gelinas gelinas@lns.mit.edu
Sun, 25 Apr 2004 15:57:10 -0400 (EDT)


On Sun, 25 Apr 2004, J Maynard Gelinas wrote:

>  [snip] 
> 
> So, it appears that the client afslog is unable to generate a usable token
> from my slave krb524d server(s). Finally, if I request a V5 TGT from a
> slave server, change the client krb5.conf to the master kdc, and then use
> that to convert to a V4 TGT, I can run afslog on the client just fine.
> Further showing that whatever is going on, it's limited to V5 to V4
> conversion on my slaves, and the master krb524d still works. 
> 
> I have no idea what changed. Any suggestions? And thanks for the replies!

[snip]

  Aha... an epiphany. So, what changed? Per the more recent krb5-1.2.8 
readme states:

Major Changes:

* [1402, 1385, 1395, 1410, 1411] The krb4 protocol vulnerabilities
  [MITKRB5-SA-2003-004] have been worked around.  Note that this will
  disable krb4 cross-realm functionality, as well as krb4 triple-DES
  functionality.  Please see doc/krb4-xrealm.txt for details of the
  patch

Another change I noticed for kerberos 1.2.6:

* A bug in AFS salt handling has been worked
  around. [krb5-clients/1146] Thanks to Wolfgang Friebel.

* The KDC, in handling both krb5 and krb4 TGS_REQs, now honors the
  DISALLOW_ALL_TIX and DISALLOW_SVR attributes on the server
  principal.  This also now happens with krb524d.

* krb524d will now, by default, convert krb5 tickets for afs service
  princpals to special tokens that are actually just the EncryptedData
  part of a krb5 Ticket structure.  This may be overridden; please
  consult src/krb524/README for details.


  Now, I'm running Debian krb5-1.2.4-5woody4 on the slave and 
krb5-1.2.4-5woody3 on the master. I wonder if one of these fixes were 
backported to the stable debian release and that change within the minor 
update is responsible for this behavior?  I note that TGTs obtained from 
my krb5 server:

[gelinas@swg gelinas]$ klist -e
Ticket cache: FILE:/tmp/krb5cc_1126_G86MkA
Default principal: gelinas@LNS.MIT.EDU

Valid starting     Expires            Service principal
04/25/04 15:49:30  04/26/04 01:49:30  krbtgt/LNS.MIT.EDU@LNS.MIT.EDU
        Etype (skey, tkt): DES cbc mode with CRC-32, Triple DES cbc mode 
with HMAC/sha1 
04/25/04 15:49:37  04/26/04 01:49:30  afs/lns.mit.edu@LNS.MIT.EDU
        Etype (skey, tkt): DES cbc mode with CRC-32, DES cbc mode with 
CRC-32 


Kerberos 4 ticket cache: /tmp/tkt1126_5Nauwd
klist: You have no tickets cached
[gelinas@swg gelinas]$

   Notice the krbtgt/LNS.MIT.EDU@LNS.MIT.EDU is set for encryption type:

Etype (skey, tkt): DES cbc mode with CRC-32, Triple DES cbc mode  
with HMAC/sha1

  While Athena gives me:

[gelinas@swg gelinas]$ klist -e
Ticket cache: FILE:/tmp/krb5cc_1126_G86MkA
Default principal: gelinas@ATHENA.MIT.EDU

Valid starting     Expires            Service principal
04/25/04 15:50:58  04/26/04 01:50:58  krbtgt/ATHENA.MIT.EDU@ATHENA.MIT.EDU
        Etype (skey, tkt): DES cbc mode with CRC-32, DES cbc mode with 
CRC-32 
04/25/04 15:51:15  04/26/04 01:50:58  afs/athena.mit.edu@ATHENA.MIT.EDU
        Etype (skey, tkt): DES cbc mode with CRC-32, DES cbc mode with 
CRC-32 

Kerberos 4 ticket cache: /tmp/tkt1126_5Nauwd
klist: You have no tickets cached
[gelinas@swg gelinas]$ 

   What I'm thinking is that the encrypion type of 3DES cbc mode with
HMAC/sha1 for krbtgt/LNS.MIT.EDU@LNS.MIT.EDU is the real culprit here.  
Assuming that the new krb524d won't accept that encryptiom type, and
that's the true cause, are there any recommendations for an easy way out
of this mess? And if that's not the cause, could any of the other changes 
listed be relevant to the cause? 

Thanks again for any suggestions,
--Maynard