about_Logging_Windows

Rövid leírás

A PowerShell naplózza a motor, a szolgáltatók és a parancsmagok belső műveleteit a Windows eseménynaplójába.

Hosszú leírás

A PowerShell naplózza a PowerShell-műveletek részleteit, például a motor és a szolgáltatók indítását és leállítását, valamint a PowerShell-parancsok végrehajtását.

Megjegyzés

Windows PowerShell 3.0-s, 4.0-s, 5.0-s és 5.1-s verzió tartalmazza a Windows eseménynaplóihoz tartozó EventLog-parancsmagokat. Ezekben a verziókban az EventLog-parancsmagok listájának megjelenítéséhez írja be a következőt: . Get-Command -Noun EventLog További információért tekintse meg a parancsmag dokumentációját és a Windows PowerShell verziójának about_EventLogs.

A PowerShell-eseménynapló bejegyzéseinek megtekintése Windows rendszeren

A PowerShell-naplók a Windows eseménymegtekintő használatával tekinthetők meg. Az eseménynapló az Alkalmazás- és szolgáltatásnaplók csoportban található, és neve PowerShellCore. A társított ETW-szolgáltató GUID a következő {f90714a8-5509-434a-bf6d-b1624c8a19a2}: .

Ha engedélyezve van a parancsfájlblokk-naplózás, a PowerShell a következő eseményeket naplózza a PowerShellCore/Operational naplóba:

Mező Érték
EventId 4104 / 0x1008
Csatorna Operational
Level Verbose
Opcode Create
Feladat CommandStart
Kulcsszó Runspace

A PowerShell-eseményszolgáltató regisztrálása Windows rendszeren

A Linuxtól és a macOS-től eltérően a Windows megköveteli az eseményszolgáltató regisztrálását, mielőtt az eseményeket meg lehetne írni az eseménynaplóba. A PowerShell-eseményszolgáltató engedélyezéséhez futtassa a következő parancsot egy emelt szintű PowerShell-parancssorból.

$PSHOME\RegisterManifest.ps1

A PowerShell-eseményszolgáltató regisztrációjának törlése Windows rendszeren

Az eseményszolgáltató regisztrálása lezárja az események dekódolásához használt bináris kódtárat. A kódtár frissítéséhez a szolgáltatónak fel kell vennie a regisztrációt a zárolás feloldásához.

A PowerShell-szolgáltató regisztrációjának megszüntetéséhez futtassa a következő parancsot egy emelt szintű PowerShell-parancssorból.

$PSHOME\RegisterManifest.ps1 -Unregister

A PowerShell frissítése után futtassa $PSHOME\RegisterManifest.ps1 a frissített eseményszolgáltató regisztrálásához.

Parancsfájlblokkok naplózásának engedélyezése

Ha engedélyezi a parancsfájlblokkok naplózását, a PowerShell rögzíti az általa feldolgozott összes szkriptblokk tartalmát. Ha engedélyezve van, minden új PowerShell-munkamenet naplózza ezt az információt.

Megjegyzés

Javasoljuk, hogy engedélyezze a védett eseménynaplózást az alábbiakban leírtak szerint, ha a szkriptblokk-naplózást nem diagnosztikai célokra használja.

A szkriptblokk-naplózás Csoportházirend vagy beállításjegyzék-beállítással engedélyezhető.

Csoportházirend használata

Az automatikus átírás engedélyezéséhez engedélyezze a funkciót Csoportházirend Turn on PowerShell Script Block Logging keresztülAdministrative Templates -> Windows Components -> Windows PowerShell.

A beállításjegyzék használata

Futtassa a következő függvényt:

function Enable-PSScriptBlockLogging
{
    $basePath = 'HKLM:\Software\Policies\Microsoft\Windows' +
      '\PowerShell\ScriptBlockLogging'

    if(-not (Test-Path $basePath))
    {
        $null = New-Item $basePath -Force
    }

    Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}

