「インシデントが起きてログを確認しようとしたら、もう上書きされていた」
普段ログについて意識できていないとこのように事態が発生します。
ログは「取っている」だけでは意味がありません。必要なときに必要な期間分が残っていて、はじめて証跡として機能します。Windowsのデフォルト設定のままでは、大規模環境では数日分のログしか残らないケースがあります。
この記事では、Windowsイベントログの保存期間とサイズの設定方法を、個別設定とGPOによる一括設定の両方で解説します。
デフォルト設定の何が問題なのか
Windowsのデフォルトログサイズと保存期間
Windowsイベントログのデフォルト設定は以下の通りです。
| ログの種類 | デフォルトの最大サイズ |
|---|---|
| セキュリティログ | 20MB |
| システムログ | 20MB |
| アプリケーションログ | 20MB |
| PowerShell Operationalログ | 15MB |
セキュリティログ1件あたりのサイズは平均約1〜2KBです。20MBでは最大でも約1〜2万件しか保持できません。認証イベントが多い環境では1日分も残らないことがあります。
上書きが起きるタイミング
Windowsのイベントログには「最大サイズに達したときの動作」を設定する項目があります。
| 設定値 | 動作 |
|---|---|
| 必要に応じてイベントを上書きする(推奨) | 古いイベントから順に上書き。ログが途切れない |
| ログがいっぱいになったらアーカイブする | 自動でファイル保存。ディスク容量に注意 |
| イベントを上書きしない | 最大サイズに達するとログ記録が止まる。危険 |
デフォルトは「必要に応じてイベントを上書きする」です。最大サイズが小さいまま運用すると、古いログから順に消えていきます。インシデント調査では数週間〜数ヶ月前の記録が必要になることが多く、デフォルトサイズのままでは対応できません。
Windowsイベントログで調査に使う重要なイベントIDについては「Windowsイベントログ重要ID一覧」を参照してください。
ログの保存期間を正しく設定する

イベントビューアーから個別に設定する
1台のサーバーや端末に設定する場合は、イベントビューアーから直接変更できます。
手順:
eventvwr.mscを開く- 対象のログ(例:Windowsログ→セキュリティ)を右クリック
- 「プロパティ」を選択
- 「最大ログサイズ(KB)」を変更する
- 「最大サイズに達したとき」の動作を確認する
PowerShellでも設定できます。
# セキュリティログの最大サイズを512MBに設定
wevtutil sl Security /ms:536870912
# 設定確認
wevtutil gl Security
GPOで全端末に一括設定する
GPO(Group Policy Object)
Active Directoryでドメイン内の端末・ユーザーに設定を一括適用する仕組み。ログサイズの設定をGPOで管理することで、全サーバー・全端末に漏れなく適用できる。
個別設定は管理が煩雑になります。AD環境ではGPOで一括管理するのが現場での推奨手順です。
GPOの設定場所:
コンピューターの構成
└ Windowsの設定
└ セキュリティの設定
└ イベントログ
├ セキュリティログの最大サイズ
├ システムログの最大サイズ
└ アプリケーションログの最大サイズ
PowerShellの詳細ログ(Operational)はこのパスでは設定できません。以下のGPOパスからレジストリとして設定する必要があります。
コンピューターの構成
└ [基本設定]
└ [Windows の設定]
└ [レジストリ]
| 設定項目 | 入力・選択する内容 |
|---|---|
| アクション | 更新 または 作成 |
| ハイブ | HKEY_LOCAL_MACHINE |
| キーのパス | SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-PowerShell/Operational |
| 値の名前 | MaxSize |
| 値の種類 | REG_DWORD |
| 値のデータ | 変更したいサイズを「バイト(Bytes)」単位で入力 |
GPO設計の基本については「GPO設計入門」で詳しく解説しています。
推奨サイズと保存期間の目安
環境の規模によって適切なサイズは異なりますが、以下を参考にしてください。
| ログの種類 | 最低限の推奨サイズ | 大規模環境向け |
|---|---|---|
| セキュリティログ | 512MB(524,288KB) | 1〜4GB |
| システムログ | 256MB(262,144KB) | 512MB |
| アプリケーションログ | 256MB(262,144KB) | 512MB |
| PowerShell Operational | 256MB(262,144KB) | 512MB |
保存期間の目安として、セキュリティログ512MBで、中規模環境(ユーザー数100〜300名)では概ね30〜90日分のログを保持できます。インシデント対応のベストプラクティスでは最低90日分の保持が推奨されています。
長期保存が必要な場合の対応策
ログをファイルとしてアーカイブする
「ログがいっぱいになったらアーカイブする」設定にすることで、最大サイズに達した時点でevtxファイルとして自動保存されます。保存先はデフォルトで%SystemRoot%\System32\winevt\Logs\Archive\です。
# アーカイブ設定への変更(セキュリティログ)
wevtutil sl Security /ab:true
# アーカイブ先フォルダの確認
wevtutil gl Security
ただし、アーカイブファイルが蓄積するとディスク容量を圧迫します。定期的なファイルの移動・削除の運用フローが必要です。
Windowsイベント転送(WEF)で集中管理する
WEF(Windows Event Forwarding)
複数の端末・サーバーのイベントログを、中央の収集サーバー(Windowsイベントコレクター)に自動転送する仕組み。エージェント不要でWindowsに標準搭載されている。

