Windows Server 2025 / Mengatur Kata Sandi dan Penguncian Akun dengan FGPP
Untuk menerapkan persyaratan kata sandi dan penguncian berbeda pada pengguna domain tertentu, gunakan Fine-Grained Password Policies (FGPP), yaitu kebijakan kata sandi yang dapat ditetapkan secara lebih terperinci, lalu periksa kebijakan efektif pengguna. Menautkan objek kebijakan grup atau Group Policy Object (GPO) biasa ke unit organisasi (OU) pengguna tidak membuat kebijakan kata sandi domain tersendiri untuk OU itu. Latihan ini mempertahankan kebijakan bawaan domain dan menetapkan Password Settings Object (PSO), objek pengaturan kata sandi, pada grup khusus lab.
Bedakan kebijakan bawaan dan FGPP
FGPP dapat ditetapkan kepada objek pengguna dan grup keamanan global; OU bukan target penetapan langsung. Panduan resmi FGPP menjelaskan persyaratan domain dan alat. Gunakan DC1 atau PC administrasi dengan modul ActiveDirectory, koneksi ke ad.example.test, serta akun yang berwenang. Secara bawaan, pengelolaannya memerlukan Domain Admins, tetapi kewenangan ini juga dapat didelegasikan secara sesuai. Administrator lokal PC tidak otomatis berhak membuat PSO. Mulai dengan kueri baca berikut dalam konteks domain yang benar:
Get-ADDefaultDomainPasswordPolicy
Get-ADUserResultantPasswordPolicy -Identity 'labuser1'
Get-ADFineGrainedPasswordPolicy -Filter *
Kueri pertama membaca kebijakan kata sandi bawaan domain sesuai konteks sesi; pastikan domainnya ad.example.test. Kueri kedua menunjukkan PSO efektif labuser1, sedangkan yang ketiga mencantumkan PSO yang ada. Catat nilai dan penetapan awal tanpa menyimpan kata sandi. Pengaturan terketat dari semua PSO tidak digabungkan; satu PSO dipilih sebagai hasil efektif. Penetapan langsung kepada pengguna lebih diutamakan daripada penetapan melalui grup; di antara kandidat sejenis, angka Precedence lebih kecil memiliki prioritas lebih tinggi. Jadi nilai 100 tidak menjamin contoh ini akan berlaku. Jika ada kebijakan lain atau konflik nama maupun prioritas, hentikan pembuatan dan periksa hasilnya terlebih dahulu.
Siapkan grup lab dan nilai percobaan
Gunakan GG_LabUsers dan akun biasa labuser1 dari latihan pengguna dan grup Active Directory. Pada Active Directory Users and Computers (dsa.msc), pastikan GG_LabUsers adalah grup keamanan global dan periksa semua anggotanya, termasuk kemungkinan grup bertingkat. Hanya akun yang memang disiapkan untuk percobaan yang boleh termasuk cakupannya. Jangan menetapkan PSO jika akan menjangkau administrator, layanan, atau pengguna nyata. Jangan menghapus anggota grup operasional agar cocok dengan latihan. Angka berikut memperlihatkan perilaku dan bukan rekomendasi keamanan universal:
| Pengaturan | Contoh lab |
|---|---|
| Panjang minimum dan kompleksitas | 14 karakter; pemeriksaan kompleksitas aktif. |
| Riwayat kata sandi | 5 kata sandi sebelumnya; nilai yang masih ada dalam riwayat tidak boleh dipakai ulang. |
| Usia minimum dan maksimum | 0 hari sebelum dapat mengubah lagi; masa berlaku maksimum 30 hari. |
| Ambang penguncian akun | 5 kegagalan autentikasi menurut penghitungan domain. |
| Durasi penguncian dan jendela pengamatan | Masing-masing 15 menit; jendela pengamatan tidak melebihi durasi penguncian. |
| Enkripsi reversibel | Dinonaktifkan; tidak diaktifkan untuk menjalankan latihan ini. |
Usia minimum 0 hari memudahkan perubahan kata sandi selama latihan, bukan rancangan untuk produksi. Usia maksimum 30 hari dan ambang 5 kegagalan juga merupakan nilai demonstrasi. Pilihan operasional harus mempertimbangkan deteksi, autentikasi multifaktor (MFA), jenis akun, dan pemulihan. Ambang terlalu rendah dapat menyebabkan penguncian berulang atau memudahkan serangan penolakan layanan. Panjang, kompleksitas, serta kedaluwarsa saja tidak menggambarkan seluruh perlindungan akun.
Buat PSO dan tetapkan ke grup
Buka Windows PowerShell dengan hak administrator dan otorisasi Active Directory yang sesuai. Lanjutkan hanya jika Lab-Password-Policy belum ada dan prioritas yang sudah ada telah diperiksa. Blok berikut menetapkan nilai percobaan, membuat PSO, menetapkannya menggunakan Add-ADFineGrainedPasswordPolicySubject, lalu membaca hasil untuk labuser1. Periksa parameter New-ADFineGrainedPasswordPolicy dan jalankan tiap tahap secara terpisah: jika pembuatan gagal, jangan melanjutkan penetapan ke objek lama bernama sama tanpa pemeriksaan.
$policyParameters = @{
Name = 'Lab-Password-Policy'
Precedence = 100
MinPasswordLength = 14
ComplexityEnabled = $true
PasswordHistoryCount = 5
MinPasswordAge = (New-TimeSpan -Days 0)
MaxPasswordAge = (New-TimeSpan -Days 30)
LockoutThreshold = 5
LockoutDuration = (New-TimeSpan -Minutes 15)
LockoutObservationWindow = (New-TimeSpan -Minutes 15)
ReversibleEncryptionEnabled = $false
}
New-ADFineGrainedPasswordPolicy @policyParameters
Add-ADFineGrainedPasswordPolicySubject -Identity 'Lab-Password-Policy' -Subjects 'GG_LabUsers'
Get-ADUserResultantPasswordPolicy -Identity 'labuser1'
Sesudah penetapan, hasil yang diharapkan bagi labuser1 adalah PSO Lab-Password-Policy dengan Precedence 100 dan nilai tabel. Periksa terutama panjang 14, riwayat 5, usia 0/30 hari, ambang 5, serta kedua interval 15 menit. Objek yang berhasil dibuat atau GG_LabUsers yang tercantum sebagai target belum membuktikan PSO itulah yang efektif bagi pengguna. Jika tidak cocok, periksa keanggotaan sebenarnya, penetapan lain, dan replikasi; jangan sekadar menjalankan ulang pembuatan.
Sebagai alternatif grafis, buka Active Directory Administrative Center (ADAC) melalui dsac.exe. Pilih domain yang benar → System → Password Settings Container, lalu Tasks → New → Password Settings. Isi Lab-Password-Policy, Precedence 100, dan nilai tabel. Pada Directly Applies To, tambahkan GG_LabUsers lalu konfirmasikan. Setelah itu pilih pengguna labuser1 dan View Resultant Password Settings untuk melihat kebijakan efektif. Cara ini menggantikan blok pembuatan, bukan langkah tambahan untuk membuat PSO yang sama dua kali.
Ubah kata sandi dan periksa hasilnya
Mengubah kebijakan tidak memperpanjang atau menulis ulang kata sandi yang sudah tersimpan. Namun, syarat yang berlaku dapat berubah, termasuk kedaluwarsa berdasarkan usia kata sandi saat ini. Penetapan PSO tidak membuktikan kata sandi lama memenuhi panjang baru. Pastikan dahulu PSO efektif, lalu masuk pada CLIENT1 sebagai pengguna domain labuser1. Buka Ctrl+Alt+Delete → Change a password; pada konsol virtual, gunakan fungsi konsol untuk mengirim kombinasi tersebut ke sistem tamu. Masukkan kata sandi saat ini dan kata sandi baru yang unik serta memenuhi syarat, lalu konfirmasikan pada bidang yang sesuai. Jangan menyalin kata sandi publik atau memasukkannya ke skrip, log, maupun tangkapan layar. Periksa keberhasilan perubahan dan proses masuk berikutnya tanpa membuat kegagalan masuk berulang untuk percobaan.
Jangan mendemonstrasikan penguncian dengan berulang kali memasukkan kata sandi salah untuk administrator atau akun layanan. Ambang menghitung kegagalan autentikasi; percobaan ulang protokol dan aplikasi berarti satu tindakan pengguna tidak selalu setara dengan satu kegagalan yang dihitung. Jika labuser1 terkunci secara tidak terduga, periksa kredensial lama pada tugas terjadwal, layanan, dan koneksi tersimpan sebelum mencoba kata sandi lagi. Baca statusnya dari sesi administrasi:
Get-ADUser -Identity 'labuser1' -Properties LockedOut,PasswordLastSet | Select-Object SamAccountName,LockedOut,PasswordLastSet
LockedOut menunjukkan status penguncian yang diamati pengendali yang dituju, bukan proses penyebabnya. PasswordLastSet menampilkan waktu kata sandi terakhir ditetapkan, bukan isi kata sandi atau bukti pemenuhan semua aturan saat ini. Sesudah perubahan berhasil, nilainya seharusnya mencerminkan penetapan baru ketika informasi terkait tersedia. Saat membandingkan pengendali, pertimbangkan replikasi dan waktu kueri tanpa mencatat kata sandi.
Membuka penguncian akun tidak menghilangkan aplikasi atau perangkat yang masih mengirim kata sandi lama. Identifikasi pengguna dan penyebabnya, perbaiki kredensial tersimpan yang terkait, lalu periksa lagi statusnya. Jika perlu membuka penguncian, lakukan secara khusus dan dengan kewenangan yang tepat; jangan melonggarkan kebijakan atau membuka semua akun sekaligus agar gejalanya hilang.
Hapus penetapan dan periksa kebijakan yang berlaku
Setelah selesai, hapus hanya penetapan GG_LabUsers melalui Remove-ADFineGrainedPasswordPolicySubject. Baca permintaan konfirmasi sebelum menyetujuinya: tindakan ini menghapus grup dari target PSO, bukan menghapus grup atau labuser1. Setelah itu, baca ulang PSO efektif serta kebijakan bawaan domain:
Remove-ADFineGrainedPasswordPolicySubject -Identity 'Lab-Password-Policy' -Subjects 'GG_LabUsers'
Get-ADUserResultantPasswordPolicy -Identity 'labuser1'
Get-ADDefaultDomainPasswordPolicy
Jika tidak ada PSO lain yang berlaku, kebijakan bawaan domain kembali mengatur pengguna dan kueri PSO efektif mungkin tidak mengembalikan objek. Bedakan hasil yang diharapkan itu dari kesalahan izin, nama, atau koneksi. Jika muncul PSO lain, periksa kebijakan tersebut, bukan menghapusnya untuk memaksakan hasil. Bandingkan juga kebijakan bawaan dengan catatan awal karena latihan ini tidak mengubahnya. Menghapus penetapan tidak mengembalikan kata sandi sebelumnya; simpan kata sandi baru yang valid secara aman. Sebelum menghapus PSO, periksa target lainnya, atau pertahankan tanpa penetapan jika akan digunakan kembali. Jangan menghapus akun atau grup sebagai bagian dari pembersihan ini.




