Dziennik zabezpieczeń jest teraz pełny (identyfikator zdarzenia 1104)

Dziennik zabezpieczeń jest teraz pełny (identyfikator zdarzenia 1104)

W Podglądzie zdarzeń rejestrowane błędy są powszechne i napotkasz różne błędy z różnymi identyfikatorami zdarzeń. Zdarzenia, które są rejestrowane w dziennikach bezpieczeństwa, zwykle będą zawierać słowo kluczowe Sukces audytu lub Błąd audytu. W tym poście omówimy dziennik bezpieczeństwa jest teraz pełny (identyfikator zdarzenia 1104), w tym przyczynę wyzwolenia tego zdarzenia i działania, które można wykonać w tej sytuacji na komputerze klienckim lub serwerze.

Jak wskazuje opis zdarzenia, zdarzenie to jest generowane za każdym razem, gdy zapełni się dziennik zabezpieczeń systemu Windows. Na przykład, jeśli osiągnięto maksymalny rozmiar pliku dziennika zdarzeń zabezpieczeń, a metodą przechowywania dziennika zdarzeń jest Nie zastępuj zdarzeń (ręczne czyszczenie dzienników), zgodnie z opisem w tej dokumentacji firmy Microsoft . Poniżej przedstawiono opcje w ustawieniach dziennika zdarzeń bezpieczeństwa:

  • Zastąp zdarzenia w razie potrzeby (najstarsze zdarzenia najpierw) — jest to ustawienie domyślne. Po osiągnięciu maksymalnego rozmiaru dziennika starsze elementy zostaną usunięte, aby zrobić miejsce dla nowych elementów.
  • Archiwizuj dziennik, gdy jest pełny, nie zastępuj zdarzeń — po wybraniu tej opcji system Windows automatycznie zapisze dziennik po osiągnięciu maksymalnego rozmiaru dziennika i utworzy nowy. Dziennik zostanie zarchiwizowany wszędzie tam, gdzie jest przechowywany dziennik bezpieczeństwa. Domyślnie będzie to w następującej lokalizacji %SystemRoot%\SYSTEM32\WINEVT\LOGS. Możesz wyświetlić właściwości Podglądu zdarzeń logowania, aby określić dokładną lokalizację.
  • Nie zastępuj zdarzeń (wyczyść dzienniki ręcznie) — jeśli wybierzesz tę opcję, a dziennik zdarzeń osiągnie maksymalny rozmiar, żadne dalsze zdarzenia nie będą zapisywane, dopóki dziennik nie zostanie wyczyszczony ręcznie.

Aby sprawdzić lub zmodyfikować ustawienia dziennika zdarzeń bezpieczeństwa, pierwszą rzeczą, którą możesz chcieć zmienić, jest Maksymalny rozmiar dziennika (KB) — maksymalny rozmiar pliku dziennika to 20 MB (20480 KB). Poza tym zdecyduj o zasadach przechowywania zgodnie z powyższym opisem.

Dziennik zabezpieczeń jest teraz pełny (identyfikator zdarzenia 1104)

Po osiągnięciu górnego limitu rozmiaru pliku dziennika zdarzeń zabezpieczeń i braku miejsca na rejestrowanie kolejnych zdarzeń zostanie zarejestrowane zdarzenie o identyfikatorze 1104: Dziennik zabezpieczeń jest teraz pełny, wskazujące, że plik dziennika jest pełny i należy wykonaj dowolne z następujących natychmiastowych działań.

  1. Włącz nadpisywanie logów w Podglądzie zdarzeń
  2. Zarchiwizuj dziennik zdarzeń zabezpieczeń systemu Windows
  3. Ręcznie wyczyść dziennik zabezpieczeń

Przyjrzyjmy się szczegółowo tym zalecanym działaniom.

1] Włącz nadpisywanie dziennika w Podglądzie zdarzeń

Włącz nadpisywanie logów w Podglądzie zdarzeń

Domyślnie dziennik zabezpieczeń jest skonfigurowany do zastępowania zdarzeń w razie potrzeby. Włączenie opcji nadpisywania dzienników umożliwi Podglądowi zdarzeń nadpisanie starych dzienników, co z kolei zapobiegnie zapełnieniu pamięci. Musisz więc upewnić się, że ta opcja jest włączona, wykonując następujące kroki:

  • Naciśnij klawisz Windows + R, aby wywołać okno dialogowe Uruchom.
  • W oknie dialogowym Uruchom wpisz eventvwr i naciśnij Enter, aby otworzyć Podgląd zdarzeń.
  • Rozwiń Dzienniki systemu Windows .
  • Kliknij Bezpieczeństwo .
  • W prawym okienku, w menu Akcje , wybierz Właściwości . Alternatywnie kliknij prawym przyciskiem myszy dziennik zabezpieczeń w lewym okienku nawigacyjnym i wybierz opcję Właściwości .
  • Teraz w sekcji Po osiągnięciu maksymalnego rozmiaru dziennika zdarzeń zaznacz przycisk opcji Zastąp zdarzenia w razie potrzeby (najpierw najstarsze zdarzenia).
  • Kliknij Zastosuj > OK .

