Windows の Kerberos プロトコル レジストリ エントリと KDC 構成キー

この記事では、Kerberos バージョン 5 認証プロトコルとキー配布センター (KDC) 構成に関するレジストリ エントリについて説明します。

適用対象: Windows 11、Windows 10、Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012
元の KB 番号: 837361

概要

Kerberos は、ユーザーまたはホスト ID を確認するために使用される認証メカニズムです。 Kerberos は、Windows のサービスに推奨される認証方法です。

Windows を実行している場合は、Kerberos の認証に関する問題のトラブルシューティングや Kerberos プロトコルのテストに役立つ Kerberos パラメーターを変更できます。 これを行うには、次のセクションに記載されているレジストリ エントリを追加または変更します。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「Windows でレジストリをバックアップおよび復元する方法」を参照してください。

注:

Kerberos プロトコルのトラブルシューティングまたはテストが完了したら、追加したレジストリ エントリをすべて削除します。 そうしないと、コンピューターのパフォーマンスが影響を受ける可能性があります。

Parameters キーの下のレジストリ エントリと値

このセクションに記載されているレジストリ エントリは、次のレジストリ サブキーに追加する必要があります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

注:

[パラメーター] キーが Kerberos の下に一覧表示されていない場合は、キーを作成する必要があります。

  • エントリ: SkewTime

    • 種類: REG_DWORD

    • 既定値: 5 (分)

      この値は、クライアント コンピューターと Kerberos 認証または KDC を受け入れるサーバーとの間で許可される最大時間差です。

      注:

      SkewTime は、再利用のために Kerberos チケットの有効性を判断する際に考慮されます。 有効期限が現在の時刻と SkewTime より短い場合、チケットは期限切れと見なされます。 たとえば、SkewTime が 20 分に設定されていて、現在の時刻が 08:00 の場合、有効期限が 08:20 より前のチケットは期限切れと見なされます。

  • エントリ: LogLevel

    • 種類: REG_DWORD

    • 既定値: 0

      この値は、イベントがシステム イベント ログに記録されるかどうかを示します。 この値がゼロ以外の値に設定されている場合、Kerberos 関連のすべてのイベントがシステム イベント ログに記録されます。

      注:

      ログに記録されるイベントには、Kerberos クライアントが成功する異なる要求フラグを使用して再試行する誤検知が含まれる場合があります。 したがって、この設定に基づいてログに記録されたイベントが表示されたときに、Kerberos の問題があると想定しないでください。 詳細については、「 Kerberos イベント ログを有効にする方法 」を参照してください。

  • エントリ: MaxPacketSize

    • 種類: REG_DWORD

    • 既定値: 1465 (バイト)

      この値は、最大ユーザー データグラム プロトコル (UDP) パケット サイズです。 パケット サイズがこの値を超える場合は、TCP が使用されます。

      Windows Vista 以降のバージョンの Windows ではこの値の既定値は 0 であるため、Windows Kerberos クライアントでは UDP は使用されません。

  • エントリ: StartupTime

    • 種類: REG_DWORD

    • 既定値: 120 (秒)

      この値は、Windows が KDC の起動を待機してから Windows が終了するまでの時間です。

  • エントリ: KdcWaitTime

    • 種類: REG_DWORD

    • 既定値: 10 (秒)

      この値は、Windows が KDC からの応答を待機する時間です。

  • エントリ: KdcBackoffTime

    • 種類: REG_DWORD

    • 既定値: 10 (秒)

      この値は、前の呼び出しが失敗した場合の KDC への連続する呼び出しの間の時間です。

  • エントリ: KdcSendRetries

    • 種類: REG_DWORD

    • 既定値: 3

      この値は、クライアントが KDC に接続しようとする回数です。

  • エントリ: DefaultEncryptionType

    • 種類: REG_DWORD

      この値は、事前認証の既定の暗号化の種類を示します。 RC4 の既定値は 23 (10 進数) または0x17 (16 進数) です

      AES を使用する場合は、値を次のいずれかの値に設定します。

      • aes256-cts-hmac-sha1-96: 18 または 0x12
      • aes128-cts-hmac-sha1-96: 17 または 0x11

      この値は、事前認証の既定の暗号化の種類を示します。

  • エントリ: FarKdcTimeout

    • 種類: REG_DWORD

    • 既定値: 10 (分)

      これは、ドメイン コントローラー キャッシュ内の別のサイトからドメイン コントローラーを無効にするために使用されるタイムアウト値です。

  • エントリ: NearKdcTimeout

    • 種類: REG_DWORD

    • 既定値: 30 (分)

      これは、ドメイン コントローラー キャッシュ内の同じサイト内のドメイン コントローラーを無効にするために使用されるタイムアウト値です。

  • エントリ: StronglyEncryptDatagram

    • 型: REG_BOOL

    • 既定値: FALSE

      この値には、データグラム パケットに 128 ビット暗号化を使用するかどうかを示すフラグが含まれています。

  • エントリ: MaxReferralCount

    • 種類: REG_DWORD

    • 既定値: 6

      この値は、クライアントが放棄する前にクライアントが追求する KDC 紹介の数です。

  • エントリ: MaxTokenSize

  • エントリ: SpnCacheTimeout

    • 種類: REG_DWORD

    • 既定値: 15 分

      この値は、サービス プリンシパル名 (SPN) キャッシュ エントリを消去するときにシステムによって使用されます。 ドメイン コントローラーでは、SPN キャッシュは無効になっています。 クライアントとメンバー サーバーでは、この値を使用して、負のキャッシュ エントリをエージング アウトして消去します (SPN が見つかりません)。 有効な SPN キャッシュ エントリ (たとえば、負のキャッシュではない) は、作成から 15 分後に削除されません。 ただし、 SPNCacheTimeout 値は、SPN キャッシュを管理可能なサイズに減らすためにも使用されます。SPN キャッシュが 350 エントリに達すると、システムはこの値を古いエントリと未使用のエントリに scavenge / cleanup 使用します。

  • エントリ: S4UCacheTimeout

    • 種類: REG_DWORD

    • 既定値: 15 分

      この値は、特定のコンピューターからの S4U プロキシ要求の数を制限するために使用される S4U 負のキャッシュ エントリの有効期間です。

  • エントリ: S4UTicketLifetime

    • 種類: REG_DWORD

    • 既定値: 15 分

      この値は、S4U プロキシ要求によって取得されるチケットの有効期間です。

  • エントリ: RetryPdc

    • 種類: REG_DWORD

    • 既定値: 0 (false)

    • 使用可能な値: 0 (false) またはゼロ以外の値 (true)

      この値は、クライアントがパスワードの有効期限エラーを受け取った場合に、クライアントが認証サービス要求 (AS_REQ) のプライマリ ドメイン コントローラーに接続するかどうかを示します。

  • エントリ: RequestOptions

    • 種類: REG_DWORD

    • 既定値: 任意の RFC 1510 値

      この値は、チケット付与サービス要求 (TGS_REQ) で KDC オプションとして送信する必要があるオプションがさらに存在するかどうかを示します。

  • エントリ: ClientIpAddresses

    • 種類: REG_DWORD

    • 既定値: 0 (動的ホスト構成プロトコルとネットワーク アドレス変換の問題のため、この設定は 0 です)。

    • 使用可能な値: 0 (false) またはゼロ以外の値 (true)

      この値は、クライアント IP アドレスを AS_REQ に追加して、フィールドにすべてのチケットに IP アドレスを Caddr 強制的に含めるかどうかを示します。

  • エントリ: TgtRenewalTime

    • 種類: REG_DWORD

    • 既定値: 600 秒

      この値は、チケットの有効期限が切れる前に、Kerberos がチケット許可チケット (TGT) の更新を試みる前に待機する時間です。

  • エントリ: AllowTgtSessionKey

    • 種類: REG_DWORD

    • 既定値: 0

    • 使用可能な値: 0 (false) またはゼロ以外の値 (true)

      この値は、セッション キーが初期またはクロス領域 TGT 認証でエクスポートされるかどうかを示します。 セキュリティ上の理由から、既定値は false です。

      注:

      Windows 10以降のバージョンの Windows でアクティブな Credential Guard を使用すると、アプリケーションとの TGT セッション キーの共有を有効にできなくなります。

