アカウント ロックアウトの調査 1 (送信元の特定)

目次

本記事はマイクロソフト社員によって公開されております。 いつも弊社製品をご利用いただきまして誠にありがとうございます。 本サイトでは弊社にお問い合わせいただく際に、事前に採取しておいたほうが良い内容についてご紹介しております。 このページでは、「アカウント ロックアウトの調査 (送信元の特定)」に必要な資料採取についてご紹介いたします。

本資料が有効なシナリオ


  • ドメインに参加しているユーザー アカウントでアカウント ロックアウトが発生している
  • 誤ったパスワードを送信しているコンピューターが特定できていない

アカウント ロックアウトの調査の流れ


アカウント ロックアウトの調査は、以下の 2 つのフェーズに大別され、このページでは「1. 送信元の特定」を扱います。

  1. 送信元の特定
  2. 送信元のコンピューターでのプロセスの特定

2 の調査の前に「1. 送信元の特定」を行う理由は、複数のコンピューターから誤った認証要求が行われている可能性があるためです。

1 台のコンピューターだけを調査しても、そのコンピューターでは単にユーザーがログオン時に一度だけ誤ったパスワードを入力しただけで、実は他のコンピューターの特定のプロセスが頻繁に誤ったパスワードを送信しており、本当の原因はそちらにあったということが発生する場合があります。 そのため、アカウント ロックアウトの調査を行う場合は、必ず事前に送信元のコンピューターを特定する必要があります。

「1. 送信元の特定」が既に調査済みであり、送信元のコンピューターは特定できているものの、誤ったパスワードで認証しているプロセスが分からない、という場合は、「2. 送信元のコンピューターでのプロセスの特定」の調査を行う必要がありますので、以下の URL を参考にしてください。

アカウント ロックアウトの調査 2 (プロセスの特定)

なお、上記のようにアカウント ロックアウトの調査は複数のステップを踏む必要があるため、時間のかかる調査になる場合があることを念頭に置いていただければ幸いです。

アカウント ロックアウトの仕組み


アカウントがロックアウトされる仕組みについて理解していただくために、アカウントのロックアウトに至るまでのフローを説明します。

(1) ユーザーがパスワードを入力してログオンを試みると、ログオン先のドメイン コントローラー (以下、DC と省略) で認証が行われて、パスワードが異なることが検出されます。

(2) 誤ったパスワードを受け取った DC は、パスワードが直近で変更されていたとしても最新のパスワード情報を持つはずの PDC エミュレーターの DC (以下、PDCE と省略) に対して、そのユーザーのパスワードの情報を確認します。

(3) PDCE で保持しているパスワードとも異なる場合は、PDCE と DC 上でそのユーザー アカウントの認証失敗回数 (badPwdCount 属性) を 1 つ上げ、認証に失敗した旨の応答をコンピューターに返します。

(4) 上記の認証失敗が繰り返されて badPwdCount がロックアウトのしきい値を超えると、そのユーザー アカウントをロックアウトします。

(5) ユーザー アカウントをロックアウトしたという情報は、その DC が所属するサイトの DC へ緊急的に複製されます。 また、サイト外の DC へは、サイト間の複製スケジュールに従い複製されます。

上記のフローとなるため、送信元のコンピューターを特定するためには、認証が行われる DC でログを採取する必要があります。

採取いただく資料


  • イベント ログ
  • Netlogon ログ

資料採取時の影響について


ログ採取中は各種リソースに多少の負荷がかかる可能性がございますが、通常、実影響はございません。 また、ログ採取にあたり再起動の必要はございません。

対象機器


  • 認証が行われる可能性があるすべての DC

事前準備 および 情報採取手順


採取対象機器にて、以下の情報採取を実施していただきますようお願いいたします。

  1. DC に対して、以下の監査ポリシーが有効に設定されているかご確認ください。

通常の監査設定の場合

以下の監査を成功と失敗両方を有効に設定してください。

[コンピューターの構成]-[Windows の設定]-[セキュリティの設定]-[ローカル ポリシー]-[監査ポリシー]

  • アカウント ログオン イベントの監査
  • アカウント管理の監査
  • ログオン イベントの監査

詳細な監査設定(監査ポリシーの詳細な構成)の場合

以下の監査を成功と失敗両方を有効に設定してください。

[コンピューターの構成]-[Windows の設定]-[セキュリティの設定]-[監査ポリシーの詳細な構成]-[監査ポリシー]-[アカウントの管理]

  • ユーザー アカウント管理の監査

[コンピューターの構成]-[Windows の設定]-[セキュリティの設定]-[監査ポリシーの詳細な構成]-[監査ポリシー]-[アカウント ログオン]

  • 配下のすべての監査

