ItemBox

4771(F) Kerberos 事前認証に失敗しました。

4771(F): Kerberos 事前認証に失敗しました。

サブカテゴリ: Kerberos 認証サービスの監査

イベントの説明:

このイベントは、Key Distribution Center が Kerberos チケット授与チケット (TGT) の発行に失敗するたびに生成されます。この問題は、ドメイン コントローラーにスマート カード認証用の証明書がインストールされていない場合 (たとえば、「ドメイン コントローラー」または「ドメイン コントローラー認証」テンプレートを使用)、ユーザーのパスワードが期限切れになっている場合、または間違ったパスワードが提供された場合に発生する可能性があります。

このイベントはドメイン コントローラーでのみ生成されます。

アカウントに「Kerberos 事前認証を要求しない」オプションが設定されている場合、このイベントは生成されません。

  推奨事項については、このイベントのセキュリティ監視の推奨事項を参照してください。

イベント XML:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
 <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" /> 
 <EventID>4771</EventID> 
 <Version>0</Version> 
 <Level>0</Level> 
 <Task>14339</Task> 
 <Opcode>0</Opcode> 
 <Keywords>0x8010000000000000</Keywords> 
 <TimeCreated SystemTime="2015-08-07T18:10:21.495462300Z" /> 
 <EventRecordID>166708</EventRecordID> 
 <Correlation /> 
 <Execution ProcessID="520" ThreadID="1084" /> 
 <Channel>Security</Channel> 
 <Computer>DC01.contoso.local</Computer> 
 <Security /> 
 </System>
- <EventData>
 <Data Name="TargetUserName">dadmin</Data> 
 <Data Name="TargetSid">S-1-5-21-3457937927-2839227994-823803824-1104</Data> 
 <Data Name="ServiceName">krbtgt/CONTOSO.LOCAL</Data> 
 <Data Name="TicketOptions">0x40810010</Data> 
 <Data Name="Status">0x10</Data> 
 <Data Name="PreAuthType">15</Data> 
 <Data Name="IpAddress">::ffff:10.0.0.12</Data> 
 <Data Name="IpPort">49254</Data> 
 <Data Name="CertIssuerName" /> 
 <Data Name="CertSerialNumber" /> 
 <Data Name="CertThumbprint" /> 
 </EventData>
 </Event>

必要なサーバー ロール: Active Directory ドメイン コントローラー。

最小 OS バージョン: Windows Server 2008。

イベント バージョン: 0。

フィールドの説明:

アカウント情報:

  • セキュリティ ID [タイプ = SID]: (TGT) チケットが要求されたアカウント オブジェクトの SID。イベント ビューアーは自動的に SID を解決してアカウント名を表示しようとします。SID を解決できない場合、イベントにソース データが表示されます。

    例: CONTOSO\dadmin または CONTOSO\WIN81$。

  セキュリティ識別子 (SID) は、信託者 (セキュリティ プリンシパル) を識別するために使用される可変長の一意の値です。各アカウントには、Active Directory ドメイン コントローラーなどの権限によって発行され、セキュリティ データベースに保存される一意の SID があります。ユーザーがログオンするたびに、システムはデータベースからそのユーザーの SID を取得し、そのユーザーのアクセス トークンに配置します。システムは、アクセス トークン内の SID を使用して、以降のすべての Windows セキュリティとのやり取りでユーザーを識別します。SID がユーザーまたはグループの一意の識別子として使用された場合、それが再び別のユーザーまたはグループを識別するために使用されることはありません。SID の詳細については、セキュリティ識別子を参照してください。

  • アカウント名: [Type = UnicodeString]: TGTチケットが要求されたアカウントの名前。コンピュータアカウント名は**$**文字で終わります。

    • ユーザーアカウントの例: dadmin

    • コンピュータアカウントの例: WIN81$

サービス情報:

  • サービス名 [Type = UnicodeString]: TGT要求が送信されたKerberos Realmのサービス名。通常、以下の形式のいずれかになります:

    • krbtgt/DOMAIN_NETBIOS_NAME. 例: krbtgt/CONTOSO

    • krbtgt/DOMAIN_FULL_NAME. 例: krbtgt/CONTOSO.LOCAL

ネットワーク情報:

  • クライアントアドレス [Type = UnicodeString]: TGT要求が受信されたコンピュータのIPアドレス。以下は形式の例です:

    • IPv6またはIPv4アドレス。

    • ::ffff:IPv4_address

    • ::1 - ローカルホスト。

  • クライアントポート [Type = UnicodeString]: クライアントネットワーク接続(TGT要求接続)のソースポート番号。

    • ローカル(localhost)要求の場合は0。

