Active Directory Parola Yönetimi: Son Kullanım Tarihi, Süresiz Parolalar ve GPO Politikaları
Active Directory ortamında kullanıcı hesaplarının güvenliği, parola politikalarının doğru yönetilmesine bağlıdır. PowerShell komutları sayesinde kullanıcıların parolalarını en son ne zaman değiştirdiğini, hiç değiştirmemiş olan hesapları ve “Password Never Expires” özelliği açık kullanıcıları kolayca tespit edebilirsiniz.
Active Directory’de kullanıcı hesaplarının güvenliği doğrudan parola politikalarına bağlıdır.
Kurumsal yapılarda kullanıcı parolalarının düzenli aralıklarla değiştirilmesi, yalnızca iyi bir alışkanlık değil; aynı zamanda güvenlik standartlarının bir gereğidir.
Ancak zaman içinde bazı hesaplarda “Password Never Expires” şekilde ayarlanmış olabileceğini veya kullanıcıların uzun süredir şifrelerini değiştirmediğini fark etmek mümkündür.
İşte bu noktada PowerShell ve Group Policy, sistem yöneticisinin en büyük yardımcısı olur.
⚙️ PowerShell ile Parola Son Değişim Tarihini Listeleme
Active Directory’deki kullanıcıların son parola değişiklik tarihini görmek için şu komutu kullanabilirsiniz:
Get-ADUser -Filter * -Properties pwdLastSet |
Select-Object Name, @{n='PasswordLastSet';e={ [DateTime]::FromFileTime($_.pwdLastSet) }} |
Sort-Object PasswordLastSet
Bu komut, tüm kullanıcıların parolalarının en son ne zaman değiştirildiğini listeler.
Açıklama:
PasswordLastSet: Parolanın en son değiştirildiği tarihi tutar.
FromFileTime(): AD’nin tarih formatını okunabilir hale çevirir.
Sort-Object: Tarihe göre sıralama yapar (en eski → en yeni).
🔎 Şifresi Hiç Değişmemiş Kullanıcıları Tespit Etme
Bazı kullanıcı hesapları oluşturulduktan sonra hiç şifre değişikliği yapmamış olabilir.
Bunu tespit etmek için aşağıdaki komutu kullanabilirsiniz:
Get-ADUser -Filter * -Properties pwdLastSet |
Where-Object { -not $_.pwdLastSet -or $_.pwdLastSet -eq 0 } |
Select-Object Name, SamAccountName
🚫 “Password Never Expires” Özelliği Aktif Olanları Listeleme
Bazı hesaplarda Password Never Expires özelliği açık bırakılır.
Bu özellik aktif olduğunda kullanıcı parolasının süresi hiç dolmaz; yani kullanıcı hiçbir zaman şifre değiştirmek zorunda kalmaz.
Bu durum, servis hesapları (örneğin uygulama, yedekleme veya sistem servisleri) dışında ciddi bir güvenlik riski oluşturur.
Bu kullanıcıları listelemek için:
Get-ADUser -Filter * -Properties PasswordNeverExpires |
Where-Object {$_.PasswordNeverExpires -eq $true} |
Select Name, SamAccountName
🧰 Group Policy ile Parola Değiştirme Sıklığı Ayarları
Kullanıcıların parolalarını ne kadar sıklıkla değiştirmesi gerektiği Group Policy (GPO) üzerinden belirlenir.
📍 Adım 1: Group Policy Management Console’u Aç
gpmc.msc komutunu çalıştırarak Group Policy Management konsolunu açın.
📍 Adım 2: Default Domain Policy’yi Düzenle
Sol menüde Default Domain Policy üzerine sağ tıklayın → Edit seçeneğine girin.
📍 Adım 3: Şu yolu izleyin:
Computer Configuration
└── Windows Settings
└── Security Settings
└── Account Policies
└── Password Policy
📍 Buradaki kritik ayarlar:
Maximum password age: Parolanın maksimum geçerlilik süresi (örneğin 90 gün).
Minimum password age: Kullanıcının aynı şifreyi hemen değiştirmesini önler (örneğin 1 gün).
Minimum password length: Parola uzunluğunu belirler (örneğin minimum 8 karakter).
Password must meet complexity requirements: Büyük/küçük harf, rakam ve özel karakter zorunluluğu.
Enforce password history: Kullanıcının son X şifresini tekrar kullanmasını engeller.
🧩 Servis Hesapları İçin Özel Durum
Bazı uygulama veya servislerin kullandığı hesaplarda parolanın süresi dolduğunda servisler çalışmaz hale gelebilir.
Bu nedenle yalnızca bu tür servis hesaplarında “Password Never Expires” aktif bırakılmalıdır.
Ancak bu hesaplar da düzenli aralıklarla manuel olarak gözden geçirilmelidir.
🔐 Sonuç
Parola yönetimi, Active Directory güvenliğinin omurgasıdır.
PowerShell ile kullanıcıların parola son değişim tarihlerini ve süresiz parolaya sahip hesapları kolayca tespit edebilir,
Group Policy üzerinden parola politikanızı kurumsal güvenlik standartlarına göre şekillendirebilirsin.
Bu yaklaşım, kullanıcı güvenliğini artırmanın yanı sıra;
ISO 27001, KVKK ve SOC2 gibi denetim süreçlerinde de güçlü bir güvenlik kontrolü oluşturur.