知識マップ: Windowsセキュリティ監査ポリシーとイベントログ調査の実務 ── 4625を読める情シスになる
記事「Windowsセキュリティ監査ポリシーとイベントログ調査の実務 ── 4625を読める情シスになる」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
Windowsの監査ポリシーは基本と詳細の2系統があり、互換ではないため併用すると監査結果が予期しない状態になります。詳細側に統一し、サブカテゴリ設定を強制するオプションで基本側の上書きを止めたうえで、いま効いている設定をauditpolで確認するのが出発点です。ただし全部有効は悪手で、大量のイベントを生むサブカテゴリはほかのエントリを埋もれさせ、有限なログの器では必要な証跡の保持日数まで削ります。読み方には急所があり、4624はログオンタイプ、4625はStatus/Sub Statusコード、4740は呼び出し元コンピューター名、4688は親プロセスとコマンドラインです。記録されるマシンも決まっていて、4624/4625はアクセスされた側、NTLMの4776は資格情報に権威を持つマシン、Kerberosの4771はドメインコントローラーにしか残りません。4688のコマンドライン記録は調査価値が高い一方で、引数に載せた機密がログ閲覧者全員に見える状態を作ります。
flowchart LR
accTitle: Windowsセキュリティ監査ポリシーとイベントログ調査の知識マップ
accDescr: 基本と詳細の監査ポリシーの関係、録りすぎがログの器を食い潰す構図、4624/4625/4740/4688/4698といった定番イベントの読みどころと記録先のマシンの違い、突合調査が時刻同期を前提とすることを示す図
advanced_audit_policy["詳細な監査ポリシー"]
security_event_log["Securityイベントログ"]
basic_audit_policy["基本の監査ポリシー"]
group_policy["グループポリシー"]
audit_subcategory_override["「監査ポリシーサブカテゴリの設定を強制する」"]
auditpol["auditpol"]
audit_trail_tampering_events["監査証跡の改変を示すイベント(1102/4719)"]
audit_noise["監査イベントのノイズ"]
event_log_overwrite["古いイベントの上書き消失"]
event_log_retention_mode["イベントログの保持モード"]
wevtutil["wevtutil"]
get_winevent["Get-WinEvent"]
crash_on_audit_fail["監査を記録できない場合の即時シャットダウン"]
denial_of_service["サービス妨害(DoS)"]
security_event_4624["イベント4624(ログオン成功)"]
logon_type["ログオンタイプ"]
security_event_4625["イベント4625(ログオン失敗)"]
logon_failure_status_code["ログオン失敗のStatus/Sub Statusコード"]
account_enumeration_attack["アカウント列挙攻撃"]
account_lockout["アカウントロック"]
security_event_4740["イベント4740(アカウントロックアウト)"]
cross_machine_log_correlation["複数マシンのログの突合"]
clock_synchronization["時計の同期"]
security_event_4776["イベント4776(資格情報の検証)"]
domain_controller["ドメインコントローラー"]
ntlm["NTLM"]
security_event_4771["イベント4771(Kerberos事前認証失敗)"]
kerberos["Kerberos"]
security_event_4688["イベント4688(プロセス作成)"]
process_command_line_auditing["「プロセス作成イベントにコマンドラインを含める」"]
credential_in_command_line["コマンドライン引数への機密の混入"]
attack_persistence["攻撃の持続化"]
task_scheduler["タスクスケジューラの無人実行"]
scheduled_task_creation["スケジュールタスクの作成"]
security_event_4698["イベント4698(スケジュールされたタスクの作成)"]
privileged_group_membership_change["特権グループへのメンバー追加"]
security_group_membership_events["セキュリティグループのメンバー変更イベント"]
basic_audit_policy -->|"両立しない"| advanced_audit_policy
advanced_audit_policy -->|"で構成できる"| group_policy
advanced_audit_policy -->|"前提とする"| audit_subcategory_override
audit_subcategory_override -->|"防止する"| basic_audit_policy
advanced_audit_policy -->|"で確認できる"| auditpol
advanced_audit_policy -->|"で構成できる"| auditpol
advanced_audit_policy -->|"で確認できる"| audit_trail_tampering_events
advanced_audit_policy -.->|"原因になり得る"| audit_noise
audit_noise -.->|"原因になり得る"| event_log_overwrite
security_event_log -->|"で構成できる"| event_log_retention_mode
event_log_retention_mode -.->|"原因になり得る"| event_log_overwrite
security_event_log -->|"で構成できる"| wevtutil
security_event_log -->|"で確認できる"| get_winevent
security_event_log -->|"で確認できる"| audit_trail_tampering_events
crash_on_audit_fail -.->|"原因になり得る"| denial_of_service
security_event_4624 -->|"に保存される"| security_event_log
security_event_4624 -->|"利用する"| logon_type
security_event_4625 -->|"に保存される"| security_event_log
security_event_4625 -->|"利用する"| logon_failure_status_code
account_enumeration_attack -->|"原因になり得る"| logon_failure_status_code
account_lockout -->|"で確認できる"| security_event_4740
account_lockout -.->|"で確認できる"| cross_machine_log_correlation
cross_machine_log_correlation -->|"前提とする"| clock_synchronization
security_event_4776 -.->|"に保存される"| domain_controller
security_event_4776 -->|"利用する"| ntlm
security_event_4771 -->|"に保存される"| domain_controller
security_event_4771 -->|"利用する"| kerberos
security_event_4688 -->|"で構成できる"| process_command_line_auditing
process_command_line_auditing -->|"前提とする"| advanced_audit_policy
credential_in_command_line -->|"両立しない"| process_command_line_auditing
attack_persistence -->|"利用する"| task_scheduler
scheduled_task_creation -->|"で確認できる"| security_event_4698
privileged_group_membership_change -->|"で確認できる"| security_group_membership_events
security_group_membership_events -->|"前提とする"| advanced_audit_policy
概念間の関係(全34件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- 基本の監査ポリシーは詳細な監査ポリシーと両立しません。
- 詳細な監査ポリシーはグループポリシーで構成できます。
- 詳細な監査ポリシーは「監査ポリシーサブカテゴリの設定を強制する」を前提とします。
- 「監査ポリシーサブカテゴリの設定を強制する」は基本の監査ポリシーを防ぎます。
- 詳細な監査ポリシーはauditpolで確認できます。
- 詳細な監査ポリシーはauditpolで構成できます。
- 詳細な監査ポリシーは監査証跡の改変を示すイベント(1102/4719)で確認できます。
- 詳細な監査ポリシーは監査イベントのノイズの原因になることがあります。
- 監査イベントのノイズは古いイベントの上書き消失の原因になることがあります。
- Securityイベントログはイベントログの保持モードで構成できます。
- イベントログの保持モードは古いイベントの上書き消失の原因になることがあります。
- Securityイベントログはwevtutilで構成できます。
- SecurityイベントログはGet-WinEventで確認できます。
- Securityイベントログは監査証跡の改変を示すイベント(1102/4719)で確認できます。
- 監査を記録できない場合の即時シャットダウンはサービス妨害(DoS)の原因になることがあります。
- イベント4624(ログオン成功)はSecurityイベントログに保存されます。
- イベント4624(ログオン成功)はログオンタイプを利用します。
- イベント4625(ログオン失敗)はSecurityイベントログに保存されます。
- イベント4625(ログオン失敗)はログオン失敗のStatus/Sub Statusコードを利用します。
- アカウント列挙攻撃はログオン失敗のStatus/Sub Statusコードの原因になることがあります。
- アカウントロックはイベント4740(アカウントロックアウト)で確認できます。
- アカウントロックは複数マシンのログの突合で確認できます。
- 複数マシンのログの突合は時計の同期を前提とします。
- イベント4776(資格情報の検証)はドメインコントローラーに保存されます。
- イベント4776(資格情報の検証)はNTLMを利用します。
- イベント4771(Kerberos事前認証失敗)はドメインコントローラーに保存されます。
- イベント4771(Kerberos事前認証失敗)はKerberosを利用します。
- イベント4688(プロセス作成)は「プロセス作成イベントにコマンドラインを含める」で構成できます。
- 「プロセス作成イベントにコマンドラインを含める」は詳細な監査ポリシーを前提とします。
- コマンドライン引数への機密の混入は「プロセス作成イベントにコマンドラインを含める」と両立しません。
- 攻撃の持続化はタスクスケジューラの無人実行を利用します。
- スケジュールタスクの作成はイベント4698(スケジュールされたタスクの作成)で確認できます。
- 特権グループへのメンバー追加はセキュリティグループのメンバー変更イベントで確認できます。
- セキュリティグループのメンバー変更イベントは詳細な監査ポリシーを前提とします。
主要概念の定義
機械可読データ
このデータセットについて
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。