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

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

我有一個簡單的 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。正如我已經說過的,它對於子網域運作良好。那麼,為什麼父域沒有合適的加密類型呢?

答案1

AD 信任的屬性包括名為「其他網域支援 Kerberos AES 加密」的屬性。預設情況下,不選取此選項。在這種情況下,這會導致父域無法為 Kerberos 提供 AES 加密類型。因此,唯一的選擇就是RC4_HMAC_MD5。在 RHEL 8 上,RC4 加密已被棄用並預設為停用。因此,RHEL 和父域之間確實沒有可以達成一致的加密類型。

選取「其他網域支援 Kerberos AES 加密」選項後,驗證也適用於父域。

如果您想以程式設計方式設置此設置,這裡你去。

答案2

對於自 CentOS 8 流最近發生變化以來正在尋找此問題的其他解決方法的其他人,以下是 RedHat 的官方解決方案:

https://access.redhat.com/solutions/5728591

本質上,你運行:

update-crypto-policies --set DEFAULT:AD-SUPPORT

...這可以以RC4_HMAC_MD5正確的方式提供支持並且有效。顯然,如果您能找到一種方法,在您的網域上啟用 AES 可能是一個更好的主意。

相關內容