私は親ドメインとサブドメインを持つシンプルなMS ADDSマルチドメインフォレストをセットアップしています。RHEL 8サーバーをサブドメインに正常に参加させるには、この公式文書すべての OS は、可能な限りデフォルトを使用してセットアップされています。サブドメインの AD アカウントを使用して、RHEL サーバーに SSH で正常に接続できます。ただし、親ドメインのアカウントを使用しようとすると、ログインに失敗します。親ドメインのユーザー名を送信するとすぐに、journalctl
次のエラーが報告されます。
sssd_be[...]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type)
各ドメインの DC をチェックしたところ、すべての DC が同じ 3 つの既定の暗号化タイプ (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-96
したがって、と の2 つの一致があるはずですaes256-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 を有効にする方がよい場合があります。