2] Zarchiwizuj dziennik zdarzeń bezpieczeństwa systemu Windows

W środowisku dbającym o bezpieczeństwo (zwłaszcza w przedsiębiorstwie/organizacji) archiwizacja dziennika zdarzeń bezpieczeństwa systemu Windows może być konieczna lub wymagana. Można to zrobić za pomocą Podglądu zdarzeń, jak pokazano powyżej, wybierając opcję Archiwizuj dziennik po zapełnieniu, nie zastępuj zdarzeń lub tworząc i uruchamiając skrypt PowerShell przy użyciu poniższego kodu. Skrypt PowerShell sprawdzi rozmiar dziennika zdarzeń bezpieczeństwa i zarchiwizuje go w razie potrzeby. Kroki wykonywane przez skrypt są następujące:

  • Jeśli dziennik zdarzeń zabezpieczeń ma mniej niż 250 MB, w dzienniku zdarzeń aplikacji zostanie zapisane zdarzenie informacyjne
  • Jeśli dziennik ma ponad 250 MB
    • Dziennik jest archiwizowany w D:\Logs\OS.
    • Jeśli operacja archiwizacji nie powiedzie się, w dzienniku zdarzeń aplikacji zostanie zapisane zdarzenie błędu i zostanie wysłana wiadomość e-mail.
    • Jeśli operacja archiwizacji powiedzie się, w dzienniku zdarzeń aplikacji zostanie zapisane zdarzenie informacyjne i zostanie wysłana wiadomość e-mail.

Przed użyciem skryptu w swoim środowisku skonfiguruj następujące zmienne:

  • $ArchiveSize – Ustaw żądany limit rozmiaru dziennika (MB)
  • $ArchiveFolder — ustaw istniejącą ścieżkę, do której mają trafiać archiwa plików dziennika
  • $mailMsgServer – Ustaw prawidłowy serwer SMTP
  • $mailMsgFrom – Ustaw prawidłowy adres e-mail OD
  • $MailMsgTo – Ustaw prawidłowy adres e-mail 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()

Jeśli chcesz, możesz użyć pliku XML, aby ustawić uruchamianie skryptu co godzinę. W tym celu zapisz następujący kod w pliku XML, a następnie zaimportuj go do Harmonogramu zadań. Pamiętaj, aby zmienić sekcję <Argumenty> na nazwę folderu/pliku, w którym zapisałeś skrypt.

<?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>

Po włączeniu lub skonfigurowaniu archiwizacji dzienników najstarsze dzienniki zostaną zapisane i nie zostaną nadpisane nowszymi dziennikami. Od teraz system Windows zarchiwizuje dziennik po osiągnięciu maksymalnego rozmiaru dziennika i zapisze go w określonym katalogu (jeśli nie jest to domyślny). Zarchiwizowany plik zostanie nazwany w formacie Archive-<Section>-<Date/Time>, na przykład Archive-Security-2023-02-14-18-05-34. Zarchiwizowanego pliku można teraz używać do śledzenia starszych zdarzeń.

3] Ręcznie wyczyść dziennik bezpieczeństwa

Ręcznie wyczyść dziennik zabezpieczeń

Jeśli ustawiłeś zasadę przechowywania na Nie zastępuj zdarzeń (ręczne czyszczenie dzienników), konieczne będzie ręczne wyczyszczenie dziennika zabezpieczeń przy użyciu dowolnej z poniższych metod.

  • Podgląd zdarzeń
  • Narzędzie WEVTUTIL.exe
  • Plik wsadowy

Otóż ​​to!

Jaki identyfikator zdarzenia jest wykrywany przez złośliwe oprogramowanie?

Dziennik zdarzeń zabezpieczeń systemu Windows o identyfikatorze 4688 wskazuje, że w systemie wykryto złośliwe oprogramowanie. Na przykład, jeśli w systemie Windows jest obecne złośliwe oprogramowanie, wyszukiwanie zdarzenia 4688 ujawni wszelkie procesy wykonywane przez ten program o złych intencjach. Dzięki tym informacjom możesz wykonać szybkie skanowanie, zaplanować skanowanie w programie Windows Defender lub uruchomić skanowanie w trybie offline w programie Defender.

Jaki jest identyfikator zabezpieczeń dla zdarzenia logowania?

W Podglądzie zdarzeń identyfikator zdarzenia 4624 będzie rejestrowany przy każdej udanej próbie zalogowania się do komputera lokalnego. To zdarzenie jest generowane na komputerze, do którego uzyskano dostęp, czyli na którym utworzono sesję logowania. Zdarzenie typu logowania 11: CachedInteractive wskazuje, że użytkownik zalogował się do komputera przy użyciu poświadczeń sieciowych przechowywanych lokalnie na komputerze. Nie skontaktowano się z kontrolerem domeny w celu zweryfikowania poświadczeń.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *