Active-Directory

GSSAPI 錯誤:KDC 不支持加入多域 AD 林的 RHEL 8 上的加密類型

  • April 14, 2022

我有一個簡單的 MS ADDS 多域林設置,帶有一個父域和一個子域。我使用這個官方文件成功地將 RHEL 8 伺服器加入了子域。所有作業系統都已通過使用盡可能多的預設值進行設置。我可以通過使用子域的 AD 帳戶成功 SSH 到 RHEL 伺服器。但是當我嘗試使用父域的帳戶時,登錄失敗。我一送出父域的使用者名,就journalctl報如下錯誤:

sssd_be[...]: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (KDC has no support for encryption type)

我檢查了每個域的 DC,可以確認所有 DC 都支持相同的三種預設加密類型(儲存在msDS-SupportedEncryptionTypes每個 DC 電腦帳戶的屬性中):

  • RC4_HMAC_MD5
  • AES128_CTS_HMAC_SHA1_96
  • AES256_CTS_HMAC_SHA1_96

我還確認 RHEL 8 提供了合適的加密類型 ( /etc/crypto-policies/back-ends/krb5.config):

[libdefaults]
permitted_enctypes = aes256-cts-hmac-sha1-96 aes256-cts-hmac-sha384-192 camellia256-cts-cmac aes128-cts-hmac-sha1-96 aes128-cts-hmac-sha256-128 camellia128-cts-cmac

因此,應該有兩個匹配項:aes128-cts-hmac-sha1-96aes256-cts-hmac-sha1-96。正如我已經說過的,它在子域中執行良好。那麼,為什麼沒有適合父域的加密類型呢?

AD 信任的屬性包括一個名為“其他域支持 Kerberos AES 加密”的屬性。預設情況下,未選中此選項。在這種情況下,這會導致父域無法為 Kerberos 提供 AES 加密類型。因此,唯一的選擇是RC4_HMAC_MD5。在 RHEL 8 上,RC4 加密已被預設棄用和禁用。因此,在 RHEL 和父域之間確實沒有可用於商定的加密類型。

在選中“其他域支持 Kerberos AES 加密”選項後,身份驗證也適用於父域。

引用自:https://serverfault.com/questions/1098600