Kdc キーの下のレジストリ エントリと値

このセクションに記載されているレジストリ エントリは、次のレジストリ サブキーに追加する必要があります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc

注:

Kdc キーが [サービス] の下に表示されない場合は、キーを作成する必要があります。

  • エントリ: KdcUseClientAddresses

    • 種類: REG_DWORD

    • 既定値: 0

    • 使用可能な値: 0 (false) またはゼロ以外の値 (true)

      この値は、Ticket-Granting サービス応答 (TGS_REP) に IP アドレスを追加するかどうかを示します。

  • エントリ: KdcDontCheckAddresses

    • 種類: REG_DWORD

    • 既定値: 1

    • 使用可能な値: 0 (false) またはゼロ以外の値 (true)

      この値は、TGS_REQと TGT Caddr フィールドの IP アドレスがチェックされるかどうかを示します。

  • エントリ: NewConnectionTimeout

    • 種類: REG_DWORD

    • 既定値: 10 (秒)

      この値は、最初の TCP エンドポイント接続が切断される前にデータを受信するために開いたままにする時間です。

  • エントリ: MaxDatagramReplySize

    • 種類: REG_DWORD

    • 既定値: 1465 (10 進数、バイト)

      この値は、TGS_REPおよび認証サービス応答 (AS_REP) メッセージの最大 UDP パケット サイズです。 パケット サイズがこの値を超える場合、KDC はクライアントが TCP に切り替わるよう要求する "KRB_ERR_RESPONSE_TOO_BIG" メッセージを返します。

      注:

      MaxDatagramReplySize を増やすと、Kerberos UDP パケットが断片化される可能性が高くなる可能性があります。

      この問題の詳細については、「 Windows で UDP ではなく TCP を Kerberos に強制的に使用させる方法」を参照してください。

  • エントリ: KdcExtraLogLevel

    • 種類: REG_DWORD

    • 既定値: 2

    • 使用可能な値:

      • 1 (10 進数) または0x1 (16 進数): セキュリティ イベント ログで不明な SPN エラーを監査します。 イベント ID 4769 は、失敗した監査でログに記録されます。
      • 2 (10 進数) または0x2 (16 進数): PKINIT エラーをログに記録します。 これにより、KDC 警告イベント ID 21 (既定で有効) がシステム イベント ログに記録されます。 PKINIT は、 Kerberos の初期認証用公開キー暗号化のインターネット エンジニアリング タスク フォース (IETF) インターネット ドラフトです。
      • 4 (10 進数) または0x4 (16 進数): すべての KDC エラーをログに記録します。 これにより、KDC イベント ID 24 (U2U に必要な問題の例) がシステム イベント ログに記録されます。
      • 8 (10 進数) または0x8 (16 進数): S4U2Self チケットを要求するユーザーがターゲット ユーザーに十分なアクセス権を持っていない場合に、KDC 警告イベント ID 25 をシステム ログに記録します。
      • 16 (10 進数) または0x10 (16 進数): 暗号化の種類 (ETYPE) と無効なオプション エラーに関する監査イベントをログに記録します。 この値は、KDC がイベント ログとセキュリティ イベント ログの監査に書き込む情報を示します。 イベント ID 4769 は、失敗した監査でログに記録されます。