Bagikan melalui


Menggunakan App Control untuk mengamankan PowerShell

Windows 10 mencakup dua teknologi, App Control for Business dan AppLocker, yang dapat Anda gunakan untuk mengontrol aplikasi. Mereka memungkinkan Anda untuk membuat pengalaman penguncian untuk membantu mengamankan lingkungan PowerShell Anda.

AppLocker dibangun pada fitur kontrol aplikasi dari Kebijakan Pembatasan Perangkat Lunak. AppLocker memungkinkan Anda membuat aturan untuk mengizinkan atau menolak aplikasi untuk pengguna atau grup tertentu. Anda mengidentifikasi aplikasi berdasarkan properti unik file.

Kontrol Aplikasi untuk Bisnis, yang diperkenalkan di Windows 10 sebagai Windows Defender Application Control (WDAC), memungkinkan Anda mengontrol driver dan aplikasi mana yang diizinkan untuk dijalankan pada Windows.

Deteksi kebijakan lockdown

PowerShell mendeteksi kebijakan luas sistem AppLocker dan App Control for Business. AppLocker tidak memiliki cara untuk mengkueri status penegakan kebijakan. Untuk mendeteksi apakah kebijakan kontrol aplikasi di seluruh sistem sedang diberlakukan oleh AppLocker, PowerShell membuat dua file sementara dan pengujian jika dapat dijalankan. Nama file menggunakan format nama berikut:

  • $Env:TEMP/__PSScriptPolicyTest_<random-8dot3-name>.ps1
  • $Env:TEMP/__PSScriptPolicyTest_<random-8dot3-name>.psm1

Kontrol Aplikasi untuk Bisnis adalah sistem kontrol aplikasi pilihan untuk Windows. App Control menyediakan API yang memungkinkan Anda menemukan konfigurasi kebijakan. Kontrol Aplikasi dirancang sebagai fitur keamanan di bawah kriteria layanan yang ditentukan oleh Microsoft Security Response Center (MSRC). Untuk informasi selengkapnya, lihat Kontrol Aplikasi untuk Windows dan App Control dan ketersediaan fitur AppLocker.

Catatan

Saat memilih antara App Control atau AppLocker, kami sarankan Anda menerapkan kontrol aplikasi menggunakan Kontrol Aplikasi untuk Bisnis daripada AppLocker. Microsoft tidak lagi berinvestasi di AppLocker. Meskipun AppLocker mungkin terus menerima perbaikan keamanan, AppLocker tidak akan menerima penyempurnaan fitur.

Penegakan kebijakan Kontrol Aplikasi

Saat PowerShell berjalan di bawah kebijakan Kontrol Aplikasi, perilakunya berubah berdasarkan kebijakan keamanan yang ditentukan. Di bawah kebijakan Kontrol Aplikasi, PowerShell menjalankan skrip dan modul tepercaya yang diizinkan oleh kebijakan dalam FullLanguage mode. Semua skrip dan blok skrip lainnya tidak tepercaya dan berjalan dalam ConstrainedLanguage mode. PowerShell melemparkan kesalahan saat skrip yang tidak tepercaya mencoba melakukan tindakan yang tidak diizinkan dalam ConstrainedLanguage mode. Mungkin sulit untuk mengetahui mengapa skrip gagal berjalan dengan benar dalam ConstrainedLanguage mode.

Audit kebijakan Kontrol Aplikasi

PowerShell 7.4 menambahkan fitur baru untuk mendukung kebijakan Kontrol Aplikasi dalam mode Audit . Dalam mode audit, PowerShell menjalankan skrip yang tidak tepercaya dalam ConstrainedLanguage mode tanpa kesalahan, tetapi mencatat pesan ke log peristiwa sebagai gantinya. Pesan log menjelaskan batasan apa yang akan berlaku jika kebijakan berada dalam mode Terapkan .

Riwayat perubahan

Windows PowerShell 5.1 adalah versi pertama PowerShell yang mendukung Kontrol Aplikasi. Fitur keamanan App Control dan AppLocker meningkat dengan setiap rilis baru PowerShell. Bagian berikut ini menjelaskan bagaimana dukungan ini berubah di setiap versi PowerShell. Perubahannya bersifat kumulatif, sehingga fitur yang dijelaskan dalam versi yang lebih baru mencakupnya dari versi sebelumnya.

Perubahan di PowerShell 7.4

Di Windows, ketika PowerShell berjalan di bawah kebijakan Kontrol Aplikasi, perilakunya berubah berdasarkan kebijakan keamanan yang ditentukan. Di bawah kebijakan Kontrol Aplikasi, PowerShell menjalankan skrip dan modul tepercaya yang diizinkan oleh kebijakan dalam FullLanguage mode. Semua skrip dan blok skrip lainnya tidak tepercaya dan berjalan dalam ConstrainedLanguage mode. PowerShell melemparkan kesalahan ketika skrip yang tidak tepercaya mencoba melakukan tindakan yang tidak diizinkan. Sulit untuk mengetahui mengapa skrip gagal berjalan dengan benar dalam ConstrainedLanguage mode.

PowerShell 7.4 sekarang mendukung kebijakan Kontrol Aplikasi dalam mode Audit . Dalam mode audit, PowerShell menjalankan skrip yang tidak tepercaya dalam ConstrainedLanguage mode tetapi mencatat pesan ke log peristiwa alih-alih melemparkan kesalahan. Pesan log menjelaskan batasan apa yang akan berlaku jika kebijakan berada dalam mode Terapkan .

Perubahan di PowerShell 7.3

  • PowerShell 7.3 sekarang mendukung kemampuan untuk memblokir atau mengizinkan file skrip PowerShell melalui API Kontrol Aplikasi.

Perubahan di PowerShell 7.2

  • Ada skenario corner-case di AppLocker di mana Anda hanya memiliki aturan Tolak dan mode yang dibatasi tidak digunakan untuk memberlakukan kebijakan yang memungkinkan Anda melewati kebijakan eksekusi. Dimulai di PowerShell 7.2, perubahan dilakukan untuk memastikan aturan AppLocker lebih diutamakan daripada Set-ExecutionPolicy -ExecutionPolicy Bypass perintah.

  • PowerShell 7.2 sekarang melarang penggunaan Add-Type cmdlet dalam NoLanguage mode sesi PowerShell pada komputer yang terkunci.

  • PowerShell 7.2 sekarang melarang skrip menggunakan objek COM dalam kondisi penguncian sistem AppLocker. Cmdlet yang menggunakan COM atau DCOM secara internal tidak terpengaruh.

Bacaan lebih lanjut