ポリシーが設定されているか分からない場合は、DC で以下のコマンドを実施することで確認できます。

auditpol /get /category:*
  1. 全ての DC にてコマンド プロンプトを右クリックから “管理者として実行” で起動し、以下のコマンドを実行します。
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" /v MaximumLogFileSize /t REG_DWORD /d 200000000 /f
nltest /dbflag:0x2fffffff

Netlogon ログは NTLM 認証で送信元を特定する場合に有用です。 netlogon.log および netlogon.bak ファイルの両方で合わせて最大 400 MB のログが循環形式にて保存されます。 サイズを変更する場合には MaximumLogFileSize の値 (bytes) を変更してください。

  1. アカウント ロックアウトが発生するまで待ちます。

  2. コマンド プロンプトを右クリックから “管理者として実行” で起動し、以下のコマンドを実行します。

nltest /dbflag:0x0

生成された以下のログを送付してください。

%systemroot%\debug フォルダ配下の netlogon.log および netlogon.bak (存在する場合)

ご自身で確認する場合のため、ログオン成功とログオン失敗の表示例を示します。 以下のログでは、CLIENT01 が SV01 に CONTOSO\testuser001 のアカウントでログオンする際に、認証要求が DC に送信されている例となります。

// ログオン成功
12/22 00:48:28 [LOGON] [5560] CONTOSO: SamLogon: Transitive Network logon of CONTOSO\testuser001 from CLIENT01 (via SV01) Entered
12/22 00:48:28 [LOGON] [5560] CONTOSO: SamLogon: Transitive Network logon of CONTOSO\testuser001 from CLIENT01 (via SV01) Returns 0x0

// ログオン失敗
12/22 00:53:58 [LOGON] [9688] CONTOSO: SamLogon: Transitive Network logon of CONTOSO\testuser001 from CLIENT01 (via SV01) Entered
12/22 00:53:58 [LOGON] [9688] CONTOSO: SamLogon: Transitive Network logon of CONTOSO\testuser001 from CLIENT01 (via SV01) Returns 0xC000006A

なお、代表的なエラー コードは以下の通りです。

0xC0000064 STATUS_NO_SUCH_USER      ・・・ ユーザーが存在しない
0xC000006A STATUS_WRONG_PASSWORD    ・・・ パスワード間違い
0xC0000234 STATUS_ACCOUNT_LOCKED_OUT  ・・・ アカウント ロックアウト
  1. セキュリティ ログを確認します。まずは、対象のユーザー アカウントがアカウント ロックアウトしたことを示す ID 4740 のイベントを確認します。
ID 4740 のイベント成功の監査,2023/06/30 6:22:40,Microsoft-Windows-Security-Auditing,4740,ユーザー アカウント管理,"ユーザー アカウントがロックアウトされました。

サブジェクト:セキュリティ ID:
SYSTEMアカウント名:        CLIENT01$
アカウント ドメイン:        CONTOSO
ログオン ID:        0x3e7
ロックアウトされたアカウント:
セキュリティ ID:        S-1-5-21-1343024091-746137067-725345543-3875
アカウント名:        TestUser01                   <----- ロックアウトされたアカウント名
  1. 続いて、セキュリティ ログから「アカウント ロックアウトが発生した時刻より以前のイベント」を確認し、対象のユーザー アカウントが誤ったパスワードを送信したことを示すイベントを確認します。

Kerberos 認証の場合は下記のような ID 4771 のイベントが記録されます。

ID 4771 のイベント2023/06/30 09:49:33,Microsoft-Windows-Security-Auditing,4771,Kerberos 認証サービス,"Kerberos 事前認証に失敗しました。

アカウント情報:
セキュリティ ID:  S-1-5-21-1343024091-746137067-725345543-3875
アカウント名:  TestUser01
サービス情報:
サービス名:  krbtgt/contoso
ネットワーク情報:
クライアント アドレス:  :10.34.25.200   <----- 送信元の IP アドレス
クライアント ポート:  61904
追加情報:
チケット オプション:  0x40810010
エラー コード:  0x18                    <----- 0x18 は誤ったパスワードを使用して認証をしたことを示します。
事前認証の種類: 2

NTLM 認証の場合は、下記のような ID 4776 のイベントが記録されます。