追加情報:

  • チケットオプション: [Type = HexInt32]: これは16進数形式の異なるチケットフラグのセットです。

    例:

    • チケットオプション: 0x40810010

    • バイナリビュー: 01000000100000010000000000010000

    • MSB 0ビット番号付けを使用すると、ビット1、8、15、27が設定されており、Forwardable、Renewable、Canonicalize、Renewable-okとなります。

  以下の表では**“MSB 0”**ビット番号付けが使用されています。これはRFCドキュメントで使用されるスタイルです。“MSB 0"スタイルではビット番号付けは左から始まります。

最も一般的な値:

  • 0x40810010 - Forwardable、Renewable、Canonicalize、Renewable-ok

  • 0x40810000 - Forwardable、Renewable、Canonicalize

  • 0x60810010 - Forwardable、Forwarded、Renewable、Canonicalize、Renewable-ok

ビットフラグ名説明
0予約済み-
1Forwardable(TGTのみ)。提示されたTGTに基づいて異なるネットワークアドレスを持つ新しいTGTを発行できることをチケット発行サービスに伝えます。
2ForwardedTGTが転送されたか、転送されたTGTからチケットが発行されたことを示します。
3Proxiable(TGTのみ)。提示されたTGTに基づいて異なるネットワークアドレスを持つチケットを発行できることをチケット発行サービスに伝えます。
4Proxyチケットのネットワークアドレスがチケットを取得するために使用されたTGTのものと異なることを示します。
5Allow-postdateポストデートチケットはKILE(Microsoft Kerberosプロトコル拡張)でサポートされるべきではありません。
6PostdatedポストデートチケットはKILE(Microsoft Kerberosプロトコル拡張)でサポートされるべきではありません。
7Invalidこのフラグはチケットが無効であり、使用前にKDCによって検証される必要があることを示します。アプリケーションサーバーはこのフラグが設定されたチケットを拒否する必要があります。
8Renewable長期間のチケットをKDCで定期的に更新するために、終了時間と更新期限フィールドと組み合わせて使用されます。
9Initialチケットが認証サービス(AS)交換を使用して発行されたことを示し、TGTに基づいて発行されたものではありません。
10Pre-authentクライアントがチケット発行前にKDCによって認証されたことを示します。このフラグは通常、チケット内の認証者の存在を示します。また、スマートカードログオンから取得された資格情報の存在を示すこともできます。
11Opt-hardware-authこのフラグは元々、事前認証中にハードウェアサポートの認証が使用されたことを示すために意図されていました。このフラグはKerberos V5プロトコルでは推奨されなくなりました。KDCはこのフラグが設定されたチケットを発行してはなりません。他のKDCによって設定された場合、このフラグを保持してはなりません。
12Transited-policy-checkedKILEはサーバーやKDCで通過ドメインをチェックしてはなりません。アプリケーションサーバーはTRANSITED-POLICY-CHECKEDフラグを無視する必要があります。
13Ok-as-delegateサービスアカウントが委任のために信頼されている場合、KDCはOK-AS-DELEGATEフラグを設定する必要があります。
14Request-anonymousKILEはこのフラグを使用しません。
15Name-canonicalizeリファラルを要求するために、KerberosクライアントはAS-REQまたはTGS-REQのために明示的に"canonicalize” KDCオプションを要求する必要があります。
16-25未使用-
26Disable-transited-checkデフォルトでは、KDCはTGTの通過フィールドをローカルレルムのポリシーに対してチェックし、そのTGTに基づいて派生チケットを発行する前にチェックします。このフラグが要求に設定されている場合、通過フィールドのチェックは無効になります。このチェックを行わずに発行されたチケットは、TRANSITED-POLICY-CHECKEDフラグのリセット(0)値によって示され、アプリケーションサーバーに通過フィールドをローカルでチェックする必要があることを示します。KDCはこのDISABLE-TRANSITED-CHECKオプションを尊重することが推奨されますが、必須ではありません。使用されるべきではありません。なぜなら、Transited-policy-checkedフラグはKILEでサポートされていないからです。
27Renewable-okRENEWABLE-OKオプションは、要求された期間のチケットが提供できない場合に、更新可能なチケットが受け入れられることを示します。この場合、要求された終了時間と等しい更新期限を持つ更新可能なチケットが発行されることがあります。更新期限フィールドの値は、ローカルの制限や個々のプリンシパルまたはサーバーによって選択された制限によって制限されることがあります。
28Enc-tkt-in-skey情報なし。
29未使用-
30RenewRENEWオプションは、現在の要求が更新のためであることを示します。提供されたチケットは、それが有効なサーバーの秘密鍵で暗号化されています。このオプションは、更新されるチケットにRENEWABLEフラグが設定されており、その更新期限フィールドの時間が経過していない場合にのみ尊重されます。更新されるチケットは、認証ヘッダーの一部としてpadataフィールドに渡されます。
31Validateこのオプションはチケット発行サービスによってのみ使用されます。VALIDATEオプションは、ポストデートチケットを検証するための要求であることを示します。ポストデートチケットはKILEでサポートされていないため、使用されるべきではありません。