WEFを使うと、各端末のログを中央サーバーに集約できます。端末が壊れてもログが残り、一元的な分析が可能になります。設定はGPOで行い、エージェントのインストールは不要です。
WEFの基本設定手順(概要):
# 収集サーバー側:Windows Remote Managementの有効化
winrm quickconfig
# 収集サーバー側:イベントコレクターサービスの開始
wecutil qc
# 転送元端末側:GPOでWinRMを有効化し収集サーバーを指定
# (コンピューターの構成→Windowsの設定→セキュリティの設定→システムサービス→Windows Remote Management)
WEFはSIEM(セキュリティ情報イベント管理)への橋渡しにもなります。将来的にMicrosoft SentinelなどのSIEMを導入する場合も、WEFで集約した構成がそのまま活用できます。同様のログ集約手法については「ADのログをsyslogに転送する方法とは」も参照してください。
よくある失敗パターン
現場でログが消えて調査できなかったケースは、だいたい次の4つのどれかです。
最も多いのが、インシデント発覚時にログが3日分しかなかったケースです。デフォルトの20MBのまま運用していたため、インシデントが発覚した時点で攻撃が始まったと思われる時期のログがすでに上書きされていました。「ログを取っていた」のに調査ができない最悪のケースです。今すぐサイズを確認してください。
次に多いのが、DCのログだけ設定してメンバーサーバーを忘れたケースです。ドメインコントローラーのログ設定は見直したが、メンバーサーバーや端末のログサイズはデフォルトのままというケースです。横移動攻撃の調査ではメンバーサーバーのログが決定的な証拠になることが多く、DCだけ設定しても不十分です。GPOで全サーバー・全端末に一括適用してください。
「イベントを上書きしない」設定にしていたケースもあります。「ログを消したくない」という意図でこの設定にしていると、最大サイズに達した時点でログの記録自体が止まります。その後に発生した攻撃のログが一切残らない状態になります。必ず「必要に応じてイベントを上書きする」またはアーカイブ設定を使用してください。
最後に、ログサイズを増やしたがディスク容量を確認していなかったケースです。ログサイズを大幅に増やした後、ディスクの空き容量が不足してサーバーが不安定になることがあります。特にCドライブにログが保存されている場合は注意が必要です。ログサイズを変更する前に、ドライブの空き容量とログの保存先を必ず確認してください。
実務チェックリスト
現状確認
- [ ] セキュリティログの最大サイズを確認したか(
wevtutil gl Security) - [ ] システムログ・アプリケーションログのサイズも確認したか
- [ ] 「最大サイズに達したときの動作」が適切に設定されているか
- [ ] 直近のログがどこまで遡れるか確認したか
設定変更
- [ ] ログサイズをGPOで一括設定したか
- [ ] DCだけでなくメンバーサーバー・端末にも適用したか
- [ ] PowerShell Operationalログのサイズも設定したか
- [ ] ログ保存先のディスク容量に余裕があるか確認したか
長期保存・集中管理
- [ ] 90日分以上のログを保持できる設定になっているか
- [ ] WEFによるログ集約を検討・導入したか
- [ ] アーカイブファイルの定期整理の運用フローがあるか
ログの証拠保全の手順については「証跡保全の基本」で、インシデント対応全体のフローは「セキュリティインシデント対応入門」でそれぞれ解説しています。
ログは消えてから戻せない
wevtutil gl Securityを実行して、セキュリティログの最大サイズを確認してください。
maxSizeが20971520(20MB)のままであれば、今すぐ変更が必要です。
まずセキュリティログを512MB以上に設定し、GPOで全サーバーに展開することを計画してください。ログは消えてからでは取り戻せません。
ADイベントログの監査ポリシー設定と合わせて整備することで、ログの「記録する・残す・調査する」の3点が揃います。詳しくは「ADイベントログ監査」を参照してください。
あわせてご覧ください


コメント