Kerberos イベント ログを有効にする方法

この記事では、Kerberos イベント ログを有効にする方法について説明します。

適用対象:Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows 10 Version 1809 以降のバージョン、Windows 7 Service Pack 1
元の KB 番号: 262177

概要

Windows 7 Service Pack 1、Windows Server 2012 R2 以降のバージョンでは、イベント ログを介して詳細な Kerberos イベントをトレースする機能が提供されます。 この情報は、Kerberos のトラブルシューティング時に使用できます。

重要

ログ レベルの変更により、すべての Kerberos エラーがイベントに記録されます。 Kerberos プロトコルでは、プロトコルの仕様に基づいて一部のエラーが予想されます。 その結果、Kerberos ログ記録を有効にすると、Kerberos 操作エラーがない場合でも、予期される誤検知エラーを含むイベントが生成される可能性があります。

誤検知エラーの例を次に示します。

  1. KDC_ERR_PREAUTH_REQUIREDは、最初の Kerberos AS 要求で返されます。 既定では、Windows Kerberos クライアントには、この最初の要求に事前認証情報は含まれません。 応答には、KDC でサポートされている暗号化の種類に関する情報が含まれており、AES の場合は、パスワード ハッシュの暗号化に使用される塩が含まれます。

    推奨事項: このエラー コードは常に無視してください。

  2. KDC_ERR_S_BADOPTIONは、特定のオプションが設定されたチケット (たとえば、特定の委任フラグ) を取得するために Kerberos クライアントによって使用されます。 要求された種類の委任が不可能な場合、これは返されるエラーです。 Kerberos クライアントは、他のフラグを使用して要求されたチケットを取得しようとします。これは成功する可能性があります。

    推奨事項: 委任の問題を解決できない限り、このエラーを無視してください。

  3. KDC_ERR_S_PRINCIPAL_UNKNOWNは、アプリケーション クライアントとサーバーの連絡に関するさまざまな問題についてログに記録される場合があります。 原因は次のとおりです。

    • AD に登録されている SPN が見つからないか重複しています。
    • たとえば、クライアントによって使用されるサーバー名または DNS サフィックスが正しくありません。たとえば、クライアントが DNS CNAME レコードを追いかけ、その結果の A レコードを SPN で使用しています。
    • AD フォレストの境界を越えて解決する必要がある非 FQDN サーバー名の使用。

    推奨事項: アプリケーションによるサーバー名の使用を調査します。 クライアントまたはサーバーの構成の問題である可能性が最も高いです。

  4. KRB_AP_ERR_MODIFIEDは、サーバーが実行されているアカウントと一致せず、SPN が正しくないアカウントに設定されている場合にログに記録されます。 2 つ目の一般的な問題は、チケットを発行している KDC とサービスをホストしているサーバーの間のパスワードが同期しなくなっているということです。

    推奨事項: KDC_ERR_S_PRINCIPAL_UNKNOWNと同様に、SPN が正しく設定されているかどうかをチェックします。

その他のシナリオまたはエラーには、システム管理者またはドメイン管理者の注意が必要です。

重要

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

特定のコンピューターで Kerberos イベント ログを有効にする

  1. レジストリ エディターを起動します。

  2. 次のレジストリ値を追加します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
    レジストリ値: LogLevel
    値の種類: REG_DWORD
    値データ: 0x1

    Parameters サブキーが存在しない場合は、作成します。

    注:

    コンピューターでパフォーマンスが低下しないように、不要になった場合は、このレジストリ値を削除します。 また、このレジストリ値を削除して、特定のコンピューターで Kerberos イベント ログを無効にすることもできます。

  3. レジストリ エディターを終了します。 この設定は、Windows Server 2012 R2、Windows 7、およびそれ以降のバージョンですぐに有効になります。

  4. システム ログには、Kerberos 関連のイベントがあります。

詳細

Kerberos イベント ログは、定義されたアクション期間に Kerberos クライアント側の追加情報が必要な場合にのみ、トラブルシューティングを目的としています。 再設定すると、アクティブなトラブルシューティングを行わない場合は、kerberos ログ記録を無効にする必要があります。

一般的な観点から、ユーザーまたは管理者の介入なしに、受信側クライアントによって正しく処理される追加のエラーを受け取る場合があります。 残念ですが、Kerberos ログによってキャプチャされたエラーの中には、解決する必要がある重大な問題や解決が必要な重大な問題が反映されていないものもあります。

たとえば、サーバー名 cifs/<IP アドレス>のエラー コードが0x7 KDC_ERR_S_PRINCIPAL_UNKNOWNされた Kerberos エラーに関するイベント ログ 3 は、サーバー IP アドレスに対して共有アクセスが行われ、サーバー名がない場合にログに記録されます。 このエラーがログに記録された場合、Windows クライアントはユーザー アカウントの NTLM 認証に自動的にフェールバックしようとします。 この操作が機能する場合は、エラーを受け取らなくなります。