
Hai Habr! Baca di bawah cat cara mengakses log keamanan Windows tanpa hak administrator. Ini bukan artikel pertama tentang Habré yang terkait dengan log Windows dan mungkin bukan yang paling orisinal, tetapi menurut pendapat saya, saya terlalu banyak menghabiskan waktu mencari solusi sederhana untuk membaca log sebagai pengguna biasa, jadi saya memutuskan untuk berbagi "kisah sukses saya".
Saya juga harus membandingkan kinerja cmdlet Powershell dengan
Get-WinEvent dan
Get-EventLog .
Segala sesuatu yang berada di bawah cut relevan untuk Windows Server 2008R2 / 2012R2, Windows 10 Pro (1809), saya tidak memeriksa versi lain, saya pikir situasinya mirip dengan produk-produk tahun 2016 dan 2019.
Jadi, secara default, rata-rata pengguna tidak memiliki izin untuk membaca log keamanan.
Ketika Anda mencoba untuk mendapatkan log, Anda mendapatkan kesalahan.

Dan melalui
Event Viewer, akses juga akan ditolak.

SHOWTIME
Tambahkan pengguna ke grup
Pembaca Log Event lokal.

Selanjutnya, kami memberikan izin baca ke cabang registri
MACHINE \ System \ CurrentControlSet \ Services \ Eventlog \ Security .

Tanpa mengubah hak untuk cabang registri ini, Anda tidak akan dapat membaca parameter dari log keamanan; oleh karena itu, Anda tidak akan dapat mengetahui lokasi dan nama file log.
Keamanan , ini adalah satu-satunya bagian dari layanan
Eventlog yang tidak mewarisi hak akses dari root.
Ini adalah seperti apa izin untuk
MACHINE \ System \ CurrentControlSet \ Services \ Eventlog .

Pastikan cmdlet
Get-WinEvent dan
Get-EventLog berfungsi!
Kemudian, kembali untuk membandingkan cmdlet ini ...

Kelola log audit dan keamanan
Jika pengguna perlu diberikan hak untuk menghapus log, Anda harus mengedit kebijakan grup. Pengguna atau grup pengguna perlu menambahkan
izin Kelola audit dan keamanan .
Grup ini terletak di sini
Konfigurasi Komputer \ Pengaturan Windows \ Pengaturan Keamanan \ Kebijakan Lokal \ Penugasan Hak Pengguna .

Anda dapat membaca lebih lanjut tentang
Kelola audit dan log keamanan di sini.Pengaturan kebijakan ini menentukan pengguna mana yang dapat menentukan opsi audit akses objek untuk sumber daya individual seperti file, objek Direktori Aktif, dan kunci registri. Objek-objek ini menentukan daftar kontrol akses sistem (SACL) mereka. Seorang pengguna yang diberikan hak pengguna ini juga dapat melihat dan menghapus log Keamanan di Peraga Peristiwa. Untuk info lebih lanjut tentang kebijakan audit Object Access, lihat Akses objek audit.
Kami memeriksa, semuanya berfungsi seperti yang dijanjikan, log dibersihkan ...

