[Freeipa-users] FreeIPA Kerberos and Single-DES for OpenAFS

Alexander Bokovoy abokovoy at redhat.com
Thu Nov 13 09:35:53 UTC 2014


On Thu, 13 Nov 2014, Andreas Ladanyi wrote:
>>> Hi,
>>>
>>> I set up the 389 LDAP server to support des-cbc-crc enctype.
>>>
>>> I created a principal for OpenAFS. OpenAFS need des-cbc-crc:v4
>>> (single-DES). I created the principal with:
>>>
>>> kadmin.local -x ipa-setup-override-restrictions
>> Please don't do this, use the ipa service-add and ipa-getkeytab
>> commands instead.
>I cant use ipa service-add, because for OpenAFS i need a service
>principal called:
>
>afs/cellname at REALM , the cellname could be any name. In my case the
>cellname is the same like the domainname.
[root at cc21 ~]# ipa host-add --force afs-cellname.ipacloud.test
---------------------------------------
Added host "afs-cellname.ipacloud.test"
---------------------------------------
  Host name: afs-cellname.ipacloud.test
  Principal name: host/afs-cellname.ipacloud.test at IPACLOUD.TEST
  Password: False
  Keytab: False
  Managed by: afs-cellname.ipacloud.test
[root at cc21 ~]# ipa service-add --force afs/afs-cellname
----------------------------------------------
Added service "afs/afs-cellname at IPACLOUD.TEST"
----------------------------------------------
  Principal: afs/afs-cellname at IPACLOUD.TEST
  Managed by: afs-cellname.ipacloud.test
[root at cc21 ~]# ipa service-show afs/afs-cellname
  Principal: afs/afs-cellname at IPACLOUD.TEST
  Keytab: False
  Managed by: afs-cellname.ipacloud.test
[root at cc21 ~]# ipa-getkeytab -s `hostname` -p afs/afs-cellname   -k
/tmp/afs.keytab 
Keytab successfully retrieved and stored in: /tmp/afs.keytab

As you can see there is no problem at all -- all you need is to have a
host entry with the same name as afs-cellname. Note that the host
afs-cellname doesn't even need to exist in DNS.

However, your primary problem would be in a different area. You'll need
to enable weak crypto at KDC server, Kerberos clients, and LDAP servers.

krb5.conf (on both IPA masters and clients):
[libdefaults]
  allow_weak_crypto = true

/var/kerberos/krb5kdc/kdc.conf (on IPA masters):
[realms]
 IPACLOUD.TEST = {
   supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal des3-cbc-sha1:normal arcfour-hmac-md5:normal des-cbc-crc:v4
 }

Finally, you need to modify cn=IPACLOUD.TEST,cn=kerberos,dc=ipacloud,dc=test
and add des-cbc-crc:v4 to supported Kerberos encryption types with krbSupportedEncSaltTypes
attribute. You have to use ldapmodify as cn=Directory Manager for that
as we don't allow admins to modify these entries directly.

A simplified approach would be to use ipa-ldap-updater with your own
update file (which should have a name like <number>-<name>.update where
<number> is something between 01 and 90):

[root at cc21 ~]# cat 20-weak-enctypes.update 
dn: cn=$REALM,cn=kerberos,$SUFFIX
add: krbSupportedEncSaltTypes: des-cbc-crc:v4

[root at cc21 ~]# ipa-ldap-updater ./20-weak-enctypes.update 
Directory Manager password: 

Parsing update file './20-weak-enctypes.update'
Updating existing entry:
cn=IPACLOUD.TEST,cn=kerberos,dc=ipacloud,dc=test
Done
The ipa-ldap-updater command was successful

Only after that you'll get ipa-getkeytab to generate weaker encryption
type-based keys. However, we have a problem in FreeIPA 4.x that an
attempt to force only a specific encryption type in ipa-getkeytab is
ignored and instead only enctypes from krbDefaultEncSaltTypes attribute
are generated. This bug is tracked with https://fedorahosted.org/freeipa/ticket/4718

-- 
/ Alexander Bokovoy




More information about the Freeipa-users mailing list