Active Directory ’de Hesap Kilitlenmesinin Kaynağı Nasıl Tespit Edilir?
Başvurulan hesap şu anda kilitli ve oturum açılamıyor. — The referenced account is currently locked out and may not be logged on to.
Bu makalede Active Directory kullandığımız domain ortamında hesap kilitlenmelerinin kaynağını, nedenlerini ve hangi hesabın hangi cihazdan kilitlendiğinin tespitinin nasıl yapılacağına değineceğim. Active Directory ’de kullanıcı hesaplarının kilitlenmesindeki kaynağı kısaca bulmak için Windows Günlükleri (Event Viewer), PowerShell ve Lockoutstatus.exe kullanabilirsiniz. Şimdi bunların nasıl yapılacağını ve ne ifade ettiğini açıklayalım. Yukarıdaki yöntemin dışında yine bir sürü üçüncü part araçlar bu işi yapmaktadır.
Active Directory ’de Kullanıcı Hesabı Neden Sürekli Kilitleniyor?
İlk olarak sormamız gereken en önemli soruyla başlayalım. Neden kilitleniyor? Siz hesabın kilidini (unlock) açmanıza rağmen çok kısa sürede hesap tekrardan kilitleniyor (locked out). Bunun olası sebepleri nelerdir?
En temel sebebi hesap kilitleniyor çünkü hesap güvenliği için aşağıdaki gibi bir group policy ayarlanmıştır.
Bu politika var olduğuna göre gelelim alt sebeplere
- Brute-force saldırısı yapılıyordur ve sürekli olarak saniyeler içinde limitin üzerinde deneme yapılıyordur. Genelde dışarıya açık hesaplarda veya otomatize saldırılarda yaşanan bir durumdur.
- Birileri şifresini limitin üzerinde yanlış giriyordur. Son kullanıcı olabilir, admin olabilir.
- Şifre bir yerlere kaydedilmiştir ve şifre değişikliği yüzünden hesap kilitleniyordur. Genelde tavsiye edilmese de servis hesabı gibi kullanılan hesaplarda çokça olur.
The referenced account is currently locked out and may not be logged on to
O halde doğru soruyu sorduğumuza göre cevap masum mu değil mi araştırma aşamasına geçelim ilk olarak Windows Event Viewer ‘dan spesifik ID’ler üzerinden olayları incelememiz gerekiyor. Bunun için tek tek log incelemekse Create Custom View diyerek loglar süzmemiz gerekiyor. Log çok fazla ise daha detaylı özelleştirme yapmanız gerekebilir ama aşağıdaki gibi temel bir filtre iş görür. By log: Security ve Event ID kısmına 4740 yazarsak sonuçları görebiliriz.
Kullanıcı adını yazabilirsiniz yada bilgisayar adını ama ben bu logda belki daha fazla hesap vardır diye hepsini görmek istiyorum.
Detaylarını aşağıdaki gibi görebilirsiniz. Kilitlenmenin hangi kaynaktan yapıldığı bilgileri tutulmaktadır.
PowerShell Kullanarak Kilitli Hesap Öğrenme
Get-Aduser -identity username-properties * |
select accountexpirationdate, accountexpires,
accountlockouttime, badlogoncount, padpwdcount,
lastbadpasswordattempt, lastlogondate, lockedout,
passwordexpired | Format-List
Basit bir komutla da kilitli hesabın kilidini kaldırabilirsiniz.
Unlock-ADAccount <username>
Powershell kısmı bu kadar basit. İşleri otomatikleştirmek adına kolaylayacaktır. Bir diğer araca geçelim.
LockoutStatus.exe
Microsoft tarafından geliştirilen bu küçük yazılım sayesinde herhangi bir kod yada MMC paneli açmadan hesabın kilidini kaldırabilirsiniz. İndirme linki için buraya tıklayın. Basit bir kurulum yaptıktan sonra programı çalıştırıp kullanabilirsiniz.
C:\Program Files (x86)\Windows Resource Kits\Tools
Bazı üçüncü parti araçlar mesela Manage Engine, Lepide gibi ürünler şifre denemelerini ve kilitlemelerini ayarladığınız senaryoya göre mail atmakta.