Tidak ada logika lain untuk membersihkan hak.
Sejujurnya, saya tidak bisa membuat skenario di mana pengguna perlu diberi hak untuk membersihkan log keamanan, tetapi ada peluang seperti itu.Get-WinEvent VS Get-EventLog
Sudah waktunya untuk membandingkan dua cmdlet ini
Dapatkan-eventlogDeskripsi:
Cmdlet Get-EventLog mendapatkan event dan log aktivitas di komputer lokal dan jarak jauh.
Anda dapat menggunakan parameter cmdlet dan nilai properti untuk mencari acara. Cmdlet ini mendapatkan peristiwa yang cocok dengan nilai properti yang ditentukan.
Cmdlet yang berisi kata benda EventLog hanya berfungsi pada log peristiwa klasik. Untuk mendapatkan peristiwa dari log yang menggunakan teknologi Windows Event Log di Windows Vista dan versi Windows yang lebih baru, gunakan Get-WinEvent.
Dapatkan-WinEventDeskripsi:
Cmdlet Get-WinEvent mendapatkan event dari log peristiwa, termasuk log klasik, seperti log Sistem dan Aplikasi, dan log peristiwa yang dihasilkan oleh teknologi Windows Event Log yang diperkenalkan pada Windows Vista. Ini juga mendapatkan peristiwa dalam file log yang dihasilkan oleh Event Tracing for Windows (ETW).
Tanpa parameter, perintah Get-WinEvent mendapatkan semua peristiwa dari semua log peristiwa di komputer. Untuk menghentikan perintah, tekan CTRL + C.
Get-WinEvent juga mencantumkan log peristiwa dan penyedia log peristiwa. Anda bisa mendapatkan acara dari log yang dipilih atau dari log yang dihasilkan oleh penyedia acara yang dipilih. Dan, Anda dapat menggabungkan acara dari berbagai sumber dalam satu perintah. Cmdlet ini memungkinkan Anda untuk memfilter acara dengan menggunakan kueri XPath, kueri XML terstruktur, dan kueri tabel hash yang disederhanakan
Menurut deskripsi,
Get-WinEvent dapat bekerja dengan sejumlah besar majalah yang muncul di
WIndows Vista .
Untuk lebih jelasnya, berikut adalah daftar yang digunakan cmdlet ini
; Saya menghentikan output untuk
Get-WinEvent .

Tetapi ada satu hal, kinerja penting, bandingkan waktu eksekusi permintaan.
Waktu berjalan Get-WinEvent benar-benar luar biasa, perhatikan jumlah entri dalam
log Applocation and
Security , jumlah acara kira-kira sama 3400-3600, tetapi perbedaan waktu berjalan hampir 20 kali ...
Get-WinEvent menghabiskan 127 detik versus 52 detik
Get-EventLog untuk membaca acara
Aplikasi .
Dan sekakmat,
Get-WinEvent menghabiskan 2020 detik versus 45 detik
Get-EventLog untuk membaca acara
Keamanan .
Jika Anda menjalankan perintah yang sama secara lokal, semuanya tidak terlihat buruk, tetapi bahkan
Get-EventLog secara lokal bekerja dengan log keamanan 50 kali lebih cepat daripada
Get-WinEvent .

Dan contoh lain, sudah sedikit lebih bermakna, dari menerima peristiwa dengan kode
4624 Akun berhasil masuk .

Apa yang bisa saya katakan, jumlahnya tidak bohong ...
Akses non-administrator ke log Peristiwa DC
Dan sebagai kesimpulan, saya meninggalkan topik mendapatkan akses ke log keamanan pada pengontrol domain.
Semua hal di atas juga relevan untuk pengontrol domain dengan beberapa amandemen.
1 - Anda akan menemukan grup
Pembaca Log Event di objek
prinsip keamanan internal .

Dengan menambahkan pengguna ke grup ini, Anda hanya memberikan izin baca ke pengontrol domain.
Dan jangan lupa bahwa pada setiap pengontrol domain Anda harus memberikan izin untuk membaca cabang registri
MACHINE \ System \ CurrentControlSet \ Services \ Eventlog \ Security .
Berikut adalah contohnya, tidak ada izin untuk membaca log dari server anggota, jika Anda perlu membaca log dari mesin lain di domain, gunakan kebijakan grup untuk menambahkan pengguna atau grup pengguna ke grup
Pembaca Log Acara lokal.

2 - Untuk menambahkan hak untuk menghapus log, Anda harus mengedit
Kebijakan Pengontrol Domain Default .
3 - Untuk memungkinkan peluncuran tugas atas nama pengguna pada pengontrol domain, Anda juga harus mengedit
Kebijakan Pengontrol Domain Default dan memberikan pengguna
Log masuk sebagai izin
kerja batch .
4 - Berhati-hatilah saat mengedit kebijakan domain default!
PS
Daftar singkat sumber daya yang membantu saya:
Menurut pendapat saya, publikasi bermanfaat tentang Habr, yang topiknya terkait dengan log Windows:
Akhirnya