表6. Kerberosチケットフラグ。

  • 失敗コード [Type = HexInt32]: 失敗したTGT発行操作の16進数の失敗コード。以下の表には、RFC 4120で定義されたこのイベントのエラーコードのリストが含まれています:
コードコード名説明可能な原因
0x0KDC_ERR_NONEエラーなし
0x1KDC_ERR_NAME_EXPデータベース内のクライアントのエントリが期限切れ
0x2KDC_ERR_SERVICE_EXPデータベース内のサーバーのエントリが期限切れ
0x3KDC_ERR_BAD_PVNO要求されたプロトコルバージョン番号がサポートされていない
0x4KDC_ERR_C_OLD_MAST_KVNOクライアントのキーが古いマスターキーで暗号化されている
0x5KDC_ERR_S_OLD_MAST_KVNOサーバーのキーが古いマスターキーで暗号化されている
0x6KDC_ERR_C_PRINCIPAL_UNKNOWNKerberosデータベースにクライアントが見つからない
0x7KDC_ERR_S_PRINCIPAL_UNKNOWNKerberosデータベースにサーバーが見つからない
0x8KDC_ERR_PRINCIPAL_NOT_UNIQUEデータベースに複数のプリンシパルエントリがある
0x9KDC_ERR_NULL_KEYクライアントまたはサーバーがヌルキーを持っている
0xaKDC_ERR_CANNOT_POSTDATEチケットが後日付に適さない
0xbKDC_ERR_NEVER_VALID要求された開始時間が終了時間より後
0xcKDC_ERR_POLICYKDCポリシーが要求を拒否
0xdKDC_ERR_BADOPTIONKDCが要求されたオプションに対応できない
0xeKDC_ERR_ETYPE_NOSUPPKDCが暗号化タイプをサポートしていない
0xfKDC_ERR_SUMTYPE_NOSUPPKDCがチェックサムタイプをサポートしていない
0x10KDC_ERR_PADATA_TYPE_NOSUPPKDCがPADATAタイプ(事前認証データ)をサポートしていないスマートカードログオンが試行されており、適切な証明書が見つからない。この問題は、誤った認証局(CA)が照会されているか、適切なCAに接続できないために発生する可能性があります。また、ドメインコントローラーにスマートカード用の証明書(ドメインコントローラーまたはドメインコントローラー認証テンプレート)がインストールされていない場合にも発生します。
0x11KDC_ERR_TRTYPE_NOSUPPKDCがトランジットタイプをサポートしていない
0x12KDC_ERR_CLIENT_REVOKEDクライアントの資格情報が取り消された
0x13KDC_ERR_SERVICE_REVOKEDサーバーの資格情報が取り消された
0x14KDC_ERR_TGT_REVOKEDTGTが取り消された
0x15KDC_ERR_CLIENT_NOTYETクライアントがまだ有効でない;後でもう一度試してください
0x16KDC_ERR_SERVICE_NOTYETサーバーがまだ有効でない;後でもう一度試してください
0x17KDC_ERR_KEY_EXPIREDパスワードが期限切れ—パスワードを変更してリセットユーザーのパスワードが期限切れです。
0x18KDC_ERR_PREAUTH_FAILED事前認証情報が無効間違ったパスワードが提供されました。
0x19KDC_ERR_PREAUTH_REQUIRED追加の事前認証が必要
0x1aKDC_ERR_SERVER_NOMATCH要求されたサーバーとチケットが一致しない
0x1bKDC_ERR_MUST_USE_USER2USERサーバープリンシパルがuser2userのみに有効
0x1cKDC_ERR_PATH_NOT_ACCEPTEDKDCポリシーがトランジットパスを拒否
0x1dKDC_ERR_SVC_UNAVAILABLEサービスが利用できない
0x1fKRB_AP_ERR_BAD_INTEGRITY復号化されたフィールドの整合性チェックに失敗
0x20KRB_AP_ERR_TKT_EXPIREDチケットが期限切れ
0x21KRB_AP_ERR_TKT_NYVチケットがまだ有効でない
0x22KRB_AP_ERR_REPEAT要求がリプレイ
0x23KRB_AP_ERR_NOT_USチケットが私たちのものではない
0x24KRB_AP_ERR_BADMATCHチケットと認証者が一致しない
0x25KRB_AP_ERR_SKEWクロックスキューが大きすぎる
0x26KRB_AP_ERR_BADADDRネットアドレスが間違っている
0x27KRB_AP_ERR_BADVERSIONプロトコルバージョンの不一致
0x28KRB_AP_ERR_MSG_TYPE無効なメッセージタイプ
0x29KRB_AP_ERR_MODIFIEDメッセージストリームが変更された
0x2aKRB_AP_ERR_BADORDERメッセージの順序が間違っている
0x2cKRB_AP_ERR_BADKEYVER指定されたキーのバージョンが利用できない
0x2dKRB_AP_ERR_NOKEYサービスキーが利用できない
0x2eKRB_AP_ERR_MUT_FAIL相互認証に失敗
0x2fKRB_AP_ERR_BADDIRECTIONメッセージの方向が間違っている
0x30KRB_AP_ERR_METHOD代替認証方法が必要
0x31KRB_AP_ERR_BADSEQメッセージ内のシーケンス番号が間違っている
0x32KRB_AP_ERR_INAPP_CKSUMメッセージ内のチェックサムの種類が不適切
0x33KRB_AP_PATH_NOT_ACCEPTEDポリシーがトランジットパスを拒否
0x34KRB_ERR_RESPONSE_TOO_BIG応答がUDPに対して大きすぎる;TCPで再試行
0x3cKRB_ERR_GENERIC一般的なエラー(e-textに説明あり)
0x3dKRB_ERR_FIELD_TOOLONGこの実装にはフィールドが長すぎる
0x3eKDC_ERROR_CLIENT_NOT_TRUSTEDPKINIT用に予約済み
0x3fKDC_ERROR_KDC_NOT_TRUSTEDPKINIT用に予約済み
0x40KDC_ERROR_INVALID_SIGPKINIT用に予約済み
0x41KDC_ERR_KEY_TOO_WEAKPKINIT用に予約済み
0x42KDC_ERR_CERTIFICATE_MISMATCHPKINIT用に予約済み
0x43KRB_AP_ERR_NO_TGTUSER-TO-USERを検証するためのTGTが利用できない
0x44KDC_ERR_WRONG_REALM将来の使用のために予約済み
0x45KRB_AP_ERR_USER_TO_USER_REQUIREDチケットはUSER-TO-USER用でなければならない
0x46KDC_ERR_CANT_VERIFY_CERTIFICATEPKINIT用に予約済み
0x47KDC_ERR_INVALID_CERTIFICATEPKINIT用に予約済み
0x48KDC_ERR_REVOKED_CERTIFICATEPKINIT用に予約済み
0x49KDC_ERR_REVOCATION_STATUS_UNKNOWNPKINIT用に予約済み
0x4aKDC_ERR_REVOCATION_STATUS_UNAVAILABLEPKINIT用に予約済み
0x4bKDC_ERR_CLIENT_NAME_MISMATCHPKINIT用に予約済み
0x4cKDC_ERR_KDC_NAME_MISMATCHPKINIT用に予約済み
  • 事前認証タイプ [Type = UnicodeString]: TGTリクエストで使用された事前認証タイプのコード。
