krb5.keytabエントリのサービスタイプは大文字でなければなりません。

krb5.keytabエントリのサービスタイプは大文字でなければなりません。

LinuxサーバーをActive Directoryドメインに参加させるときに自動的に生成されるkeytabエントリに問題があります。まず、私のプロセスについて話しましょう。

  1. 必須Linuxパッケージのインストールyum install realmd pam sssd adcli oddjob oddjob-mkhomedir samba-common-tools krb5-workstation
  2. Active Directoryでコンピュータオブジェクトを作成し、関連SPNエントリ(servicePrincipalName)を追加します。
  3. ドメイン登録の実行realm join -v EXAMPLE.COM -U domainUser

購読プロセス中、プロセスはコンピュータオブジェクトのSPNエントリと直接一致するエントリを含むkrb5.keytabファイルを自動的に作成します。したがって、SPNに項目がある場合[Eメール保護]、サブスクリプションプロセスはkeytabエントリを生成します。[Eメール保護]問題はSPNの名前に大文字のサービスタイプがある場合、キータブ生成プロセスはサービスタイプの大文字と小文字を考慮せずに、代わりにキータブエントリに小文字のサービスタイプを持つように強制します。したがって、SPNHTTPプロトコル/[Eメール保護]すると、キータブジェネレータが強制的にhttp/[Eメール保護]、ドメイン登録プロセス中。私が使用しているアプリケーションが機能するには、これらの項目が一致する必要があります(すべて大文字)。

私の目標は、大文字のサービスタイプ(SPN)と一致するキータブエントリを持つことです。私が知っている2つのオプションがあります。

  1. realm joinサービスタイプの大文字と小文字を同じに保つようにフローを変更するか、
  2. keytabファイルに独自のkeytabエントリを作成する  

両方のオプションに問題があります。最初のオプションでは、変更できるサブスクリプションプロセスが見つかりません。 2番目のオプションでは、独自のアイテムを作成するために使用できる2つのアプリを見つけました。これらのアプリケーションはkadminとktutilです。 kadminに「必要なKADM5サブジェクトがありません...」というエラーが表示されます(修正方法がわかりません)。 ktutil オプションも使用できます。ただし、この新しい keytab エントリに他の keytab エントリで使用されるのと同じパスワードを適用する必要がありますが、このパスワードは Active Directory で管理され、取得できません。

以前にこの問題を経験した人がいて、Keytabエントリのサービスタイプを大文字にする方法の解決策はありますか?

ありがとうございます!

ベストアンサー1

私はあなたを言うでしょうしてはいけないホストのkeytab(コンピュータアカウント)にこれらのSPNを追加することから始めます。 Samba(cifs)やSSH(ホスト)などのサービスは引き続き使用できますが、他のすべて(HTTP、imapなど)には個別の独自のキーが必要です。独自のkeytabファイルにあります。(通常、サービスがADのデフォルトの「ホスト」「サービスエイリアス」リストにない場合は、コンピュータアカウントを共有しないでください。)

Active Directoryで追加のプリンシパル(コンピュータアカウントに関連付けられていない)を作成する一般的な方法は次のとおりです。ユーザーアカウントに任意のパスワードを使用し、必要なSPNを割り当てます。 Active DirectoryはMIT kadminプロトコルを使用しません。管理はLDAPを介して行われます。 Kerberosプリンシパルを作成する唯一の方法は、servicePrincipalNameすでに見つかったLDAP属性です。 (しかしmsDS-SupportedEncryptionTypes設定することも忘れないでください!)

Sambaツールを使用samba-tool spn addすると。samba-tool domain exportkeytabktutilktpass.exe

次のように動作する必要があります。

samba-tool user create HTTP-foo --random-password
samba-tool user setexpiry HTTP-foo --noexpiry
samba-tool spn add HTTP/foo.example.com HTTP-foo
net ads enctypes set HTTP-foo 24
samba-tool domain exportkeytab HTTP.keytab --principal=HTTP/foo.example.com

おすすめ記事