セキュリティ ログがいっぱいになりました (イベント ID 1104)

セキュリティ ログがいっぱいになりました (イベント ID 1104)

イベント ビューアーでは、ログに記録されるエラーは一般的であり、さまざまなイベント ID を持つさまざまなエラーに遭遇します。通常、セキュリティ ログに記録されるイベントは、Audit Success または Audit Failure のいずれかのキーワードになります。この投稿では、セキュリティ ログがいっぱいになりました (イベント ID 1104)について説明します。これには、このイベントがトリガーされる理由と、この状況でクライアントまたはサーバー コンピューターで実行できるアクションが含まれます。

イベントの説明が示すように、このイベントは Windows セキュリティ ログがいっぱいになるたびに生成されます。たとえば、セキュリティ イベント ログ ファイルの最大サイズに達し、イベント ログの保持方法が、このMicrosoft ドキュメントで説明されているように、イベントを上書きしない (ログを手動でクリアする) である場合。セキュリティ イベント ログ設定のオプションは次のとおりです。

  • 必要に応じてイベントを上書きする (最も古いイベントが最初) – これは既定の設定です。ログの最大サイズに達すると、古いアイテムが削除され、新しいアイテムに道が開かれます。
  • いっぱいになったらログをアーカイブし、イベントを上書きしない– このオプションを選択すると、ログの最大サイズに達すると、Windows は自動的にログを保存し、新しいログを作成します。ログは、セキュリティ ログが保存されている場所にアーカイブされます。デフォルトでは、これは %SystemRoot%\SYSTEM32\WINEVT\LOGS の場所にあります。ログイン イベント ビューアのプロパティを表示して、正確な場所を特定できます。
  • イベントを上書きしない (ログを手動でクリアする) – このオプションを選択し、イベント ログが最大サイズに達した場合、ログが手動でクリアされるまで、それ以上のイベントは書き込まれません。

セキュリティ イベント ログの設定を確認または変更するには、まず最大ログ サイズ (KB) を変更する必要があります。最大ログ ファイル サイズは 20 MB (20480 KB) です。それを超えて、上記の概要に従って保持ポリシーを決定します。

セキュリティ ログがいっぱいになりました (イベント ID 1104)

セキュリティ ログ イベント ファイル サイズの上限に達し、それ以上イベントをログに記録する余地がない場合、イベント ID 1104: セキュリティ ログがいっぱいになり、ログ ファイルがいっぱいであることを示すログが記録されます。次の即時アクションのいずれかを実行します。

  1. イベント ビューアでログの上書きを有効にする
  2. Windows セキュリティ イベント ログをアーカイブする
  3. セキュリティ ログを手動でクリアする

これらの推奨されるアクションを詳しく見てみましょう。

1]イベントビューアでログの上書きを有効にする

イベント ビューアでログの上書きを有効にする

デフォルトでは、セキュリティ ログは必要に応じてイベントを上書きするように構成されています。ログの上書きオプションをオンにすると、イベント ビューアが古いログを上書きできるようになり、メモリがいっぱいになるのを防ぐことができます。したがって、次の手順に従って、このオプションが有効になっていることを確認する必要があります。

  • Windows キー + Rを押して、[実行] ダイアログを呼び出します。
  • [ファイル名を指定して実行] ダイアログ ボックスで「eventvwr」と入力し、Enter キーを押してイベント ビューアーを開きます。
  • [Windows ログ]を展開します。
  • [セキュリティ]をクリックします。
  • 右ペインの[アクション]メニューで、[プロパティ]を選択します。または、左側のナビゲーション ペインで[セキュリティ ログ]を右クリックし、 [プロパティ]を選択します。
  • ここで、[イベント ログの最大サイズに達したとき]セクションで、[必要に応じてイベントを上書きする (最も古いイベントが最初)] オプションのラジオ ボタンを選択します。
  • [適用] > [OK]をクリックします。

2] Windows セキュリティ イベント ログをアーカイブする

セキュリティ意識の高い環境 (特に企業/組織) では、Windows セキュリティ イベント ログのアーカイブが必要または義務付けられている場合があります。これは、上記のイベント ビューアーで [ログがいっぱいになったらアーカイブし、イベントを上書きしない] オプションを選択するか、以下のコードを使用して PowerShell スクリプトを作成して実行することで実行できます。PowerShell スクリプトは、セキュリティ イベント ログのサイズをチェックし、必要に応じてアーカイブします。スクリプトによって実行される手順は次のとおりです。

  • セキュリティ イベント ログが 250 MB 未満の場合、情報イベントがアプリケーション イベント ログに書き込まれます。
  • ログが 250 MB を超える場合
    • ログは D:\Logs\OS にアーカイブされます。
    • アーカイブ操作が失敗した場合、エラー イベントがアプリケーション イベント ログに書き込まれ、電子メールが送信されます。
    • アーカイブ操作が成功すると、情報イベントがアプリケーション イベント ログに書き込まれ、電子メールが送信されます。

環境でスクリプトを使用する前に、次の変数を構成します。

  • $ArchiveSize – 目的のログ サイズ制限 (MB) に設定
  • $ArchiveFolder – ログ ファイルのアーカイブを保存する既存のパスに設定します
  • $mailMsgServer – 有効な SMTP サーバーに設定
  • $mailMsgFrom – 有効な FROM 電子メール アドレスに設定
  • $MailMsgTo – 有効な TO メールアドレスに設定

# Set the archive location
$ArchiveFolder = "D:\Logs\OS"

# How big can the security event log get in MB before we automatically archive?
$ArchiveSize = 250

# Verify the archive folder exists
If (!(Test-Path $ArchiveFolder)) {
Write-Host
Write-Host "Archive folder $ArchiveFolder does not exist, aborting. .."-ForegroundColor Red
Exit
}

