web-dev-qa-db-ja.com

「Kerberos認証」証明書を登録しないようにドメインコントローラーに指示する方法

この質問 のとおり、「Kerberos認証」テンプレートに基づく証明書を発行できない環境があります(CAに直接接続していないリモートサイトがあり、証明書の登録ではCEP/CESを使用しますが、 Kerberos認証テンプレートでは、要求元のDCに接続するためにCAが必要です(リンクされた質問の詳細)。

これらの証明書がなくても問題ありませんが、自動登録が有効になっていると、すべてのドメインコントローラーが証明書を要求し続けます。

テンプレートを無効にしてみましたが、DCは「要求された証明書テンプレートはこのCAでサポートされていません」というエラーで失敗し続けます。

「ドメインコントローラー認証」証明書のみを要求し、「Kerberos認証」証明書の取得を停止するようにDCに指示するにはどうすればよいですか?

1
Massimo

この問題には2つの入力があります。

パート1:テンプレートの優先

証明書テンプレート設定(certtmpl.msc)には、優先テンプレートタブがあり、ここで指定できます現在のテンプレートに置き換えられたテンプレートのリスト。この設定は、証明書の自動登録機能でのみ使用されます。

自動登録中に、クライアントはすべてのテンプレートを調べ、現在のテンプレートが他のテンプレートに* superseded *としてリストされているかどうかを確認します。リストされている場合、現在のテンプレートはスキップされます。この動作は [MS-CAESO] プロトコル仕様、§4.4.5.6.1で定義されています。

4.4.5.6.1 CertificateTemplateインスタンスが自動登録に有効かどうかを判断する次のリストのいずれかの条件に該当する場合、自動登録は特定のCertificateTemplateインスタンスの新しい登録を処理してはなりません(SHOULD NOT)

<...>簡潔にするためにスキップしました

  • CertificateTemplate.SupersededTemplatesリストに現在のCertificateTemplate.CommonNameと等しい値が含まれているCertificateEnrollmentPolicy.TemplatesリストにCertificateTemplateのインスタンスが存在します

注:2014年、[MS-CAESO]ドキュメントは廃止され、そのコンテンツは他の多くのプロトコル仕様に移動されましたが、私は試していませんこの動きを追跡します。それ以降は何も変更されていないので、アーカイブされたPDFドキュメントのコピーを使用できます: Archived [MS-CAESO] PDF copy

これは質問の前半に答えます:自動登録テンプレートに許可されている理由が自動登録されません。したがって、どちらのテンプレートもDomain Controller Authenticationテンプレートに優先するように設定されていないかどうかを確認してください。そのような場合は、置き換えられたリストから削除してください。

また、Web登録が有効になっているCAに発行するためにDomain Controller Authenticationが追加されているかどうかを確認します。

パート2:MS-XCEPキャッシュ

クライアントが証明書登録We​​bサービス(Microsoft CEP/CES)を使用する場合、クライアントは次のことを行います。

  1. 登録ポリシーサービス(CEP)および要求ポリシーに接続します。
  2. CEPはクライアントを認証し、認証されたエンティティが少なくともRead権限を持つActive Directoryからすべての証明書テンプレートを読み取ります。
  3. CEPはCAに連絡して、各CAで許可されているテンプレートのリストを取得し、 [MS-XCEP]§3.1.4.1.3.2 で指定されているように応答を作成します。

応答メッセージにはnextUpdateHoursがあります。

サーバーが別のGetPoliciesメッセージを送信する前にクライアントが待機することを推奨する時間数を表す整数。

デフォルト値は8時間です。クライアントはこの応答をキャッシュし、この期間、更新されたテンプレートリストを使用して新しいポリシーを要求しようとしない場合があります。ただし、クライアントが変更をポーリングするために使用できるブールpoliciesNotChangedフィールドがありますが、実際には、クライアントがポーリングを実行していないことがわかります。代わりに、このビットを使用して、キャッシュされたポリシーを置き換えるかどうかを決定します。これは、私の意見です。ポリシーの変更は、クライアントの待ち時間が大きくなるためです。

少なくとも8時間待って、クライアントがCEPサーバーから新しいポリシーをフェッチしたときに問題が自動的に解決されるかどうかを確認するか、ポリシーの取得を強制してみます。

ターゲットコンピューター(DC)の%systemdrive%\ProgramData\Microsoft\Windows\X509Enrollmentからすべてのコンテンツを削除して実行します

certutil -Pulse

自動登録をトリガーします。この通話中に、新しいポリシーがダウンロードされ、自動登録によって正しいテンプレートが取得されます。

1
Crypt32