タイプタイプ名説明
0-事前認証なしでのログオン。
2PA-ENC-TIMESTAMPこのタイプは標準のパスワード認証に通常使用されます。
11PA-ETYPE-INFOETYPE-INFO事前認証タイプは、追加の事前認証が必要であることを示すKRB-ERRORでKDCによって送信されます。通常、PA-ENC-TIMESTAMP事前認証値を送信するために暗号化されたタイムスタンプの暗号化に使用するキーをクライアントに通知するために使用されます。Microsoft Active Directory環境ではこの事前認証タイプは見たことがありません。
15PA-PK-AS-REP_OLDスマートカードログオン認証に使用されます。
16PA-PK-AS-REQスマートカード認証シナリオでKDCに送信されるリクエスト。
17PA-PK-AS-REPこのタイプもスマートカード認証に使用されるべきですが、特定のActive Directory環境では見られないことがあります。
19PA-ETYPE-INFO2ETYPE-INFO2事前認証タイプは、追加の事前認証が必要であることを示すKRB-ERRORでKDCによって送信されます。通常、PA-ENC-TIMESTAMP事前認証値を送信するために暗号化されたタイムスタンプの暗号化に使用するキーをクライアントに通知するために使用されます。Microsoft Active Directory環境ではこの事前認証タイプは見たことがありません。
20PA-SVR-REFERRAL-INFOKDCリファーラルチケットで使用されます。
138PA-ENCRYPTED-CHALLENGEKerberos Armoring(FAST)を使用したログオン。Windows Server 2012ドメインコントローラーおよびWindows 8クライアントからサポートされています。
-このタイプは監査失敗イベントに表示されます。

