Windowsのイベントログ(Security)を見る② ~ログオン成功とログオン失敗~
今日は少し時間が空いたので、モチベーションのあるうちにもう1記事…。
今回は、ログオン成功とログオン失敗のログで、私が見ているポイントについてご紹介します。
イベントID:4624 アカウントが正常にログオンしました。
イベントID:4624はログオン成功のログですね。
ここで見れる情報は、以下の通りです。
サブジェクト
サブジェクトの項目では、実際にログオンを要求したアカウントを確認することができます。
ここでは、
①セキュリティID
②アカウント名
③アカウントドメイン
④ログオンID
の4つの情報を確認することができます。
この項目で、私が主に確認しているのは②と③ですね。ログオン要求を行ったアカウントが正規なものなのか、もしくは、システム上のものなのかをここで確認しています。
この情報だと、ログオン要求を行ったアカウント名は自PCであることから、システム上のログオンであったと想像できます。
ログオン情報
ログオン情報の項目では、成功したログオンに使用された情報が確認できます。
ここでは、
①ログオンタイプ
②制限付き管理モード
③仮想アカウント
④昇格されたトークン
の4つの情報を確認することができます。
この項目で、私が確認しているのは①のみです。
ログオンタイプ
ログオンタイプは、どのような経路でログオンが成功したのかが記録された情報です。
2:対話型ログオン
ローカルPC上で直接ユーザIDとパスワードを入力するようなログオン方法
3:ネットワーク経由のログオン
4:ユーザが直接的に操作せずに、バッチでログオンする方法
5:サービスのログオン
7:ロック解除
パスワード付きスクリーンセイバーの解除などで記録されます。
8:ネットワーク経由のログオン(クリアテキスト(プレーンテキスト)形式)
9:新しい資格情報を指定したログオン
10:リモートデスクトップによるログオン
11:ローカルに保存された資格情報を使用したログオン
基本的に、ユーザがPCにログオンする場合は、「2」か「3」がメインになるかと思います。環境によっては、「10」や「11」も記録されるかもしれません。
また、Windowsは様々なサービスが並行稼働していますので、「5」もそこそこ記録されています。
新しいログオン
新しいログオンの項目では、成功したログオンのアカウントに関する情報が確認できます。
ここでは、
①セキュリティID
②アカウント名
③アカウントドメイン
④ログオンID
⑤リンクされたログオンID
⑥ネットワークアカウント名
⑦ネットワークアカウントドメイン
⑧ログオンGUID
の8つの情報を確認することができます。
この項目で、私が主に確認しているのは②と③ですね。
実際にログオンされたアカウント名や、そのアカウントが属するドメインを確認しています。
プロセス情報
プロセス情報の項目では、成功したログオンに使用されたプロセスに関する情報が確認できます。
ここでは、
①プロセスID
②プロセス名
の2つの情報を確認することができます。
この項目は、ほかの項目で怪しいと思ったログについて、不審なプロセスからログオンされていないか確認する場合に②を見ています。
ネットワーク情報
ネットワーク情報の項目では、成功したログオンに使用されたネットワークに関する情報が確認できます。
ここでは、
②ソースネットワークアドレス
③ソースポート
の3つの情報を確認することができます。
この項目は、ログオンタイプ「3」で、ネットワーク経由でログオンされた場合に、そのログオンの接続元はどこなのかを確認する際に②や③を確認しています。
イベントID:4625 アカウントのログオンに失敗しました
イベントID:4624と対をなすのがイベントID:4625のログオン失敗のログですね。
ここで見れる情報は、ほとんどがイベントID:4624と同一のものになります。
サブジェクト
①セキュリティID
②アカウント名
③アカウントドメイン
④ログオンID
ログオン失敗のログを見る際にも、このサブジェクトに注目しますが、やはり他の項目で不審と感じたログの場合に確認しています。
確認する項目は、ログオン成功と同様に②や③になります。
ログオンタイプ
①ログオンタイプ
ログオン失敗のログを確認する場合、この項目の①は必須の確認ポイントといえます。
特にネットワーク経由のログオンは、その接続元も併せて確認します。
ログオンを失敗したアカウント
①セキュリティID
②アカウント名
③アカウントドメイン
ログオン失敗のログを確認する際、無効化しているアカウントや、登録した覚えのないアカウントでログオンされた形跡が見つかる場合があります。
また、実際に使用されているアカウントでも大量のログオン失敗のログが記録されている場合がありますので、②と③の確認を最優先で実施しています。
エラー情報
エラー情報の項目では、ログオンに失敗した原因を確認できます。
ここでは、
①失敗の原因
②状態
③サブステータス
の3つの情報を確認することができます。
①で大枠のログオン失敗の原因が分かりそうですが、実際にはわからないことが大半なので、②と③のステータスコードを読み解いて、原因を特定します。
代表的なステータスコード
0xC0000064:ユーザ名が存在しない。
0xC000006A:パスワードが誤っている(ユーザは存在する)。
0xC000006D:ユーザ名または認証情報が誤っている。
0xC000006F:許可された時間外であった。
0xC0000070:権限のないワークステーションからログオンしようとした。
0xC0000071:パスワードの有効期限が切れている。
0xC0000072:ユーザアカウントが無効である。
0xC0000193:アカウントの有効期限が切れている。
プロセス情報
①プロセスID
②プロセス名
ログオン成功と同様に、ほかの項目で怪しいと思ったログについて、不審なプロセスからログオンされていないか確認する場合に②を見ています。
ネットワーク情報
②ソースネットワークアドレス
③ソースポート
この項目は、ログオンタイプ「3」で、ネットワーク経由でログオンされた場合に、そのログオンの接続元はどこなのかを確認する際に②や③を確認しています。
ログをみていてちょっと分かったこと
何個かのログを見ていて、ログオン関係で気付いたことのメモです。
anonymous logonの正体
イベントID:4624のログオンユーザで「anonymous logon」と表示されることがあります。これは、その名の通り、ユーザ名を特定できなかった場合に表示されるログです。
最初見たときは、某ハッカー集団の攻撃かとも思いましたが、私の環境下では、主に「ファイル共有」を行っていたことによるログであったケースがほとんどでした。
ファイル共有を行っていた場合、ユーザは共有しているファイルを操作するたびにユーザ認証としてユーザIDやパスワードを入力せずに操作しているケースがほとんどだと思います。特にEvery oneとして設定していた場合は、誰でも使用できますので、認証は発生していません。
その場合、イベントログには「ログオン成功」として記録されるものの、認証を行っていないため「anonymous」として記録されているようです。
この場合、ログオンタイプ「3:ネットワーク経由」で、ファイル操作したIPアドレスが表示されているかと思います。
このIPアドレスが組織外のものであった場合には、注意が必要かもしれません。
ログオン関係のログの確認方法
あくまで個人的なログの確認方法です。
私個人のログの確認方法としては、以下の通りになります。
ログイン成功
①ログオンアカウント名でグルーピング化し、そのPCに登録されていないアカウント、無効化しているアカウントでのログオンがないことを確認する。
②①で該当のアカウントがある場合、ログオンタイプからログオンされた経路を確認する。ログオンタイプ3であった場合は、接続元のIPアドレスを特定する。
③サブジェクトからログオンに使用されたアカウントを確認する。
④無害なログオンであると確認できなかった場合は、不正なログオンとしてログ以外にも調査を拡大する。
⑤①で該当のアカウントがなかった場合、通常と比べて数が多すぎるログがないか確認する。
⑥⑤で該当があった場合、時刻情報からログオンの頻度を確認し、正常かどうかを判断する。
⑦⑥の調査の結果、正常でないと判断した場合は②~④の調査を実施する。
ログイン失敗
①ログオンアカウント名でグルーピング化し、そのPCに登録されていないアカウント、無効化しているアカウントでのログオンがないことを確認する。
②①で該当のアカウントがある場合、ログオンタイプからログオンされた経路を確認する。ログオンタイプ3であった場合は、接続元のIPアドレスを特定する。
③ログオン成功のログを確認し、該当のアカウントでログオンが成功しているかどうかを確認する。
④③の調査の結果、ログオンが成功していることが確認できた場合は、不正なログオンとしてログ以外にも調査を拡大する。
⑤①で該当のアカウントがなかった場合、通常と比べて数が多すぎるログがないか確認する。
⑥⑤で該当があった場合、時刻情報からログオンの頻度を確認する。短時間で複数回のログイン失敗(特に、人の手では実行しえないほどの短時間のログ)が確認できた場合、ブルートフォース攻撃を受けていると判断する。
⑦⑥の調査の結果、ブルートフォース攻撃と判断した場合は②~④の調査を実施する。