about_Logging
Krótki opis
Program PowerShell rejestruje operacje wewnętrzne z aparatu, dostawców i poleceń cmdlet do dziennika zdarzeń systemu Windows.
Długi opis
Program PowerShell rejestruje szczegółowe informacje o operacjach programu PowerShell, takich jak uruchamianie i zatrzymywanie aparatu i dostawców oraz wykonywanie poleceń programu PowerShell.
Uwaga
Program Windows PowerShell 5.1 (i starsze) zawiera polecenia cmdlet EventLog dla dzienników zdarzeń systemu Windows. W tych wersjach, aby wyświetlić listę poleceń cmdlet usługi EventLog , wpisz:
Get-Command -Noun EventLog
. Aby uzyskać więcej informacji, zobacz dokumentację poleceń cmdlet i about_EventLogs dla używanej wersji programu Windows PowerShell.
Aby uzyskać informacje na temat rejestrowania w programie PowerShell 7, zobacz następujące artykuły:
Wyświetlanie wpisów dziennika zdarzeń programu PowerShell w systemie Windows
Dzienniki programu PowerShell można wyświetlić przy użyciu Podgląd zdarzeń systemu Windows. Dziennik zdarzeń znajduje się w grupie Dzienniki aplikacji i usług i nosi nazwę Microsoft-Windows-PowerShell. Skojarzony dostawca GUID
ETW to {A0C1853B-5C40-4B15-8766-3CF1C58F985A}
.
Po włączeniu rejestrowania bloków skryptów program PowerShell rejestruje następujące zdarzenia w dzienniku microsoft-Windows-PowerShell/operacyjnym :
Pole | Wartość |
---|---|
EventId | 4104 / 0x1008 |
Kanał | Operational |
Poziom | Verbose |
Opcode | Create |
Zadanie | CommandStart |
Słowo kluczowe | Runspace |
Włączanie rejestrowania bloków skryptów
Po włączeniu rejestrowania bloków skryptów program PowerShell rejestruje zawartość wszystkich bloków skryptu, które przetwarza. Po włączeniu tej informacji wszystkie nowe sesje programu PowerShell rejestrują te informacje.
Uwaga
Aby zapewnić ochronę poufnych danych, włącz rejestrowanie zdarzeń chronionych podczas korzystania z rejestrowania bloków skryptów w celach innych niż diagnostyka.
Rejestrowanie bloków skryptów można włączyć za pomocą zasad grupy lub ustawienia rejestru.
Za pomocą zasad grupy
Aby włączyć automatyczną transkrypcję, włącz funkcję Włącz rejestrowanie bloków skryptów programu PowerShell w zasadach grupy za pomocą szablonów Administracja istracyjnych ->Składniki systemu Windows ->Windows PowerShell.
Korzystanie z rejestru
Uruchom następującą funkcję:
function Enable-PSScriptBlockLogging {
$basePath = @(
'HKLM:\Software\Policies\Microsoft\Windows'
'PowerShell\ScriptBlockLogging'
) -join '\'
if (-not (Test-Path $basePath)) {
$null = New-Item $basePath -Force
}
Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}
Rejestrowanie zdarzeń chronionych
Zwiększenie poziomu rejestrowania w systemie zwiększa możliwość, że zarejestrowana zawartość może zawierać poufne dane. Na przykład w przypadku włączenia rejestrowania skryptów poświadczenia lub inne poufne dane używane przez skrypt mogą być zapisywane w dzienniku zdarzeń. Po naruszeniu zabezpieczeń maszyny, która zarejestrowała poufne dane, dzienniki mogą dostarczyć osobie atakującej informacje potrzebne do rozszerzenia ich zasięgu.
Aby chronić te informacje, system Windows 10 wprowadza funkcję rejestrowania zdarzeń chronionych. Funkcja rejestrowania zdarzeń chronionych umożliwia uczestniczącym aplikacjom szyfrowanie poufnych danych zapisanych w dzienniku zdarzeń. Później można odszyfrować i przetworzyć te dzienniki w bardziej bezpiecznym i scentralizowanym module zbierającym dzienniki.
Zawartość dziennika zdarzeń jest chroniona przy użyciu standardu IETF Kryptograficzna składnia komunikatów (CMS). Usługa CMS używa kryptografii klucza publicznego. Klucze używane do szyfrowania zawartości i odszyfrowywania zawartości są przechowywane oddzielnie.
Klucz publiczny może być szeroko udostępniany i nie jest poufnymi danymi. Każda zawartość zaszyfrowana przy użyciu tego klucza publicznego może zostać odszyfrowana tylko przez klucz prywatny. Aby uzyskać więcej informacji na temat kryptografii klucza publicznego, zobacz Wikipedia — kryptografia klucza publicznego.
Aby włączyć zasady rejestrowania zdarzeń chronionych, wdróż klucz publiczny na wszystkich maszynach, które mają dane dziennika zdarzeń w celu ochrony. Odpowiedni klucz prywatny jest używany do przetwarzania dzienników zdarzeń w bezpieczniejszej lokalizacji, takiej jak centralny moduł zbierający dzienniki zdarzeń lub agregator SIEM . Rozwiązania SIEM można skonfigurować na platformie Azure. Aby uzyskać więcej informacji, zobacz Ogólna integracja rozwiązania SIEM.
Włączanie rejestrowania zdarzeń chronionych za pomocą zasad grupy
Aby włączyć rejestrowanie zdarzeń chronionych, włącz Enable Protected Event Logging
funkcję w zasadach grupy za pomocą polecenia Administrative Templates -> Windows Components -> Event Logging
. To ustawienie wymaga certyfikatu szyfrowania, który można podać w jednej z kilku formularzy:
- Zawartość certyfikatu X.509 zakodowanego w formacie base-64 (na przykład oferowana
Export
przez opcję w Menedżerze certyfikatów). - Odcisk palca certyfikatu, który można znaleźć w magazynie certyfikatów komputera lokalnego (można go wdrożyć za pomocą infrastruktury infrastruktury PKI).
- Pełna ścieżka do certyfikatu (może być lokalna lub udział zdalny).
- Ścieżka do katalogu zawierającego certyfikat lub certyfikaty (może być udziałem lokalnym lub zdalnym).
- Nazwa podmiotu certyfikatu, który można znaleźć w magazynie certyfikatów komputera lokalnego (można wdrożyć za pomocą infrastruktury infrastruktury PKI).
Wynikowy certyfikat musi mieć Document Encryption
rozszerzone użycie klucza (1.3.6.1.4.1.311.80.1
) i Data Encipherment
włączone użycie klucza lub Key Encipherment
klucza.
Ostrzeżenie
Klucz prywatny nie powinien być wdrażany na maszynach rejestrującego zdarzenia. Powinny być przechowywane w bezpiecznej lokalizacji, w której odszyfrowywać komunikaty.
Odszyfrowywanie chronionych komunikatów rejestrowania zdarzeń
Poniższy skrypt pobiera i odszyfrowuje zdarzenia, przy założeniu, że masz klucz prywatny:
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla