- JEA menerapkan prinsip hak akses paling minimal dalam PowerShell dengan melakukan remote, mengurangi jumlah akun dengan hak akses tinggi, dan membatasi cmdlet yang tersedia untuk setiap peran.
- Kombinasi file .psrc dan .pssc memungkinkan Anda untuk menentukan kemampuan peran, titik akhir yang dibatasi, akun virtual, dan transkrip terperinci untuk audit yang lengkap.
- Dibandingkan dengan pendekatan seperti GPO, AppLocker, atau endpoint generik, JEA menawarkan kontrol yang jauh lebih terperinci dan model RBAC yang kuat untuk mendelegasikan tugas tanpa mengekspos kredensial istimewa.
- Penerapannya yang benar memerlukan desain peran yang cermat, pengujian, dan pemeliharaan berkelanjutan, tetapi memberikan peningkatan signifikan pada keamanan tanpa mengorbankan produktivitas.
Penggunaan PowerShell remoting hampir menjadi hal yang sangat diperlukan di lingkungan mana pun. Windows Modern, tetapi memberikan akses jarak jauh tanpa kendali sama seperti meninggalkan kunci pusat data di atas meja. Di sinilah permainan ini berperan. Administrasi yang Cukup (Just-Enough-Administration/JEA), lapisan keamanan yang memungkinkan Anda mendelegasikan tugas tanpa harus menyerahkan hak administrator begitu saja.
Dengan JEA, Anda dapat menyiapkan titik akses jarak jauh yang sangat terbatas di mana pengguna tertentu hanya menjalankan perintah bahwa Anda telah memberikan otorisasi, di bawah akun dengan hak akses lebih tinggi, tetapi tanpa mengetahui kredensial sebenarnya atau mampu menyimpang dari skrip.Dan semua ini tercatat dalam transkrip dan log Rincian tersebut kemudian memungkinkan Anda untuk mengaudit siapa yang telah melakukan apa, kapan, dan dari mana.
Apa itu Administrasi yang Cukup (Just-Enough-Administration/JEA) dan mengapa hal itu penting?
Just-Enough-Administration adalah teknologi keamanan berbasis PowerShell. yang menerapkan model administrasi terdelegasi dengan hak akses seminimal mungkin. Dalam praktiknya, JEA memungkinkan Anda mengekspos titik akhir jarak jauh di mana hanya sejumlah cmdlet, fungsi, skrip, dan perintah eksternal yang Anda definisikan yang tersedia.
Berkat pendekatan ini, Anda bisa mengurangi secara drastis jumlah akun dengan hak akses tinggi Di server Anda, Anda dapat menggunakan akun virtual atau akun layanan yang dikelola grup (gMSA) yang menjalankan tindakan istimewa atas nama pengguna standar. Pengguna masuk dengan kredensial normal mereka dan, melalui sesi JEA, meluncurkan perintah yang dieksekusi di balik layar dengan hak akses yang lebih tinggi.
Pilar penting lain dari JEA adalah kemampuan untuk untuk mendefinisikan secara tepat apa yang dapat dilakukan oleh setiap peran.File kemampuan peran menentukan cmdlet, fungsi kustom, perintah eksternal, atau penyedia PowerShell mana yang terlihat. Sisanya tidak ada untuk pengguna: mereka tidak dapat membuat skrip improvisasi, menavigasi sistem file secara bebas, atau mengakses layanan atau proses yang belum Anda tentukan.
Selain itu, semua sesi JEA dapat dikonfigurasi untuk menghasilkan transkrip lengkap dan peristiwa auditMerekam perintah, parameter, output, kesalahan, identitas pengguna, dan waktu eksekusi tidak hanya membantu memenuhi persyaratan peraturan tetapi juga sangat berharga saat menyelidiki insiden keamanan atau kegagalan operasional.
Risiko akun istimewa dan bagaimana JEA menguranginya.
Akun administrator lokal, domain, atau aplikasi dengan hak akses yang ditingkatkan menyiratkan salah satu vektor risiko paling serius di organisasi mana punJika penyerang memperoleh salah satu kredensial ini, mereka dapat bergerak secara lateral melalui jaringan, meningkatkan hak akses, dan mendapatkan akses ke data penting, layanan utama, atau bahkan melumpuhkan seluruh sistem.
Menghapus hak akses tidak selalu mudah. Contoh klasiknya adalah... server yang menghosting DNS dan pengontrol domain Active Directory sekaligus.Tim DNS membutuhkan hak akses administrator lokal untuk mengatasi masalah layanan DNS, tetapi menambahkan mereka ke grup Domain Admins secara efektif memberi mereka kendali atas seluruh forest dan akses ke sumber daya apa pun di mesin tersebut. Ini adalah contoh klasik dari mengorbankan keamanan demi kenyamanan operasional.
JEA menyelesaikan dilema ini dengan menerapkan secara ketat prinsip hak istimewa paling sedikitAlih-alih menjadikan administrator DNS sebagai administrator domain, Anda dapat membuat endpoint DNS JEA khusus yang hanya mengekspos cmdlet yang dibutuhkan untuk membersihkan cache, memulai ulang layanan, meninjau log, atau tugas serupa. Hal ini memungkinkan operator untuk melakukan pekerjaannya tanpa harus memeriksa Active Directory, menavigasi sistem file, menjalankan skrip acak, atau mengeksekusi utilitas yang berpotensi berbahaya.
Saat Anda mengkonfigurasi sesi JEA untuk digunakan akun virtual dengan izin sementaraLangkah ini bahkan lebih menarik: pengguna terhubung dengan kredensial tanpa hak istimewa dan, dari sesi tersebut, dapat menjalankan tugas yang biasanya memerlukan hak administrator. Hal ini memungkinkan banyak pengguna untuk dikeluarkan dari grup administrator lokal atau domain, menjaga operasional tetap berjalan sambil secara signifikan memperkuat permukaan serangan.
Konsep keamanan yang mendasari JEA
JEA tidak muncul begitu saja: Hal ini didasarkan pada beberapa prinsip dan model keamanan yang sudah mapan. yang memberikan koherensi dan kekokohan. Yang pertama adalah prinsip hak akses minimal yang telah disebutkan sebelumnya, yang menetapkan bahwa baik pengguna maupun proses hanya boleh memiliki izin yang penting untuk fungsinya.
Pilar utama kedua adalah model dari Kontrol Akses Berbasis Peran (RBAC)JEA mengimplementasikan RBAC melalui berkas kemampuan peran, di mana Anda mendefinisikan apa yang dapat dilakukan oleh peran tertentu dalam sesi jarak jauh. Misalnya, peran helpdesk dapat mencantumkan layanan, melihat peristiwa, dan memulai ulang layanan tertentu, sementara peran administrasi SQL Server hanya dapat menjalankan cmdlet yang terkait dengan... database dan sedikit lagi.
La Landasan teknis JEA adalah PowerShell dan infrastruktur akses jarak jauhnya.PowerShell menyediakan bahasa, cmdlet, dan lapisan komunikasi jarak jauh (WinRM/WS-Management), dan JEA menambahkan di atasnya sistem titik akhir yang dibatasi, akun virtual, dan kontrol terperinci atas perintah mana yang tersedia.
Konsep penting lainnya adalah administrasi terbatas, mirip dengan akses yang diberikan dalam mode kios Windows 11Alih-alih memberikan akses shell penuh kepada operator, JEA membuat sesi di mana bahasa skrip dibatasi (secara default, NoLanguage), pembuatan fungsi atau variabel baru diblokir, perulangan dan kondisi dilarang, dan hanya kumpulan cmdlet yang disetujui yang diizinkan untuk dieksekusi. Hal ini sangat membatasi kemampuan penyerang yang berhasil mendapatkan akses ke sesi tersebut.
Komponen utama: file .psrc dan .pssc
Inti dari setiap penerapan JEA adalah dua jenis file: berkas kemampuan peran (.psrc) dan berkas konfigurasi sesi (.pssc)Bersama-sama mereka mengubah sebuah shell serbaguna menjadi endpoint yang dirancang khusus untuk pengguna tertentu.
Dalam berkas kemampuan peran, Anda mendefinisikan Perintah apa saja yang tersedia untuk peran tersebut?Di antara elemen-elemen terpenting adalah:
- Cmdlet yang TerlihatDaftar cmdlet yang diizinkan, termasuk kemampuan untuk membatasi parameter.
- Fungsi yang Terlihat: fungsi kustom yang dimuat dalam sesi.
- Perintah Eksternal yang Terlihat: file eksekusi eksternal spesifik yang diakses.
- Penyedia yang TerlihatPenyedia PowerShell (misalnya, FileSystem atau Registry) yang terlihat dalam sesi.
Di sisi lain, file konfigurasi sesi .pssc Mereka mendeskripsikan titik akhir JEA seperti itu dan mengaitkannya dengan peran-peran tersebut.Elemen-elemen seperti berikut ini dideklarasikan di sini:
- Definisi Peran: memetakan pengguna atau grup keamanan ke kemampuan peran.
- Jenis Sesi: di mana 'RestrictedRemoteServer' biasanya diatur untuk memperketat keamanan sesi.
- Direktori Transkrip: folder tempat transkrip setiap sesi disimpan.
- JalankanSebagaiAkunVirtual dan opsi terkait lainnya, seperti apakah akun virtual ditambahkan ke grup tertentu.
JEA terwujud dalam bentuk Titik akhir PowerShell remote yang terdaftar di sistem.Endpoint ini dibuat dan diaktifkan dengan cmdlet seperti New‑PSSessionConfigurationFile, Register‑PSSessionConfiguration atau alat bantu grafis seperti JEA Helper Tool, yang memudahkan pembuatan file .pssc dan .psrc tanpa harus terlalu kesulitan dengan sintaksnya.
Siklus hidup sesi JEA
Saat menyiapkan lingkungan JEA yang lengkap, prosesnya biasanya mengikuti serangkaian langkah logis yang Mereka mengubah sistem kendali jarak jauh terbuka menjadi sistem yang diatur secara ketat.Urutan tipikalnya adalah:
Pertama, Anda membuat kelompok keamanan atau beberapa kelompok yang mewakili peran yang ingin Anda delegasikan (misalnya, HelpdeskDNS, Operator Web, Operator SQL). Menggunakan grup tidak wajib, tetapi akan membuat administrasi jauh lebih sederhana seiring berkembangnya lingkungan.
Kemudian, satu atau lebih disiapkan. berkas kemampuan peran .psrc Daftar ini mencantumkan tindakan yang diizinkan: cmdlet, fungsi, skrip, perintah eksternal, alias, penyedia, dan batasan tambahan (parameter spesifik, jalur yang diizinkan, dll.). Di sini, misalnya, Anda dapat mengizinkan semua cmdlet yang dimulai dengan Get-, membatasi Restart-Service hanya untuk layanan Spooler, dan hanya mengotorisasi penyedia FileSystem.
Berikut ini dihasilkan berkas konfigurasi sesi .pssc menggunakan New-PSSessionConfigurationFile. Ini mendefinisikan opsi seperti SessionType = RestrictedRemoteServer, jalur TranscriptDirectory, apakah akun virtual digunakan, dan blok RoleDefinitions yang menghubungkan grup ke kemampuan peran, misalnya, 'DOMAIN\HelpdeskDNS' = @{ RoleCapabilities = 'HelpdeskDNSRole' }.
Dengan file .pssc yang sudah disiapkan, endpoint didaftarkan menggunakan Register‑PSSessionConfiguration -Name JEASession Name -Path Path\File.psscMulai saat itu, jika konfigurasi yang tersedia tercantum dengan Get-PSSessionConfiguration, titik koneksi baru akan tampak siap menerima koneksi.
Pengguna terhubung ke titik akhir ini dari komputer mereka dengan Masukkan -PSSession -ComputerName Server -ConfigurationName JEASession Name atau dengan New-PSSession lalu Invoke-Command. Setelah masuk, sesi secara otomatis menerapkan batasan yang ditentukan dalam kemampuan peran terkait pengguna.
Selama sesi, PowerShell remoting menggunakan WinRM dengan saluran terenkripsi.Autentikasi terintegrasi (biasanya Kerberos di domain) dan aturan firewall yang ditentukan untuk layanan tersebut. Di baliknya, jika RunAsVirtualAccount diaktifkan, akun virtual sementara akan dibuat, ditambahkan ke grup yang diperlukan, dan dihancurkan ketika sesi berakhir.
Terakhir, saat menutup sesi JEA, Transkrip audit dan catatan peristiwa disimpan. Log ini meninggalkan jejak yang jelas tentang perintah yang dieksekusi, hasilnya, dan konteks pengguna. Log ini kemudian dapat dikirim ke atau dikorelasikan dalam sistem SIEM untuk peringatan dan analisis lebih lanjut.
Penggunaan PowerShell untuk akses jarak jauh, kontrol akses, dan pengerasan sistem.
PowerShell Remoting, didukung oleh layanan ini. Manajemen Jarak Jauh Windows (WinRM) Protokol WS-Management memungkinkan eksekusi perintah dan skrip secara terpusat pada komputer jarak jauh. Ini adalah alat yang ampuh untuk otomatisasi, manajemen server massal, debugging, dan dukungan jarak jauh.
Default, administrator lokal dan anggota grup Pengguna Manajemen Jarak Jauh Mereka dapat menggunakan endpoint PowerShell standar. Di banyak lingkungan, kemampuan ini telah digunakan untuk memungkinkan pengguna non-administrator menjalankan tugas jarak jauh, yang pada dasarnya tidak berbahaya, tetapi jika tidak dikontrol dengan benar, hal itu membuka peluang besar untuk penyalahgunaan.
Untuk memperkuat postur keamanan, strategi umum yang digunakan meliputi: Batasi akses PowerShell jarak jauh hanya untuk akun administrator. Atau, lebih baik lagi, kombinasikan batasan tersebut dengan titik akhir JEA yang hanya memberikan akses yang benar-benar diperlukan kepada pengguna tertentu. Hal ini dapat dicapai melalui:
- GPO yang menentukan grup mana yang dapat menggunakan WinRM dan titik akhir default.
- Aturan firewall yang hanya mengizinkan WinRM dari subnet atau komputer manajemen.
- Menghapus grup Pengguna Manajemen Jarak Jauh dari ACL (Access Control List) pada endpoint standar.
Selain itu, Anda dapat memilih untuk Blokir sepenuhnya PowerShell untuk pengguna non-administrator. Dengan menggunakan solusi seperti AppLocker, Anda mencegah pengguna biasa menjalankan skrip berbahaya secara lokal, tetapi tetap mengizinkan akun dengan hak istimewa untuk menggunakan PowerShell untuk tugas manajemen dan otomatisasi.
JEA dibandingkan dengan metode pembatasan PowerShell lainnya
Ada beberapa cara untuk membatasi apa yang dapat dilakukan pengguna dengan PowerShell remoting, dan JEA cocok sebagai pilihan yang lebih tipis dan lebih fleksibel. dalam rentang yang mencakup pendekatan yang lebih luas seperti:
Di satu sisi, penggunaan GPO untuk mengontrol siapa yang dapat mengakses endpoint PowerShell default.Microsoft PowerShell dapat dibatasi untuk administrator, atau bahkan tidak terdaftar untuk semua orang, sehingga memaksa penggunaan endpoint tertentu. Ini berguna untuk membatasi akses dengan cara "brute force", tetapi tidak menyelesaikan masalah granularitas: siapa pun yang mendapatkan akses dapat melakukan hampir apa saja.
Di sisi lain, terdapat alat kontrol aplikasi seperti Kebijakan AppLocker atau Pembatasan Perangkat LunakMetode ini memungkinkan Anda untuk menolak eksekusi PowerShell.exe atau pwsh.exe kepada pengguna standar, baik berdasarkan jalur, penerbit, atau hash. Pendekatan ini berguna untuk memperkuat keamanan workstation dan mencegah pengguna mana pun menjalankan PowerShell, tetapi memiliki keterbatasan ketika Anda ingin seseorang melakukan tugas administratif terbatas dari akun pengguna mereka.
Pilihan lainnya adalah Titik akhir yang dibatasi tanpa mencapai JEA penuh.Anda dapat membuat konfigurasi sesi khusus yang membatasi cmdlet, fungsi, dan modul, tetapi tanpa terlalu bergantung pada model peran, akun virtual, atau RBAC terstruktur yang disediakan JEA. Ini adalah semacam jalan tengah yang cocok untuk skenario sederhana, tetapi kurang skalabel di lingkungan yang besar.
JEA menggabungkan yang terbaik dari beberapa dunia: Pembatasan perintah yang ketat, RBAC, eksekusi hak akses istimewa yang terkontrol, dan pencatatan log yang komprehensif.Hal ini menjadikannya solusi yang direkomendasikan ketika Anda perlu mengaktifkan PowerShell remoting untuk non-administrator, tetapi tanpa memberi mereka lingkungan manajemen yang lengkap.
Fitur canggih: jalankan sebagai akun lain dan masuk.
Salah satu kemampuan JEA yang paling ampuh adalah... jalankan perintah sebagai akun lain yang memiliki hak akses lebih tinggi tanpa mengekspos kredensial AndaIni memecahkan masalah umum "Saya akan memberikan kata sandi untuk layanan ini agar Anda dapat melakukan X", yang kemudian tidak pernah diubah dan akhirnya menjadi risiko besar.
Skenario domain umumnya digunakan Akun Layanan Terkelola Grup (gMSA) Hal ini memungkinkan titik akhir JEA untuk mengeksekusi tindakan di bawah identitas layanan yang dikelola secara terpusat, dengan rotasi kata sandi otomatis dan tanpa operator mana pun yang mengetahui rahasianya. Dalam kasus lain, akun virtual sementara yang berada di mesin lokal digunakan, dibuat secara ad hoc saat pengguna terhubung dan dihancurkan di akhir sesi.
Dari perspektif audit, setiap sesi JEA dapat dikonfigurasi untuk menghasilkan transkrip PowerShell dan entri log peristiwa yang lengkap.Informasi yang biasanya dikumpulkan meliputi:
- Riwayat lengkap perintah dan parameter yang dimasukkan.
- Output yang dihasilkan dan pesan kesalahan.
- Cap waktu mulai dan berakhirnya sesi, serta durasinya.
- Identitas pengguna yang masuk dan peran/kapasitas yang ditugaskan.
Jika Anda menggabungkan jejak ini dengan fungsi-fungsi dari Pencatatan Modul PowerShell dan Naskah Blokir pencatatan log melalui GPO.Dengan mengirimkan log ke SIEM, Anda mendapatkan visibilitas yang kuat tentang apa yang terjadi pada endpoint manajemen Anda. Ini sangat penting baik untuk kepatuhan (audit SOX, ISO 27001, dll.) maupun deteksi dan respons insiden.
Contoh kasus penggunaan JEA di lingkungan dunia nyata.
JEA unggul terutama saat Anda membutuhkannya. Mendelegasikan tugas-tugas yang sangat spesifik kepada tim yang seharusnya bukan administrator.Beberapa contoh yang sangat umum dalam praktiknya adalah:
Di area dukungan teknis, Anda dapat memberikan teknisi tingkat atas. Akses JEA untuk memulai ulang layanan, melihat log peristiwa, dan memeriksa status proses. pada server, tetapi tanpa kemampuan untuk menginstal perangkat lunak, memodifikasi konfigurasi penting, atau mengakses Active Directory. Peran helpdesk yang umum mungkin mencakup cmdlet seperti Get-Service, Restart-Service untuk layanan tertentu, Get-EventLog dalam mode baca saja, dan beberapa cmdlet diagnostik jaringan.
Dalam tim operasional atau pengembangan, Anda dapat melakukan konfigurasi. Peran yang berfokus pada tugas-tugas spesifik seperti administrasi IIS atau pemeliharaan situs web.Sebagai contoh, mengizinkan akses ke cmdlet manajemen Application Pool, memulai ulang situs web, meminta log dari direktori terbatas, dan manajemen sertifikat untuk layanan tertentu, sementara mengecualikan kemampuan untuk memulai ulang seluruh server atau memodifikasi kebijakan keamanan.
Dalam lingkungan hybrid dan cloud, JEA sering digunakan untuk membatasi apa yang dapat dilakukan setiap tim tentang mesin virtual, penyimpanan atau jaringanAnda dapat mengekspos titik akhir yang memungkinkan Anda untuk mengelola hanya VM dari suatu departemen, memodifikasi aturan firewall dari segmen tertentu, atau mengelola sekumpulan akun layanan tertentu, menjaga akses tetap terpisah dari sisa infrastruktur.
Pada saat yang sama, JEA sangat cocok dengan Strategi Manajemen Akses Istimewa (Privileged Access Management/PAM)di mana sesi istimewa diberikan sementara, dicatat, dan dikaitkan dengan identitas pribadi, menghindari akun bersama dan meminimalkan risiko yang terkait dengan setiap tindakan istimewa.
Penulis yang bersemangat tentang dunia byte dan teknologi secara umum. Saya suka berbagi ilmu melalui tulisan, dan itulah yang akan saya lakukan di blog ini, menunjukkan kepada Anda semua hal paling menarik tentang gadget, perangkat lunak, perangkat keras, tren teknologi, dan banyak lagi. Tujuan saya adalah membantu Anda menavigasi dunia digital dengan cara yang sederhana dan menghibur.