証明書情報:

  • 証明書発行者名 [タイプ = UnicodeString]: スマートカード証明書を発行した認証局の名前。証明書の発行者フィールドに入力されます。4771 イベントでは常に空です。

  • 証明書シリアル番号 [タイプ = UnicodeString]: スマートカード証明書のシリアル番号。証明書のシリアル番号フィールドに記載されています。4771 イベントでは常に空です。

  • 証明書サムプリント [タイプ = UnicodeString]: スマートカード証明書のサムプリント。証明書のサムプリントフィールドに記載されています。4771 イベントでは常に空です。

セキュリティ監視の推奨事項

4771(F): Kerberos 事前認証に失敗しました。

必要な監視の種類推奨事項
高価値アカウント: 各アクションを監視する必要がある高価値のドメインまたはローカルアカウントがあるかもしれません。高価値アカウントの例としては、データベース管理者、組み込みのローカル管理者アカウント、ドメイン管理者、サービスアカウント、ドメインコントローラーアカウントなどがあります。高価値アカウントまたはアカウントに対応する**“セキュリティID”**でこのイベントを監視します。
異常または悪意のある行動: 異常を検出したり、潜在的な悪意のある行動を監視するための特定の要件があるかもしれません。例えば、勤務時間外のアカウント使用を監視する必要があるかもしれません。異常または悪意のある行動を監視する際には、特定のアカウントがどのようにまたはいつ使用されているかを監視するために**“セキュリティID”**(他の情報と共に)を使用します。
非アクティブアカウント: 非アクティブ、無効、またはゲストアカウント、その他使用されるべきでないアカウントがあるかもしれません。使用されるべきでないアカウントに対応する**“セキュリティID”**でこのイベントを監視します。
アカウント許可リスト: 特定のイベントに対応するアクションを実行することが許可されているアカウントの特定の許可リストがあるかもしれません。このイベントが「許可リストのみ」のアクションに対応する場合、許可リスト外のアカウントに対して**“セキュリティID”**を確認します。
アカウント命名規則: 組織にはアカウント名に関する特定の命名規則があるかもしれません。命名規則に従わない名前について**“サブジェクト\アカウント名”**を監視します。
  • 内部IP範囲やプライベートIP範囲外からのクライアントアドレスがある4771イベントをすべて追跡できます。

  • アカウント名が特定のIPアドレスリストからのみ使用されるべきであることがわかっている場合、4771イベントでこのアカウント名のすべてのクライアントアドレス値を追跡します。クライアントアドレスが許可リストにない場合、アラートを生成します。

  • すべてのクライアントアドレス = ::1はローカル認証を意味します。ドメインコントローラーにログオンするべきアカウントのリストがわかっている場合、クライアントアドレス = ::1でアカウント名がどのドメインコントローラーにもログオンすることが許可されていないすべての違反を監視する必要があります。

  • クライアントポートフィールドの値が0より大きく1024未満のすべての4771イベントを調査する必要があります。これは、アウトバウンド接続に既知のポートが使用されたことを意味します。

  • また、以下の表に示すフィールドを監視して、リストされた問題を発見します:

フィールド発見する問題
事前認証タイプアカウントが認証にスマートカードを使用する必要がある場合、値が15ではない。詳細については、表5. Kerberos事前認証タイプを参照してください。
事前認証タイプ組織で標準のパスワード認証のみが使用されている場合、値が2ではない。詳細については、表5. Kerberos事前認証タイプを参照してください。
事前認証タイプ組織内のすべてのKerberos通信にKerberos Armoringが有効になっている場合、値が138ではない。詳細については、表5. Kerberos事前認証タイプを参照してください。
失敗コード0x10(KDCがPADATAタイプ(事前認証データ)をサポートしていない)。このエラーは、Kerberos認証に関連するスマートカードの問題をより迅速に特定するのに役立ちます。
失敗コード0x18(事前認証情報が無効)、例えば、最後のN分間にNイベントが発生した場合。この問題は、特に非常に重要なアカウントに対するブルートフォース攻撃を示している可能性があります。