1

Kerberos 委任を実行する概念実証アプリケーションを作成しようとしています。すべてのコードを書きましたが、動作しているように見えます (正常に認証されています) が、結果のセキュリティ コンテキストには ISC_REQ_DELEGATE フラグが設定されていません。

したがって、エンドポイント (クライアントまたはサーバー) のいずれかが委任を禁止されている可能性があると考えています。ただし、SPN に対して認証していません。別のドメイン ユーザーに対して 1 つのドメイン ユーザーのみ。Iの SPN として、InitializeSecurityContext()"someuser@mydomain.lan" (サーバー アプリケーションが実行されているユーザー アカウント) を渡しています。私が理解しているように、ドメイン ユーザーはデフォルトで委任が有効になっています。とにかく、管理者に確認を依頼したところ、「アカウントは機密であり、委任できません」チェックボックスがオフになっています。

サーバーが NETWORK SERVICE として実行されていて、SPN を使用してサーバーに接続した場合、AD のコンピューター アカウントで [委任に対してコンピューターを信頼する] チェックボックスがオン (既定ではオフ) になっている必要があることはわかっていますが、 ……そんなことないですよね?またはそれは?

また、コンピュータ アカウントのチェックボックスが設定されている場合、変更はすぐに適用されますか、それともサーバー PC を再起動するか、しばらく待つ必要がありますか?

4

1 に答える 1

2

このISC_REQ_DELEGATEによると、制約付き委任を使用する場合にのみ無視されます。制約付き委任が発生することは間違いありません。アカウントが Active Directory で委任できるサービスを明示的に指定する必要があります (AD スナップインのユーザーまたはコンピューターの委任タブ)。

UPN と SPN を使用したルールがよくわかりません。Kerberos イベント ログをオンにして、イベント ログを調べてみましたか? メッセージはしばしば暗号化されていますが、通常は解読可能です。

NETWORK SERVICE シナリオの説明は正確です。委任の信頼はデフォルトでオフになっていますが、NETWORK SERVICE には SPN を自己登録する権限がある場合があります (これはグループ ポリシーによって決定できると思います)。

ボックスにチェックを入れると、変更はすぐに行われますが、ドメイン内のすべてのドメイン コントローラー全体に伝達する必要がある場合があります (通常、単一の DC を持つテスト ドメインでテストします)。したがって、サービス アプリを再起動するだけで十分です。再起動する必要はありません。

縁石切符はクライアント マシン上にあります。これらには有効期限があり、klist または kerbtray を使用して手動でフラッシュできます。

于 2010-03-18T19:11:46.747 に答える