# Configure environment
$sysName = $env:computername
$eventName = "Security Event Log Monitoring"
$mailMsgServer = "your.smtp.server.name"
$mailMsgSubject = "$sysName Security Event Log Monitoring"
$mailMsgFrom = "[email protected]"
$mailMsgTo = "[email protected]"

# Add event source to application log if necessary
If (-NOT ([System.Diagnostics.EventLog]::SourceExists($eventName))) {
New-EventLog -LogName Application -Source $eventName
}

# Check the security log
$Log = Get-WmiObject Win32_NTEventLogFile -Filter "logfilename = 'security'"
$SizeCurrentMB = [math]::Round($Log.FileSize / 1024 / 1024,2)
$SizeMaximumMB = [math]::Round($Log.MaxFileSize / 1024 / 1024,2)
Write-Host

# Archive the security log if over the limit
If ($SizeCurrentMB -gt $ArchiveSize) {
$ArchiveFile = $ArchiveFolder + "\Security-"+ (Get-Date -Format "[email protected]") + ".evt"
$EventMessage = "The security event log size is currently "+ $SizeCurrentMB + "MB. The maximum allowable size is "+ $SizeMaximumMB + "MB. The security event log size has exceeded the threshold of $ArchiveSize MB."
$Results = ($Log.BackupEventlog($ArchiveFile)).ReturnValue
If ($Results -eq 0) {
# Successful backup of security event log
$Results = ($Log.ClearEventlog()).ReturnValue
$EventMessage += "The security event log was successfully archived to $ArchiveFile and cleared."
Write-Host $EventMessage
Write-EventLog -LogName Application -Source $eventName -EventId 11 -EntryType Information -Message $eventMessage -Category 0
$mailMsgBody = $EventMessage
Send-MailMessage -From $mailMsgFrom -to $MailMsgTo -subject $mailMsgSubject -Body $mailMsgBody -SmtpServer $mailMsgServer
}
Else {
$EventMessage += "The security event log could not be archived to $ArchiveFile and was not cleared. Review and resolve security event log issues on $sysName ASAP!"
Write-Host $EventMessage
Write-EventLog -LogName Application -Source $eventName -EventId 11 -EntryType Error -Message $eventMessage -Category 0
$mailMsgBody = $EventMessage
Send-MailMessage -From $mailMsgFrom -to $MailMsgTo -subject $mailMsgSubject -Body $mailMsgBody -SmtpServer $mailMsgServer
}
}
Else {
# Write an informational event to the application event log
$EventMessage = "The security event log size is currently "+ $SizeCurrentMB + "MB. The maximum allowable size is "+ $SizeMaximumMB + "MB. The security event log size is below the threshold of $ArchiveSize MB so no action was taken."
Write-Host $EventMessage
Write-EventLog -LogName Application -Source $eventName -EventId 11 -EntryType Information -Message $eventMessage -Category 0
}
# Close the log
$Log.Dispose()

必要に応じて、XML ファイルを使用して、スクリプトを 1 時間ごとに実行するように設定できます。このためには、次のコードを XML ファイルに保存してから、タスク スケジューラにインポートします。<Arguments> セクションを、スクリプトを保存したフォルダー/ファイル名に必ず変更してください。

<?xml version="1.0"encoding="UTF-16"?>
<Task version="1.3"xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2017-01-18T16:41:30.9576112</Date>
<Description>Monitor security event log. Archive and clear log if threshold is met.</Description>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<Repetition>
<Interval>PT2H</Interval>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<StartBoundary>2017-01-18T00:00:00</StartBoundary>
<ExecutionTimeLimit>PT30M</ExecutionTimeLimit>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-18</UserId>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>
<Arguments>c:\scripts\PS\MonitorSecurityLog.ps1</Arguments>
</Exec>
</Actions>
</Task>

ログのアーカイブを有効化または構成すると、最も古いログが保存され、新しいログで上書きされることはありません。そのため、最大ログ サイズに達すると、Windows はログをアーカイブし、指定したディレクトリ (デフォルトでない場合) に保存します。アーカイブされたファイルは、Archive-<Section>-<Date/Time> 形式で名前が付けられます (例: Archive-Security-2023-02-14-18-05-34)。アーカイブされたファイルを使用して、古いイベントを追跡できるようになりました。

3]セキュリティログを手動でクリアする

セキュリティ ログを手動でクリアする

保持ポリシーを [イベントを上書きしない (ログを手動でクリアする)] に設定した場合は、次のいずれかの方法を使用して、セキュリティ ログを手動でクリアする必要があります。

  • イベントビューア
  • WEVTUTIL.exe ユーティリティ
  • バッチファイル

それでおしまい!

マルウェアが検出されるイベント ID は?

Windows セキュリティ イベント ログ ID 4688 は、システムでマルウェアが検出されたことを示しています。たとえば、Windows システムにマルウェアが存在する場合、イベント 4688 を検索すると、その悪意のあるプログラムによって実行されたプロセスが明らかになります。その情報を使用して、クイック スキャンを実行したり、Windows Defender スキャンをスケジュールしたり、Defender オフライン スキャンを実行したりできます。

ログオン イベントのセキュリティ ID は何ですか?

イベント ビューアーでは、ローカル コンピューターへのログオン試行が成功するたびに、イベント ID 4624が記録されます。このイベントは、アクセスされたコンピュータ、つまりログオン セッションが作成されたコンピュータで生成されます。イベントLogon type 11: CachedInteractive は、ユーザーがコンピューターにローカルに保存されたネットワーク資格情報を使用してコンピューターにログオンしたことを示します。資格情報を確認するために、ドメイン コントローラーにアクセスできませんでした。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です