Skip to content

Latest commit

History

358 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🛡️Sentinel

[Audit & Remediasi Keamanan Otomatis Windows 10/11]

PlatformPowerShellLicense: MIT


Abstrak Teknis

Sentinel adalah mekanisme inspeksi dan remediasi keamanan berbasis PowerShell yang dirancang secara otomatis untuk perangkat keras berbasis sistem operasi Microsoft Windows 10 dan Windows 11 tingkat korporat. Skrip ini melakukan evaluasi status statis dan dinamis pada 24 kontrol keamanan fundamental. Sentinel mendukung dua mode operasional: evaluasi telemetri tanpa modifikasi (Audit-Only) serta penegakan konfigurasi sistem secara otomatis (Remediation).


Bagian I. Pendahuluan & Spesifikasi Sistem

Pemeliharaan postur keamanan sistem secara konsisten di seluruh simpul endpoint terdistribusi memerlukan mekanisme inspeksi berbasis standar dan manajemen konfigurasi yang terintegrasi. Kerangka kerja Sentinel mengotomatisasi proses verifikasi serta pengerasan (hardening) parameter sistem utama, meliputi kebijakan kredensial lokal, perlindungan subsistem Local Security Authority (LSA), aturan Windows Defender Firewall, kapasitas log kejadian (event log), pembatasan User Account Control (UAC), tumpukan protokol jaringan, hingga profil operasional Remote Desktop Protocol (RDP).

Ringkasan Spesifikasi Teknis

AtributDetail Spesifikasi
Nama SkripSentinel.ps1
Arsitektur Targetx86_64 / ARM64
Sistem OperasiMicrosoft Windows 10, Windows 11 (Pro, Enterprise, Education)
Lingkungan EksekusiWindows PowerShell 5.1+ / PowerShell Core 7.x
Persyaratan Hak AksesElevated Administrator (Security.Principal.WindowsBuiltInRole::Administrator)
Apresiasi Standar UtamaCIS Microsoft Windows 10/11 Benchmark v2.0.0+

Bagian II. Pemetaan Arsitektur & Cakupan Domain Kontrol

Logika evaluasi pada Sentinel memeriksa 24 parameter yang terbagi ke dalam 10 domain keamanan spesifik. Tabel I menampilkan pemetaan komprehensif dari kontrol internal skrip.

Tabel I. Matriks Referensi Silang Domain Kontrol Keamanan

ID SeksiSpesifikasi DomainReferensi CIS BenchmarkMekanisme Eksekusi / Kunci Registri Target
1.1Panjang Minimum Kata SandiKontrol 1.1.1Net Accounts (/minpwlen:14)
1.2Ambang Pemblokiran AkunKontrol 1.2.1Net Accounts (/lockoutthreshold:5, /lockoutduration:15)
1.1.1Kompleksitas Kata SandiKontrol 1.1.2HKLM:SYSTEMCurrentControlSetControlLsa -> ComplexityEnabled=1
1.1.2Enkripsi Dapat DibalikKontrol 1.1.3HKLM:SYSTEMCurrentControlSetControlLsa -> ReversibleEncryptionEnabled=0
2.1.1Akun Guest BawaanKontrol 2.1.1Disable-LocalUser -Name "Guest"
2.1.2Akun Administrator BawaanKontrol 2.1.2Disable-LocalUser -Name "Administrator"
2.2Penegakan Kebijakan Audit LanjutanKontrol 2.2.1SCENoApplyLegacyAuditPolicy=1 & Eksekusi Subkategori Auditpol
3.1Tingkat Autentikasi LAN ManagerKontrol 2.3.11.7HKLM:SYSTEMCurrentControlSetControlLsa -> LmCompatibilityLevel=5
3.2Pembatasan Akses Anonim SAMKontrol 2.3.11.4HKLM:SYSTEMCurrentControlSetControlLsa -> RestrictAnonymousSAM=1
3.3Batas Waktu Inaktivitas SesiKontrol 2.3.11.1HKLM:SOFTWARE...PoliciesSystem -> InactivityTimeoutSecs=900
3.4Keamanan Klien Minimum NTLMKontrol 2.3.11.9HKLM:SYSTEM...LsaMSV1_0 -> NTLMMinClientSec=537395200
4.1Configuration Windows Defender FirewallKontrol 9.1 - 9.3Profil Domain, Private, Public diset Block Inbound, LogBlocked=True
5.0Kapasitas Ukuran Event LogKontrol 18.2Ekspansi wevtutil (App/Sys >= 32MB, Security >= 192MB)
6.1.1Penonaktifan Autentikasi WDigestKontrol 18.8.23.1...ControlSecurityProvidersWDigest -> UseLogonCredential=0
6.1.2Proteksi LSASS RunAsPPLKontrol 18.8.23.2HKLM:SYSTEMCurrentControlSetControlLsa -> RunAsPPL=1
6.2Verifikasi Enkripsi BitLockerKontrol 18.1.1Kueri Get-BitLockerVolume -MountPoint "C:"
7.1Penonaktifan Layanan BerisikoKontrol 5.1 - 5.7Mematikan RemoteRegistry, Spooler, SSDPSRV, upnphost, dll.
7.2Penegakan Layanan UtamaKontrol 5.8 - 5.11Memastikan status WinDefend, MpsSvc, EventLog, CryptSvc berjalan
8.1Mode Persetujuan Admin UACKontrol 2.3.17.1...PoliciesSystem -> EnableLUA=1
8.2Perilaku Elevasi Akses UACKontrol 2.3.17.3...PoliciesSystem -> ConsentPromptBehaviorAdmin=2
8.3Penolakan Otomatis Pengguna UACKontrol 2.3.17.4...PoliciesSystem -> ConsentPromptBehaviorUser=0
8.4Mode Desktop Aman UACKontrol 2.3.17.5...PoliciesSystem -> PromptOnSecureDesktop=1
9.1Perlindungan AutoAdminLogonKontrol 18.9.3...Winlogon -> AutoAdminLogon="0"
9.2-4Pengerasan Protokol JaringanKontrol 18.9.8Mematikan IP Source Routing, ICMP Redirects; Mengaktifkan Safe DLL Search
10.1Pengerasan Keamanan RDPKontrol 18.9.50Wajib NLA (UserAuthentication=1), Enkripsi Tingkat 3, Matikan Redireksi Drive
10.2Pencatatan Log PowerShell ScriptKontrol 18.9.84...PowerShellScriptBlockLogging -> EnableScriptBlockLogging=1

