🔐 Active Directory PasswordNotRequired Zafiyeti ve PowerShell ile Düzeltme
Active Directory ortamında PasswordNotRequired özelliğini kontrol edin, güvenlik risklerini analiz edin ve PowerShell komutlarıyla güvenli şekilde düzeltin.
🚀 PasswordNotRequired Nedir?
PasswordNotRequired, Active Directory kullanıcı hesaplarında bulunan bir güvenlik özelliğidir. Bu özellik True olduğunda ilgili hesap için parola zorunlu olmayabilir. Kurumsal ortamlarda bu ayarın açık olması genellikle güvenlik taramalarında risk olarak raporlanır.
📌 1. Kullanıcıda PasswordNotRequired Özelliğini Kontrol Etme
İlk olarak ilgili kullanıcı hesabının parola durumu ve PasswordNotRequired özelliği sorgulanır.
Get-ADUser arifaakyuz -Properties PasswordLastSet,PasswordNotRequired | Select Name,PasswordLastSet,PasswordNotRequired
Bu komut aşağıdaki bilgileri getirir:
- Kullanıcının adı
- Parolanın en son değiştirildiği tarih
- PasswordNotRequired değeri (True / False)
Eğer sonuçta PasswordNotRequired=True görünüyorsa kullanıcı hesabı parola gerektirmeyecek şekilde yapılandırılmıştır.
📌 2. PasswordNotRequired Özelliğini Düzeltme
Güvenlik açığını gidermek için aşağıdaki komut kullanılabilir.
Set-ADUser arifakyuz -PasswordNotRequired $false
Bu komut yalnızca PasswordNotRequired bayrağını kapatır.
- Parolayı değiştirmez.
- Hesabı devre dışı bırakmaz.
- Kullanıcı oturumunu kapatmaz.
- Mevcut parola aynı şekilde kullanılmaya devam eder.
📌 3. Yapılan Değişikliği Doğrulama
Değişikliğin başarılı olup olmadığını doğrulamak için aşağıdaki komut çalıştırılır.
Get-ADUser arifakyuz -Properties PasswordNotRequired | Select Name,SamAccountName,PasswordNotRequired
Beklenen sonuç:
PasswordNotRequired : False
False değeri görülüyorsa yapılandırma başarıyla düzeltilmiştir.
📌 4. Active Directory’de Aynı Güvenlik Bulgusuna Sahip Tüm Kullanıcıları Bulma
Ortamdaki tüm kullanıcı hesaplarını tarayarak PasswordNotRequired=True olan hesapları listeleyebilirsiniz.
Get-ADUser -Filter * -Properties PasswordNotRequired | Where-Object {$_.PasswordNotRequired -eq $true} | Select Name,SamAccountName
Bu komut sayesinde güvenlik riski oluşturan tüm kullanıcı hesapları tek seferde tespit edilir.
⚙️ Komutların Teknik Analizi
| Komut | Görevi | Sistemde Değişiklik Yapar mı? |
|---|---|---|
Get-ADUser |
Kullanıcı bilgilerini ve özelliklerini görüntüler. | Hayır |
-Properties PasswordLastSet |
Parolanın son değiştirilme tarihini getirir. | Hayır |
-Properties PasswordNotRequired |
Parola zorunluluğu özelliğini görüntüler. | Hayır |
Set-ADUser -PasswordNotRequired $false |
PasswordNotRequired bayrağını kapatır. | Evet |
Where-Object |
Belirli koşula uyan kullanıcıları filtreler. | Hayır |
🔒 Güvenlik Açısından Neden Önemlidir?
Active Directory güvenlik denetimlerinde PasswordNotRequired=True değeri çoğu zaman yanlış yapılandırma (Misconfiguration) olarak değerlendirilir. Her ne kadar kullanıcı hesabında güçlü bir parola bulunuyor olsa bile bu bayrağın açık olması tavsiye edilmez.
Özellikle kurumsal ağlarda tüm kullanıcı hesaplarının PasswordNotRequired=False olarak yapılandırılması önerilir.
📝 Sonuç
PowerShell komutları sayesinde Active Directory kullanıcı hesaplarında PasswordNotRequired özelliğini kolayca analiz edebilir, güvenlik açısından risk oluşturan hesapları tespit edebilir ve gerekli düzeltmeleri birkaç saniye içerisinde gerçekleştirebilirsiniz.
Özellikle düzenli AD güvenlik kontrolleri yapan sistem yöneticileri için bu komutlar en temel denetim işlemlerinden biridir.