Védett eseménynaplózás

A rendszer naplózási szintjének növelése növeli annak lehetőségét, hogy a naplózott tartalom bizalmas adatokat tartalmazhat. Ha például engedélyezve van a szkriptnaplózás, a parancsfájl által használt hitelesítő adatok vagy egyéb bizalmas adatok írhatók az eseménynaplóba. Ha egy bizalmas adatokat naplózott gépet feltörnek, a naplók olyan információkat biztosíthatnak a támadóknak, amelyek az elérhetőségük kiterjesztéséhez szükségesek.

Ezen információk védelme érdekében Windows 10 bevezeti a védett eseménynaplózást. A védett eseménynaplózás lehetővé teszi, hogy a részt vevő alkalmazások titkosítsa az eseménynaplóba írt bizalmas adatokat. Később ezeket a naplókat visszafejtheti és feldolgozhatja egy biztonságosabb és központosítottabb naplógyűjtőn.

Az eseménynapló tartalmát az IETF titkosítási üzenetszintaxis (CMS) szabvány védi. A CMS nyilvános kulcsú titkosítást használ. A tartalom titkosításához és a tartalom visszafejtéséhez használt kulcsok külön maradnak.

A nyilvános kulcs széles körben megosztható, és nem bizalmas adatok. Az ezzel a nyilvános kulccsal titkosított tartalmakat csak a titkos kulccsal lehet visszafejteni. További információ a nyilvános kulcsú titkosításról: Wikipedia – Nyilvános kulcsú titkosítás.

A védett eseménynaplózási szabályzatok engedélyezéséhez helyezzen üzembe egy nyilvános kulcsot minden olyan gépen, amely eseménynapló-adatokkal rendelkezik. A megfelelő titkos kulcs az eseménynaplók biztonságosabb helyen, például központi eseménynapló-gyűjtőben vagy SIEM-összesítőben történő feldolgozását követően használható. A SIEM-et az Azure-ban állíthatja be. További információ: Általános SIEM-integráció.

Védett eseménynaplózás engedélyezése Csoportházirend

A védett eseménynaplózás engedélyezéséhez engedélyezze a funkciót Csoportházirend Enable Protected Event Logging keresztülAdministrative Templates -> Windows Components -> Event Logging. Ehhez a beállításhoz titkosítási tanúsítvány szükséges, amelyet többféle formában is megadhat:

  • Egy base-64 kódolású X.509-tanúsítvány tartalma (például a Export Tanúsítványkezelőben elérhető beállításnak megfelelően).
  • A helyi gép tanúsítványtárolójában található tanúsítvány ujjlenyomata (A PKI-infrastruktúra üzembe helyezheti).
  • A tanúsítvány teljes elérési útja (lehet helyi vagy távoli megosztás).
  • Tanúsítványt vagy tanúsítványokat tartalmazó könyvtár elérési útja (lehet helyi vagy távoli megosztás).
  • A helyi gép tanúsítványtárolójában található tanúsítvány tulajdonosneve (A PKI-infrastruktúra üzembe helyezheti).

Az eredményként kapott tanúsítványnak kibővített kulcshasználattal (1.3.6.1.4.1.311.80.1) kell rendelkeznieDocument Encryption, és Data EnciphermentKey Encipherment vagy engedélyeznie kell a kulcshasználatot.

Figyelmeztetés

A titkos kulcsot nem szabad üzembe helyezni a gépek naplózási eseményein. Biztonságos helyen kell tárolni, ahol visszafejtheti az üzeneteket.

Védett eseménynaplózási üzenetek visszafejtése

A következő szkript lekéri és visszafejti azt, feltéve, hogy rendelkezik a titkos kulccsal:

Get-WinEvent Microsoft-Windows-PowerShell/Operational |
  Where-Object Id -eq 4104 | Unprotect-CmsMessage

Lásd még