Kata sandinya benar, akunnya ada di grup VPN, tetapi koneksi tetap ditolak dengan pesan yang tidak menyebut kebijakan apa pun. Saat itu terjadi di server akses jarak jauh Windows, tempat pertama yang saya periksa bukan aturan NPS melainkan satu atribut Active Directory yang tidak dibuka siapa pun: msNPAllowDialin, nilai di balik tab Dial-in. Atribut ini punya tiga status, dan status ketiga diam-diam menyerahkan keputusan ke tempat lain. Sering kali tidak ada yang mengubahnya dengan sengaja: akun dikloning dari templat, atau dibuat oleh skrip yang menulis penolakan eksplisit bertahun-tahun lalu dan tidak pernah ditinjau lagi.

Penolakan bisa terjadi sebelum kebijakan dibaca

Windows memeriksa izin dial-in akun saat menyusun keputusan otorisasi, jadi penolakan eksplisit mengakhiri percakapan lebih awal. Yang terlihat di klien adalah kegagalan autentikasi umum, kadang setelah pertukaran sertifikat selesai, dan itulah sebabnya orang menghabiskan sepanjang sore menguji kredensial yang sebenarnya bukan masalahnya.

Kasus sebaliknya sama membingungkan. Akun yang flag-nya belum pernah disetel bisa berhasil terhubung karena kebijakan mengizinkannya, lalu akun yang sama berhenti terhubung ketika seseorang menyunting aturan NPS karena alasan yang tidak berkaitan. Tidak ada dari kedua peristiwa itu yang tampak dari luar sebagai perubahan izin dial-in.

Tiga status, dan yang ketiga tak terlihat

TRUE mengizinkan dial-in, FALSE menolaknya, dan NULL berarti akun mewarisi jawabannya dari kebijakan akses jarak jauh atau otorisasi NPS. GUI menampilkan status ketiga itu sebagai "Control access through NPS Network Policy", dan itu terbaca seperti kotak centang yang belum diisi, bukan sebagai keputusan.

Karena itu menghitung pengguna yang diizinkan dari konsol hampir tidak memberi tahu apa pun. Akun warisan bisa diizinkan hari ini dan ditolak besok tanpa akunnya disentuh, dan FALSE akun masih bisa terhubung di server yang kebijakannya diatur untuk mengabaikan properti dial-in pengguna. Bacalah atribut dan kebijakan bersama-sama, atau Anda mengaudit separuh keputusan.

Ekspor flag tanpa kehilangan akun warisan

Jalankan ekspor dari pengendali domain, atau dari stasiun kerja dengan modul Active Directory, dan simpan file mentah sebagai bukti alih-alih mengetik ulang ringkasan:

Get-ADUser -Filter * -Properties msNPAllowDialin, LastLogonDate |
  Select-Object SamAccountName, Enabled, msNPAllowDialin, LastLogonDate |
  Sort-Object SamAccountName |
  Export-Csv -NoTypeInformation .\dialin.csv

Satu filter LDAP lebih mudah ditempel ke catatan perubahan. Yang ini hanya mengembalikan izin eksplisit:

dsquery * -Filter "(&(objectCategory=person)(objectClass=user)(msNPAllowDialin=TRUE))" -Attr sAMAccountName

Lalu kueri lagi tanpa klausa dial-in dan cari akun yang nilainya tidak ada. Itulah akun warisan, biasanya grup terbesar di domain, dan melewatinya mengubah audit menjadi daftar segelintir orang yang masih diingat seseorang untuk dikonfigurasi secara manual.

Pisahkan flag dari akses grup dan kesehatan akun

Atribut menjawab satu pertanyaan: bolehkah akun ini dial in. Atribut tidak mengatakan apa pun tentang apakah orangnya masih bekerja di sini, apakah akunnya aktif, atau apakah ada kata sandi bersama yang terselip di catatan meja bantuan. Pasangkan ekspor dengan status aktif, tanggal logon terakhir, dan keanggotaan grup yang memberikan akses ke server.

Kombinasinya yang Anda tindak lanjuti. Akun nonaktif dengan TRUE hanyalah kebisingan. Akun aktif dengan TRUE yang belum logon setahun adalah kandidat untuk dihapus. Akun warisan di grup VPN yang tidak bisa dijelaskan siapa pun adalah temuan yang penting, karena tidak ada satu setelan pun yang mencatat mengapa itu diberikan.

Bacalah dari pengendali domain yang benar-benar dipakai server VPN untuk mengautentikasi. Keterlambatan replikasi bisa menampilkan nilai yang sudah diganti server, dan audit yang mengutip nilai DC basi akan ditantang begitu seseorang memeriksa lagi.

Ubah satu akun dan buktikan perubahannya sampai

Untuk mencabut akses, setel atributnya ke FALSE alih-alih mengosongkannya. Mengosongkan mengembalikan akun ke pewarisan kebijakan, yang mungkin mengizinkannya lagi pada koneksi berikutnya, dan perubahan itu tampak seperti perbaikan padahal sebenarnya keputusan yang berbeda:

dsmod user "CN=Jane Doe,OU=Staff,DC=corp,DC=example" -allowDialin no
Set-ADUser -Identity jdoe -Clear msNPAllowDialin

Baris kedua adalah pengaturan ulang warisan, sengaja dipisahkan agar tidak ada yang mencampur kedua operasi. Lalu konfirmasi dari sesi kedua, baca ulang atributnya, dan periksa peristiwa akuntansi NPS untuk penolakan alih-alih memercayai penyegaran konsol.

Terakhir, catat mekanisme mana yang memiliki keputusan untuk setiap layanan akses jarak jauh. Jika kebijakan mengabaikan properti dial-in pengguna, kondisi gruplah yang berwenang dan atributnya hanya bersifat penasihat untuk layanan itu. Dua layanan di domain yang sama bisa menjawab berbeda secara sah, dan catatan tinjauan harus menyatakannya dalam satu baris per layanan.

Keluaran yang bertahan dari audit itu singkat: siapa yang boleh terhubung, dengan mekanisme apa, ditinjau kapan, oleh siapa. Flag dial-in memasok dua jawaban pertama; hanya tinjauan kebijakan yang memasok sisanya.

Artikel terkait