ID 4776 のイベントログの名前:
Securityソース: Microsoft-Windows-Security-Auditing
日付: 2023/06/30 10:22:19
イベント ID: 4776
タスクのカテゴリ:
資格情報の確認レベル:
情報キーワード:
失敗の監査ユーザー: N/A
コンピューター:       SV01.contoso.com
説明:コンピューターがアカウントの資格情報の確認を試行しました。
認証パッケージ:      MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
ログオン アカウント:            TestUser02
ソース ワークステーション:   CLIENT01    <----- 送信元のコンピュータ名
エラー コード:       0xc000006a               <----- 0xc000006a は誤ったパスワードを使用して認証をしたことを示します。
  1. 送信元が特定できたら、特定したコンピューターの用途を確認し、思い当たるアプリケーションなどが無いか確認します。 ドメインユーザーにてアカウント ロックが発生する一般的な原因を以下にご案内いたします。 該当する項目がないかご確認をいただきますようお願い申し上げます。

<アカウント ロックの一般的な原因>

  1. PDC エミュレーターと DC 間の通信上の問題
  2. アプリケーション、サービスなどの起動アカウントのパスワー ドが不正である場合
  3. マルウェアによる影響
  4. 人為的な総当り攻撃 (ブルートフォース アタックなど)
  5. 人為的な入力ミス
  6. DC の複製の問題
  7. 無線 LAN の影響などでクライアントにてキャッシュ ログオンが発生している場合
  8. リモート接続のセッションの残留

上記につきまして、切り分けのご実施をいただけるものに関しまして以下にご案内させていただきますので、以下の項目に当てはまる箇所がないかご確認をお願いいたします。

A) バッチなどのプログラム実行ユーザーのパスワード

タスク スケジューラーなどでプログラム実行を設定してある場合、実行ユーザーのパスワードが正しいパスワードに設定されているかご確認ください。 念のため、正しいパスワードに設定しなおしていただき、現象が回避するかご確認をいただきますようお願い申し上げます。

B) サービス起動パスワード

サービスにおいて実行ユーザーを設定してある場合、実行ユーザーのパスワードが正しいパスワードに設定されているかご確認ください。 念のため、正しいパスワードに設定しなおしていただき、現象が回避するかご確認をいただきますようお願い申し上げます。

C) その他アプリケーション実行ユーザーのパスワード

アプリケーションの実行ユーザー パスワードが正しいパスワードに設定されているかご確認ください。 念のため、正しいパスワードに設定しなおしていただき、現象が回避するかご確認をいただきますようお願い申し上げます。

D) ネットワーク ドライブ、ネットワーク パスワードの設定パスワード

他のコンピューターが、このロックアウトが発生したサーバーの共有フォルダーをネットワーク ドライブとしてマウントしている場合や、ネットワーク パスワードを保存してアクセスしている際、そのアクセス元のコンピューターに誤ったパスワードが保存されている場合には、ロックアウトが発生します。 アクセス元のコンピューターで、次の作業を実施し、問題が解消するか確認をお願いいたします。

// ネットワーク ドライブの解除方法 4-1. エクスプローラーを起動します。 4-2. 解除したいネットワーク ドライブを右クリックし、[切断] をクリックします。 ※ すべてのネットワーク ドライブを解除してください。

// ネットワーク パスワードの解除方法 4-3. [ファイル名を指定して実行] から control keymgr.dll を実行します。 4-4. Windows 資格情報に対象のユーザーの設定が行われている場合には、すべての項目に対して、“削除” を行なってください。

E) ウイルス スキャン

マルウェアの中には、アカウント ロックアウトに影響するものもございます。 そのため、可能でございましたら、最新のパターン ファイルにてウイルス スキャンを実施いただきますようお願い申し上げます。

F) ドメインとローカルで同じユーザーアカウントを使用している

例えば、フォルダーにドメイン ユーザーのアクセス権を付与する際、ユーザーを検索するために DC に対して認証が行われます。

ドメイン ユーザーでログオンしている場合は、ドメイン ユーザーの資格情報を使用して認証が試みられるため、badPwdCount が増加することはありません。 一方、ローカル ユーザーでログオンしている場合は、ローカル ユーザーの資格情報を使用して認証が試みられます。

ローカル ユーザーでの認証要求は、それを受け取ったサーバー上では、自身のローカル アカウントに同名のアカウントが存在していないか確認し、もし存在していれば、自身のローカル アカウントとして認証を試みます。 DC では、ローカル アカウントを持たないため、自身のドメインのアカウントとしてその認証動作を試みるため、結果として同名のドメイン ユーザーが、存在していれば、そのドメイン ユーザーとして認証処理が行われます。 この時に、ドメイン ユーザーと異なるパスワードが設定されている場合は、認証に失敗して、badPwdCount が増加します。

この、ローカル ユーザーより DC へ認証が行われた際に認証が失敗して badPwdCount が増加することは想定される動作となります。本現象の回避策としては、以下のいずれかの方法となります。

(1) ローカル ユーザーを使用せず、ドメイン ユーザーでログオンを行う (2) ドメインに存在しないユーザーでローカルにログオンする

手順は以上でございます。 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。