Windows Server 2012のドメインコントローラーを運用されている方の中には、「lsass.log」ファイルが突然数十GBにまで膨れ上がり、システムに深刻な影響を与えてしまうという問題を経験された方もいるかもしれません。再起動すれば一度はファイルサイズがリセットされるものの、しばらくするとまた肥大化してしまうため、原因や具体的な対処法を模索する方も多いでしょう。本記事では、この問題のメカニズムと解決策、さらに運用上で注意すべき点をわかりやすく解説します。
Windows Server 2012上での「lsass.log」肥大化の概要
Windows Server 2012をドメインコントローラーとして運用していると、C:\Windows\System32\フォルダー配下にある「lsass.log」というログファイルが短期間で非常に大きくなるケースが報告されています。数十GBにもおよぶ肥大化が起こると、ディスク容量に大きな負担がかかり、最悪の場合はシステム停止の原因ともなりかねません。
この現象は特定のレジストリ設定が原因とされ、初期設定または意図せぬ変更によってLSASS(ローカル セキュリティ機関サブシステム)のデバッグログが大量に出力され続けることが判明しています。ファイルを削除しても再起動後にまた生成されるため、一度根本的な設定を見直す必要があります。
lsass.logとは何か
LSASS(ローカル セキュリティ機関サブシステム)は、Windows OSの中核的なセキュリティ関連機能を担うプロセスです。ユーザー認証やドメインコントローラー機能をはじめ、パスワードの変更やトークンの生成など多くの機能を担当します。
このLSASSがエラーやデバッグ情報を記録する際に作られるのが「lsass.log」ファイルです。通常は必要最低限の情報しか書き込まれず、問題がなければ大きく肥大化することはありません。しかし特定のレジストリ値が有効になっている場合、想定以上の細かい情報が出力され続け、結果としてファイルのサイズが爆発的に拡大するのです。
なぜ急速に大きくなるのか
ログが肥大化する原因は、ほぼリアルタイムに近い頻度でLSASSが細かいデバッグ情報を出力しているためです。ドメインコントローラーではユーザー認証やグループポリシーの適用など、通常のサーバーに比べて格段に多くの認証要求が発生します。結果として、ほんの数時間~数日で数GB以上に達してしまうことがあるのです。
再起動を行うとログがリセットされ一時的にファイルサイズが0KBに戻るものの、レジストリ設定が変わっていなければログの書き出しが繰り返され、またすぐに肥大化してしまいます。
lsass.log肥大化対策:レジストリ設定の変更
この問題に対する最も代表的な対策は、LSASSのデバッグ出力を無効化するためのレジストリ変更です。以下の手順で設定を無効化し、ファイル増大を防ぐことができます。
レジストリエディタでの操作方法
レジストリエディタ(regedit.exe)を使うことで、LSASSログの動作を制御しているキーを変更します。サーバーでレジストリを編集する場合、万が一の事態に備えて必ず事前にバックアップを取得し、作業時間帯なども調整してから行うのが望ましいです。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LogToFile"=dword:00000000
"LspDbgTraceOptions"=dword:00000000
"LspDbgInfoLevel"=dword:00000000
上記のサンプルでは「LogToFile」の値を0にすることでデバッグログの出力を停止させています。もし「LogToFile」が1やそれ以上の値になっている場合は、それが原因でlsass.logに膨大な情報が書き込まれている可能性が高いです。また必要に応じて「LspDbgTraceOptions」や「LspDbgInfoLevel」も0に変更し、細かい出力を抑制します。
注意点
- レジストリの修正後、必ずサーバーを再起動して変更内容を反映させる
- 作業前にシステムのバックアップや復元ポイントの作成を行う
- 本番環境のドメインコントローラーで作業する場合は、影響が出にくい時間帯を選ぶ
これらを守ることで、想定外のシステム障害を回避しながら設定を変更できます。
既存ログファイルの削除と再起動
レジストリを適切に修正したら、既に肥大化してしまったlsass.logファイルを削除します。単純にファイルを上書きするだけでは問題が解決しないため、ファイルそのものを削除し、サーバーを再起動してください。再起動時に設定が反映され、今後lsass.logが肥大化しなくなるはずです。
肥大化したログファイルの削除方法
実運用環境でlsass.logがロックされている場合、ファイルを直接削除しようとしてもエラーが表示されることがあります。以下の手順を参考に安全にファイルを削除しましょう。
- レジストリ設定を変更し、再起動のスケジュールを立てる
- 再起動前にlsass.logのバックアップが必要ならコピーを取得する
- サーバーを再起動する
- 再起動後にlsass.logがサイズ0で作成される場合は、そのタイミングで削除可能か確認する
- もしくはセーフモードで起動して該当ファイルを削除する
再起動後の確認
- lsass.logファイルのサイズ:再起動後、0KBまたはほとんどサイズが増えていない状態であるか確認
- レジストリ値の再確認:誤って値が戻っていないか、Group Policyなどで上書きされていないかをチェック
- イベントビューアー:ローカルセキュリティ関連のエラーが出ていないかを確認
問題が解消していれば、レジストリ変更が正しく反映されており、今後lsass.logの肥大化は基本的に起こらないはずです。
追加の原因調査と対策
レジストリ設定を無効化することで多くの場合は解決しますが、そもそもなぜLSASSが大規模なログを出力しているのかを知っておくと、再発防止に役立ちます。場合によっては不正アクセスやウイルス感染などが原因で過剰なログが出力されるケースもあるため、しっかりと原因を究明することが重要です。
イベントビューワーやパフォーマンスモニターを活用
Windowsのイベントビューワー(サーバーマネージャーから「ツール」→「イベントビューアー」)や、パフォーマンスモニターを用いてLSASSの挙動を監視することができます。
- イベントビューアー:システムログやセキュリティログにエラーや警告が多発していないかを確認
- パフォーマンスモニター:LSASS.exeのCPU使用率やメモリ使用量などを常時監視し、異常な数値を検知したら調査する
これらツールを使って、定常運用時にLSASSのリソース利用状況がどの程度かを把握しておくと、いざ異常が発生したときに問題の切り分けが容易になります。
簡単なパフォーマンスモニターの例
カウンター | 意味 | 監視すべきポイント |
---|---|---|
Processor(_Total)\% Idle Time | CPUがどの程度アイドル状態かを示す | 急激に低下していないかをチェック |
Process(LSASS)\% Processor Time | LSASS.exeプロセスが使用しているCPU時間の割合 | 常に高負荷で回り続けていないか |
Memory\Available MBytes | システム全体で利用可能なメモリ容量 | 急激に減少する現象が見られないか |
System\Processor Queue Length | プロセッサが処理を待機しているスレッド数 | 長期にわたって高い値が続くとパフォーマンス問題の可能性 |
上記のようなカウンターを定期的にモニタリングすることで、サーバーの異常を早期に検出できます。
セキュリティアップデートとマルウェア対策
OSのバグやマルウェア感染などが原因で、LSASSが異常動作を起こす可能性も否定できません。特にWindows Server 2012はメインストリームサポートが既に終了しているため、最新の修正プログラムを適用できない場合があります。
- Windows Updateの適用:利用可能な更新プログラムを定期的に確認・適用してシステムの脆弱性を低減
- マルウェア対策ソフトの導入・定期スキャン:ウイルスやスパイウェアによる不審な動きを検知
- ファイアウォールやIDS/IPSのログ監視:ネットワーク経由の不正アクセスを早期に把握
こうした対策をしっかり実施しておくことで、OSやセキュリティ面からもlsass.log肥大化の根本原因にアプローチできます。
Windows Server 2012サポート終了と移行検討
Windows Server 2012は既にメインストリームサポートが終了し、延長サポートも限られた期間で終了を迎えます。今後はセキュリティ更新プログラムが提供されなくなる可能性が高いため、新しいOSへ移行することを検討すべきタイミングと言えるでしょう。
移行のメリット
- セキュリティ強化:最新バージョンのWindows Serverでは脆弱性対策が向上
- パフォーマンス向上:ハードウェアとOSの最適化による速度アップが期待できる
- 機能拡充:新しい管理ツールやハイパーバイザーの強化など、幅広い改善
移行にはテストやライセンスコストなどの課題もありますが、長期的に見るとメリットが大きく、安定運用を支える重要な検討事項となります。
実運用で役立つヒント
障害対策を兼ねた定期メンテナンス
ドメインコントローラーは企業システムの中心的存在であり、障害が発生すると多くのサービスが停止し業務に支障をきたします。定期的にメンテナンスウィンドウを設け、下記を実施しておくと良いでしょう。
- ディスク容量の確認:特にシステムドライブ(C:)の空き容量を常に50%以上確保するのが理想
- イベントログのバックアップとクリア:容量オーバーを防ぎつつ過去ログを保存しておく
- ウイルス定義ファイルの更新:最新の状態を維持して未知の脅威を防止
ドキュメント化とナレッジ共有
lsass.log問題に限らず、ドメインコントローラーで発生した障害の原因や対応手順を文書化しておくと、トラブルシューティングが格段にやりやすくなります。IT担当者が変わったとしても、手順書があればスムーズに引き継ぐことができます。
- 障害発生の日時と状況
- 実施した対処内容(レジストリキーの変更や再起動のタイミングなど)
- その結果(成功・失敗・後続の作業内容)
- 再発防止策
これらを一覧化しておけば、同じ問題が発生した際にすぐに対処できるだけでなく、原因分析や改善のヒントにもなります。
まとめ
Windows Server 2012のドメインコントローラーでlsass.logが異常に肥大化する問題は、LSASSのデバッグ設定(レジストリ)が主な原因であることが多く、該当キーを0に設定してログの出力を停止すれば解決が見込めます。ファイル削除と再起動によってサイズがリセットされ、その後は肥大化が起こりにくくなります。
ただし、システムのバグやマルウェア、不正アクセスなどによってLSASSが頻繁にログを吐き出している可能性もゼロではありません。問題解決後もイベントビューワーやパフォーマンスモニターでの監視、マルウェア対策、そして必要に応じたサーバーのアップグレード検討を進めることが重要です。
メインストリームサポートが終了しているWindows Server 2012をこのまま使い続けるリスクは無視できず、長期的には新しいサーバーOSへの移行を視野に入れると安心です。運用中の環境を安定稼働させながら移行準備を進め、万が一の障害時にも素早く復旧できる体制を整えておきましょう。
コメント