-
Notifications
You must be signed in to change notification settings - Fork 0
MS_EventLog
-
TOP > トラブルシュート > ログ収集いろいろ
- パフォーマンス カウンタ
- イベント・ログ
- IISのログ
- イベント・ログについてのあれこれ。
- OSやミドルウェア、アプリケーションなど様々なプログラムから利用される。
- GUI:
eventvwr.msc(コントロール パネル → 管理ツール → イベント ビューアー) - PowerShell:
Get-WinEvent(新形式)、Get-EventLog(旧形式・非推奨) - CUI:
wevtutil
%SystemRoot%\System32\winevt\Logs
移行メモ(誤記): 原文の
%SystemDrive%\Windows\System\winevt\Logsは パスが誤り。正しくは%SystemRoot%\System32\winevt\Logs(SystemではなくSystem32)。拡張子は.evtx。
上手く纏まっている情報はなさそうです(製品ごとに確認)。
- OS のセキュリティ関連については、Microsoft の
「Windows セキュリティ監査イベントの一覧」が最もまとまっている。 - ミドルウェア毎に定義がある(例:日立 JP1 各製品のマニュアル)。
以下で出力可能。
eventcreate /T INFORMATION /id 100 /d "これはログ出力のテストです。"
- BAT(下の感じの bat で出力可能。検証用環境でない環境相手にはやらないように)
@setlocal
for /L %%i in (1,1,100) do (
net use \\[IPアドレス若しくはホスト名]\c$ /user:[ユーザID] [パスワード]
net use \\[IPアドレス若しくはホスト名]\c$ /d
)
@endlocal
※ ローカルポリシー等でログオンイベントの成功の監査が必要
(ローカル・ポリシー / グループ・ポリシー)。
- API:新しい OS(XP 以降)ではアプリケーションからセキュリティ ログへ
直接書き込むことはできない(SeAuditPrivilegeが必要で、実質 LSA 経由に限られる)。
- IIS(IISのログ)
-
Active Directory、LDAP
- Active Directory Diagnostic Logging(レジストリで診断レベルを上げる)
- SQL Server(Windows アプリケーション ログ)
- HTTPベースのNTLM認証(デスクトップにログインしない場合)でも、イベントが記録される。
- イベントID:「4624(ログオン成功)」「4625(ログオン失敗)」「4634(ログオフ)」
「4778(RDP再接続)」「4779(RDP切断)」などがある。
※ 4624 の ログオン タイプで経路を判別できる
(2=対話、3=ネットワーク、10=RemoteInteractive=RDP など)。
Windowsのイベントログに記録されるユーザ操作
- ログオン・ログオフ関連
- ログオン成功/失敗(4624, 4625)
- ログオフ(4634)
- セッションのロック/ロック解除(4800, 4801)
- 資格情報の使用(4648)
- ファイル・フォルダ操作
- ファイルのアクセス/変更/削除(監査ポリシーが有効な場合、4663)
- 共有フォルダへのアクセス(5140)
- システム設定・構成変更
- ユーザーアカウントの作成/削除/変更(4720, 4726, 4738 など)
- グループメンバーシップの変更(4732, 4733)
- ポリシー変更(監査、権限など)(4719)
- プログラム・プロセス関連
- プロセスの作成/終了(4688, 4689)
- ネットワーク・リモート操作
- リモートデスクトップ接続(4624 + 特定のログオンタイプ)
- ネットワーク接続の確立/切断(5156, 5158)
- その他の操作
- シャットダウン/再起動(6006, 6008, 1074)
- USBデバイスの接続/取り外し(2003 など、デバイスログに記録)
移行メモ: 原文は「ユーザーアカウントの…変更」に 4732 を挙げていたが、 4732 はセキュリティ有効ローカル グループへのメンバー追加。 アカウントの変更は 4738。グループ関連の行と重複していたため整理した。
※ これらの多くは既定では記録されない。
監査ポリシー(auditpol / グループ ポリシーの「高度な監査ポリシーの構成」)と、
オブジェクト側の SACL(ACL・ACE)の両方を設定して初めて記録される。
- 内部的には FailureAudit だけど、イベントビューアには Information で表示される、
みたいな話のようです。 -
Error=1, Warning=2, Information=4, SuccessAudit=8, FailureAudit=16となっているが、
Or は取れないので、Error=1, Warning=2, Information=4しか選択肢がない。 - イベントビューアでは、便宜上「情報」となっているが、
Information=4以上であることを指しているに過ぎないと思われる。
※ 新形式(Get-WinEvent)では Level(Critical/Error/Warning/Information/Verbose)と
Keywords(AuditSuccess / AuditFailure)が別のプロパティになっており、
監査の成否は Keywords で判定する。旧 API(Get-EventLog)の
EntryType に両者が混ざっていたことが、この混乱の原因。
イベントログのイベントIDに対応するメッセージは、
メッセージテーブルDLLなどを使用しているらしく、古い仕組みを踏襲していそう。
※ このため、そのソースを登録したアプリを削除すると、
既存のイベントの本文が「説明が見つかりません」になることがある。
カテゴリとは、分類を指すもよう。
イベントログビューアが該当ソースのカテゴリを見つけられない場合、既定のカテゴリを使用する。
0 : None
1 : Devices
2 : Disk
3 : Printers
4 : Services
5 : Shell
6 : System Event
7 : Network
また、ソースのカテゴリを拡張するにも、メッセージテーブルDLLを使用するもよう。
補足(最新化): 従来の「アプリケーション/システム/セキュリティ」の3本立ては Windows Vista 以降**「アプリケーションとサービス ログ」**が加わり、 コンポーネントごとに
Microsoft-Windows-<機能>/<チャネル>という 細かいチャネルに分かれている(ETW ベース)。 目的のログが3本のどれにも無い場合は、こちらを探す。
- イベント ビューアーの操作方法 - Microsoft Learn
- Windows セキュリティ監査イベントの一覧 - Microsoft Learn
- Get-WinEvent - Microsoft Learn
- イベントログにエントリを書き込む - .NET Tips
Tags: Windows
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。