about_Logging

Deskripsi singkat

PowerShell mencatat operasi internal dari mesin, penyedia, dan cmdlet ke log peristiwa Windows.

Deskripsi panjang

PowerShell mencatat detail tentang operasi PowerShell, seperti memulai dan menghentikan mesin dan penyedia, dan menjalankan perintah PowerShell.

Catatan

Windows PowerShell 5.1 (dan yang lebih lama) menyertakan cmdlet EventLog untuk log peristiwa Windows. Dalam versi tersebut, untuk menampilkan daftar jenis cmdlet EventLog : Get-Command -Noun EventLog. Untuk informasi selengkapnya, lihat dokumentasi cmdlet dan about_EventLogs untuk versi Windows PowerShell Anda.

Untuk informasi tentang pengelogan di PowerShell 7, lihat artikel berikut ini:

Menampilkan entri log peristiwa PowerShell di Windows

Log PowerShell dapat dilihat menggunakan Pemantau Peristiwa Windows. Log peristiwa terletak di grup Log Aplikasi dan Layanan dan diberi nama Microsoft-Windows-PowerShell. Penyedia ETW GUID terkait adalah {A0C1853B-5C40-4B15-8766-3CF1C58F985A}.

Saat Pengelogan Blok Skrip diaktifkan, PowerShell mencatat peristiwa berikut ke log Microsoft-Windows-PowerShell/Operational :

Bidang Nilai
EventId 4104 / 0x1008
Saluran Operational
Tingkat Verbose
Opcode Create
Tugas CommandStart
Kata kunci Runspace

Mengaktifkan Pengelogan Blok Skrip

Saat Anda mengaktifkan Pembuatan Log Blok Skrip, PowerShell merekam konten semua blok skrip yang diprosesnya. Setelah diaktifkan, sesi PowerShell baru mencatat informasi ini.

Catatan

Untuk memastikan bahwa data sensitif dilindungi, aktifkan Pencatatan Peristiwa Terproteksi saat menggunakan Pengelogan Blok Skrip untuk apa pun selain tujuan diagnostik.

Pengelogan Blok Skrip dapat diaktifkan melalui Kebijakan Grup atau pengaturan registri.

Menggunakan Kebijakan Grup

Untuk mengaktifkan transkripsi otomatis, aktifkan fitur Aktifkan Pengelogan Blok Skrip PowerShell di Kebijakan Grup melalui Templat Administratif ->Komponen Windows ->Windows PowerShell.

Menggunakan Registri

Jalankan fungsi berikut:

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"
}

Pengelogan Peristiwa terproteksi

Meningkatkan tingkat pengelogan pada sistem meningkatkan kemungkinan konten yang dicatat mungkin berisi data sensitif. Misalnya, dengan pembuatan log skrip diaktifkan, kredensial, atau data sensitif lainnya yang digunakan oleh skrip dapat ditulis ke log peristiwa. Ketika komputer yang telah mencatat data sensitif disusupi, log dapat memberi penyerang informasi yang diperlukan untuk memperluas jangkauan mereka.

Untuk melindungi informasi ini, Windows 10 memperkenalkan Pengelogan Peristiwa Terproteksi. Pengelogan Peristiwa terproteksi memungkinkan aplikasi yang berpartisipasi mengenkripsi data sensitif yang ditulis ke log peristiwa. Nantinya, Anda dapat mendekripsi dan memproses log ini pada pengumpul log yang lebih aman dan terpusat.

Konten log peristiwa dilindungi menggunakan standar IETF Cryptographic Message Syntax (CMS). CMS menggunakan kriptografi kunci publik. Kunci yang digunakan untuk mengenkripsi konten dan mendekripsi konten tetap terpisah.

Kunci publik dapat dibagikan secara luas dan bukan data sensitif. Konten apa pun yang dienkripsi dengan kunci publik ini hanya dapat didekripsi oleh kunci privat. Untuk informasi selengkapnya tentang Kriptografi Kunci Publik, lihat Wikipedia - Kriptografi Kunci Umum.

Untuk mengaktifkan kebijakan Pengelogan Peristiwa Terproteksi, sebarkan kunci publik ke semua komputer yang memiliki data log peristiwa untuk dilindungi. Kunci privat yang sesuai digunakan untuk pasca-proses log peristiwa di lokasi yang lebih aman seperti pengumpul log peristiwa pusat, atau agregator SIEM . Anda dapat menyiapkan SIEM di Azure. Untuk informasi selengkapnya, lihat Integrasi SIEM generik.

Mengaktifkan Pengelogan Peristiwa terproteksi melalui Kebijakan Grup

Untuk mengaktifkan Pengelogan Peristiwa Terproteksi, aktifkan Enable Protected Event Logging fitur dalam Kebijakan Grup melalui Administrative Templates -> Windows Components -> Event Logging. Pengaturan ini memerlukan sertifikat enkripsi, yang dapat Anda sediakan dalam salah satu dari beberapa formulir:

  • Konten sertifikat X.509 yang dikodekan base-64 (misalnya, seperti yang ditawarkan oleh Export opsi di Pengelola Sertifikat).
  • Thumbprint sertifikat yang dapat ditemukan di penyimpanan sertifikat Komputer Lokal (dapat disebarkan oleh infrastruktur PKI).
  • Jalur lengkap ke sertifikat (bisa lokal, atau berbagi jarak jauh).
  • Jalur ke direktori yang berisi sertifikat atau sertifikat (bisa lokal, atau berbagi jarak jauh).
  • Nama subjek sertifikat yang dapat ditemukan di penyimpanan sertifikat Komputer Lokal (dapat disebarkan oleh infrastruktur PKI).

Sertifikat yang dihasilkan harus memiliki Document Encryption sebagai penggunaan kunci yang ditingkatkan (1.3.6.1.4.1.311.80.1), dan baik Data Encipherment atau Key Encipherment penggunaan kunci diaktifkan.

Peringatan

Kunci privat tidak boleh disebarkan ke peristiwa pengelogan komputer. Ini harus disimpan di lokasi yang aman tempat Anda mendekripsi pesan.

Mendekripsi pesan Pengelogan Peristiwa yang Dilindungi

Skrip berikut mengambil dan mendekripsi peristiwa, dengan asumsi Bahwa Anda memiliki kunci privat:

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

Lihat juga