KDC has no support for encryption type in RHEL8 and above
Environment
- Red Hat Enterprise Linux 8.3 or later
- kerberos
- Red Hat Enterprise Linux 9
Issue
- Below error message is recorded in
/var/log/messageswhen joining SSSD to AD Domain.KDC has no support for encryption typekinit: KDC has no support for encryption type while getting initial credentials
- Unable to join AD domain
KDC has no support for encryption type while getting initial credentials
Resolution
-
In
RHEL8andRHEL9krb5does not supportRC4anymore. In cases where this old and unsecured cipher is being used then as a workaround, load the 'AD-SUPPORT' crypto policy on top of the 'DEFAULT' policy inRHEL8andAD-SUPPORT-LEGACYcrypto policy on top of the 'DEFAULT' policy inRHEL9. -
To enable the AD-SUPPORT subpolicy in addition to the DEFAULT cryptographic policy in RHEL8.
# update-crypto-policies --set DEFAULT:AD-SUPPORT -
To enable the AD-SUPPORT-LEGACY subpolicy in addition to the DEFAULT cryptographic policy in RHEL9.
# update-crypto-policies --set DEFAULT:AD-SUPPORT-LEGACY -
System must be rebooted for the changes to take effect
# reboot -
Refer to Product Documentation1 for detail.
1: 1.3. Ensuring support for common encryption types in AD and RHEL
Root Cause
- RC4 is an unsecured cipher.
- The join will fail if
UF_USE_DES_KEY_ONLYencryption is enabled. Below are the steps thatrealmdoradcliwill follow
1] Attempt to authenticate as the machine account first, using
default RHEL set of encryption types, excluding DES.
2] AD DC looks into the userAcccountControl attribute and sees
UF_USE_DES_KEY_ONLY, excludes everything but DES.
3] AD DC sees that the list of common encryption types is empty, rejects
request with 'KDC has no support for encryption type
Diagnostic Steps
-
Check the trace of kinit:
# KRB5_TRACE=/dev/stdout kinit ad_user@REALM_NAME # klist -A -e -
Validate current crypto-policy:
# update-crypto-policies --show # cat /etc/crypto-policies/state/current -
Comment the below lines in the
/etc/krb5.conffile:default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.