Das Sicherheitsprotokoll ist jetzt voll (Ereignis-ID 1104)
In der Ereignisanzeige sind die protokollierten Fehler häufig, und Sie werden auf verschiedene Fehler mit unterschiedlichen Ereignis-IDs stoßen. Die Ereignisse, die in den Sicherheitsprotokollen aufgezeichnet werden, weisen normalerweise entweder das Schlüsselwort Audit Success oder Audit Failure auf. In diesem Beitrag besprechen wir das Sicherheitsprotokoll ist jetzt voll (Ereignis-ID 1104), einschließlich warum dieses Ereignis ausgelöst wird, und die Aktionen, die Sie in dieser Situation auf einem Client- oder Servercomputer ausführen können.
Wie aus der Ereignisbeschreibung hervorgeht, wird dieses Ereignis jedes Mal generiert, wenn das Windows-Sicherheitsprotokoll voll wird. Wenn beispielsweise die maximale Größe der Sicherheitsereignisprotokolldatei erreicht wurde und die Aufbewahrungsmethode für das Ereignisprotokoll „Ereignisse nicht überschreiben (Protokolle manuell löschen)“ lautet, wie in dieser Microsoft-Dokumentation beschrieben . Im Folgenden sind die Optionen in den Sicherheitsereignisprotokolleinstellungen aufgeführt:
- Ereignisse nach Bedarf überschreiben (älteste Ereignisse zuerst) – Dies ist die Standardeinstellung. Sobald die maximale Protokollgröße erreicht ist, werden ältere Elemente gelöscht, um Platz für neue Elemente zu schaffen.
- Protokoll archivieren, wenn voll, Ereignisse nicht überschreiben – Wenn Sie diese Option auswählen, speichert Windows das Protokoll automatisch, wenn die maximale Protokollgröße erreicht ist, und erstellt ein neues. Das Protokoll wird dort archiviert, wo das Sicherheitsprotokoll gespeichert wird. Standardmäßig befindet sich dies an folgendem Speicherort: %SystemRoot%\SYSTEM32\WINEVT\LOGS. Sie können die Eigenschaften der Ereignisanzeige für die Anmeldung anzeigen, um den genauen Speicherort zu ermitteln.
- Ereignisse nicht überschreiben (Protokolle manuell löschen) – Wenn Sie diese Option auswählen und das Ereignisprotokoll die maximale Größe erreicht, werden keine weiteren Ereignisse geschrieben, bis das Protokoll manuell gelöscht wird.
Um Ihre Einstellungen für das Sicherheitsereignisprotokoll zu überprüfen oder zu ändern, sollten Sie zunächst die maximale Protokollgröße (KB) ändern – die maximale Protokolldateigröße beträgt 20 MB (20480 KB). Legen Sie darüber hinaus Ihre Aufbewahrungsrichtlinie fest, wie oben beschrieben.
Das Sicherheitsprotokoll ist jetzt voll (Ereignis-ID 1104)
Wenn die Obergrenze der Größe der Sicherheitsprotokollereignisdatei erreicht ist und kein Platz mehr zum Protokollieren weiterer Ereignisse vorhanden ist, wird die Ereignis-ID 1104: Das Sicherheitsprotokoll ist jetzt voll protokolliert, was darauf hinweist, dass die Protokolldatei voll ist und Sie dies tun müssen Führen Sie eine der folgenden Sofortmaßnahmen durch.
- Aktivieren Sie das Überschreiben von Protokollen in der Ereignisanzeige
- Archivieren Sie das Windows-Sicherheitsereignisprotokoll
- Löschen Sie das Sicherheitsprotokoll manuell
Sehen wir uns diese empfohlenen Maßnahmen im Detail an.
1] Aktivieren Sie das Überschreiben des Protokolls in der Ereignisanzeige
Standardmäßig ist das Sicherheitsprotokoll so konfiguriert, dass Ereignisse nach Bedarf überschrieben werden. Wenn Sie die Option zum Überschreiben von Protokollen aktivieren, ermöglicht dies der Ereignisanzeige, die alten Protokolle zu überschreiben, was wiederum verhindert, dass der Speicher voll wird. Sie müssen also sicherstellen, dass diese Option aktiviert ist, indem Sie die folgenden Schritte ausführen:
- Drücken Sie die Windows-Taste + R , um das Dialogfeld „Ausführen“ aufzurufen.
- Geben Sie im Dialogfeld Ausführen eventvwr ein und drücken Sie die Eingabetaste, um die Ereignisanzeige zu öffnen.
- Erweitern Sie Windows-Protokolle .
- Klicken Sie auf Sicherheit .
- Wählen Sie im rechten Bereich im Menü Aktionen die Option Eigenschaften aus . Alternativ können Sie im linken Navigationsbereich mit der rechten Maustaste auf das Sicherheitsprotokoll klicken und Eigenschaften auswählen .
- Wählen Sie nun im Abschnitt Wenn die maximale Größe des Ereignisprotokolls erreicht ist das Optionsfeld für die Option Ereignisse nach Bedarf überschreiben (älteste Ereignisse zuerst) aus.
- Klicken Sie auf Anwenden > OK .
2] Archivieren Sie das Windows-Sicherheitsereignisprotokoll
In einer sicherheitsbewussten Umgebung (insbesondere in einem Unternehmen/einer Organisation) kann es erforderlich oder vorgeschrieben sein, das Windows-Sicherheitsereignisprotokoll zu archivieren. Dies kann wie oben gezeigt über die Ereignisanzeige erfolgen, indem Sie die Option Protokoll archivieren, wenn voll, Ereignisse nicht überschreiben auswählen oder ein PowerShell-Skript mit dem folgenden Code erstellen und ausführen. Das PowerShell-Skript überprüft die Größe des Sicherheitsereignisprotokolls und archiviert es bei Bedarf. Die vom Skript ausgeführten Schritte sind wie folgt:
- Wenn das Sicherheitsereignisprotokoll weniger als 250 MB groß ist, wird ein Informationsereignis in das Anwendungsereignisprotokoll geschrieben
- Wenn das Protokoll über 250 MB groß ist
- Das Protokoll wird unter D:\Logs\OS archiviert.
- Wenn der Archivierungsvorgang fehlschlägt, wird ein Fehlerereignis in das Anwendungsereignisprotokoll geschrieben und eine E-Mail gesendet.
- Wenn der Archivierungsvorgang erfolgreich ist, wird ein Informationsereignis in das Anwendungsereignisprotokoll geschrieben und eine E-Mail gesendet.
Bevor Sie das Skript in Ihrer Umgebung verwenden, konfigurieren Sie die folgenden Variablen:
- $ArchiveSize – Legen Sie die gewünschte Protokollgröße fest (MB)
- $ArchiveFolder – Legen Sie einen vorhandenen Pfad fest, in den die Protokolldateiarchive verschoben werden sollen
- $mailMsgServer – Auf einen gültigen SMTP-Server setzen
- $mailMsgFrom – Auf eine gültige FROM-E-Mail-Adresse setzen
- $MailMsgTo – Auf eine gültige TO-E-Mail-Adresse setzen
# 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()
Wenn Sie möchten, können Sie eine XML-Datei verwenden, um das Skript so einzustellen, dass es jede Stunde ausgeführt wird. Speichern Sie dazu den folgenden Code in einer XML-Datei und importieren Sie ihn dann in den Taskplaner. Stellen Sie sicher, dass Sie den Abschnitt <Arguments> in den Ordner-/Dateinamen ändern, in dem Sie das Skript gespeichert haben.
<?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>
Sobald Sie die Archivierung der Protokolle aktiviert oder konfiguriert haben, werden die ältesten Protokolle gespeichert und nicht mit neueren Protokollen überschrieben. Von nun an archiviert Windows das Protokoll, wenn die maximale Protokollgröße erreicht ist, und speichert es in dem von Ihnen angegebenen Verzeichnis (falls nicht dem Standardverzeichnis). Die archivierte Datei wird im Archiv-<Abschnitt>-<Datum/Uhrzeit>-Format benannt, z. B. Archiv-Sicherheit-2023-02-14-18-05-34. Die archivierte Datei kann nun verwendet werden, um ältere Ereignisse aufzuspüren.
3] Löschen Sie das Sicherheitsprotokoll manuell
Wenn Sie die Aufbewahrungsrichtlinie auf Ereignisse nicht überschreiben (Protokolle manuell löschen) eingestellt haben, müssen Sie das Sicherheitsprotokoll mit einer der folgenden Methoden manuell löschen.
- Ereignisanzeige
- WEVTUTIL.exe-Dienstprogramm
- Batch-Datei
Das ist es!
Unter welcher Ereignis-ID wurde Malware erkannt?
Die Windows-Sicherheitsereignisprotokoll-ID 4688 zeigt an, dass Malware auf dem System erkannt wurde. Wenn auf Ihrem Windows-System beispielsweise Malware vorhanden ist, werden durch die Suche nach Ereignis 4688 alle Prozesse angezeigt, die von diesem böswilligen Programm ausgeführt werden. Mit diesen Informationen können Sie einen schnellen Scan durchführen, einen Windows Defender-Scan planen oder einen Defender Offline-Scan ausführen.
Wie lautet die Sicherheits-ID für das Anmeldeereignis?
In der Ereignisanzeige wird die Ereignis-ID 4624 bei jedem erfolgreichen Anmeldeversuch bei einem lokalen Computer protokolliert. Dieses Ereignis wird auf dem Computer generiert, auf den zugegriffen wurde, dh auf dem die Anmeldesitzung erstellt wurde. Das Ereignis Anmeldetyp 11: CachedInteractive weist darauf hin, dass ein Benutzer an einem Computer mit Netzwerkanmeldeinformationen angemeldet ist, die lokal auf dem Computer gespeichert wurden. Der Domänencontroller wurde nicht kontaktiert, um die Anmeldeinformationen zu überprüfen.
Schreibe einen Kommentar