Bagian III. Metodologi Operasional & Mekanisme Eksekusi

A. Verifikasi Prasyarat Hak Akses

Skrip melakukan validasi konteks identitas administrator sebelum proses pemeriksaan dimulai. Apabila eksekusi dijalankan tanpa hak akses administrator, skrip akan menghentikan proses secara otomatis:

$currentPrincipal=New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) if (-not$currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Error"Harap jalankan skrip ini menggunakan PowerShell (Run as Administrator)!"exit }

B. Mode Eksekusi Operasional

  1. Mode Audit Telemetri (Default)
    Menjalankan kueri pembacaan status sistem tanpa mengubah nilai registri, status akun pengguna lokal, maupun konfigurasi layanan sistem bawaan.
  2. Mode Remediation Otomatis (-Fix)
    Melakukan penyesuaian parameter secara langsung. Kunci registri yang tidak sesuai akan diperbaiki menggunakan fungsi pembantu (Set-RegValue), kebijakan keamanan lokal disesuaikan menggunakan utilitas sistem (net, auditpol, wevtutil), dan layanan sistem yang berisiko akan dinonaktifkan secara otomatis.

Bagian IV. Panduan Penggunaan & Deploymen

A. Eksekusi Jarak Jauh Langsung (PowerShell CLI)

Eksekusi skrip secara langsung dari repositori GitHub melalui terminal PowerShell dengan hak akses administrator:

1. Mode Audit Telemetri

Invoke-Expression (Invoke-WebRequest-Uri "https://raw.githubusercontent.com/narendra-akmal/Sentinel/refs/heads/main/Sentinel.ps1"-UseBasicParsing).Content 

2. Mode Remediation Otomatis

Untuk mengambil dan menjalankan perbaikan sistem secara langsung:

$script= (Invoke-WebRequest-Uri "https://raw.githubusercontent.com/narendra-akmal/Sentinel/refs/heads/main/Sentinel.ps1"-UseBasicParsing).Content ; Invoke-Command-ScriptBlock ([scriptblock]::Create($script)) -ArgumentList $true

B. Eksekusi dari Repositori Lokal

  1. Unduh atau salin berkas Sentinel.ps1 ke perangkat target.
  2. Buka Windows PowerShell sebagai Administrator.
  3. Jalankan perintah sesuai kebutuhan operasional:
# Menguji Audit Telemetri 
.Sentinel.ps1
# Menguji Audit & Remediasi Otomatis 
.Sentinel.ps1 -Fix

Bagian V. Verifikasi & Output Kepatuhan

Setelah proses eksekusi selesai, Sentinel menampilkan laporan terstruktur pada konsol dengan status kepatuhan (COMPLIANT, NON-COMPLIANT) beserta detail pendukung untuk keperluan jejak audit (audit trail).

====================================================================== SKRIP AUDIT & REMEDIASI KEAMANAN WINDOWS 10/11 ====================================================================== [] Mode: AUDIT ONLY (Gunakan parameter -Fix untuk perbaikan) ----------------------------------------------------------------------
[+] Checking Section 1: Account Policies... [1.1] Minimum Password Length (>=14) -> COMPLIANT Detail: Current: 14 [1.2] Account Lockout Threshold (<=5) -> COMPLIANT Detail: Current: 5 [1.1.1] Password Complexity Enabled -> COMPLIANT [1.1.2] Reversible Encryption Disabled -> COMPLIANT
... [output dipotong] ...
====================================================================== AUDIT SELESAI DILAKUKAN ======================================================================

Bagian VI. Pertimbangan Keamanan & Penafian

  • Kesesuaian Manajemen Perubahan: Eksekusi parameter -Fix mengubah konfigurasi administratif, status layanan sistem, dan kunci registri. Disarankan untuk melakukan pengujian pada lingkungan staging sebelum mendistribusikan skrip secara luas melalui Group Policy Objects (GPO) atau Microsoft Intune.
  • Enkripsi BitLocker (Kontrol 6.2): Status enkripsi BitLocker dievaluasi secara otomatis; namun proses aktivasi memerlukan inisialisasi TPM hardware serta kebijakan kunci pemulihan (recovery key) yang dikonfigurasi secara terpisah.

📄 Lisensi

Proyek ini didistribusikan di bawah lisensi MIT License. Anda bebas menggunakan, memodifikasi, mendistribusikan, dan memanfaatkannya secara komersial maupun pribadi tanpa batasan. Lihat berkas LICENSE untuk informasi lebih lanjut.

About

Skrip PowerShell otomatis untuk audit dan remediasi (hardening) keamanan sistem operasi Windows 10/11 berbasis 24 Kontrol Keamanan.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages