Fine Grained Password Policy (FGPP) özelliği, Windows Server 2008 ile tanıtılmıştır ve bu nedenle bu özelliği kullanabilmek için Active Directory ortamınızın en az Windows Server 2008 Forest Functional Level (FFL) seviyesinde olması gerekmektedir. Windows Server 2016'da FGPP kullanabilmek için de aynı gereksinim geçerlidir; yani Forest Functional Level'in Windows Server 2008 veya daha üst bir seviyede olması zorunludur.
Fine Grained Password Policy (FGPP), Windows Server 2008 ile birlikte tanıtılan ve Windows Server 2016'da da mevcut olan bir özelliktir. Bu özellik, Active Directory (AD) ortamlarında farklı kullanıcı grupları için farklı parola ve hesap kilitleme politikaları oluşturmanızı sağlar. FGPP, özellikle büyük ve karmaşık AD yapılarında, farklı güvenlik ihtiyaçlarına sahip kullanıcı gruplarının yönetimini kolaylaştırır. FGPP özelliği, Windows Server 2008 ile birlikte gelen bir özellik olup, bu nedenle Forest Functional Level'in (FFL) en az Windows Server 2008 seviyesinde olması gerekmektedir. Windows Server 2016'da FGPP kullanabilmek için Active Directory Forest Functional Level'in Windows Server 2008 veya daha üst bir seviyede olması zorunludur.
FGPP kullanmanın çeşitli avantajları vardır. Özelleştirilmiş güvenlik sağlar; farklı kullanıcı grupları için farklı parola politikaları uygulayarak güvenliği artırabilirsiniz. Esneklik sunar; tek bir Active Directory ortamında birden fazla parola politikası tanımlayabilirsiniz. Merkezi yönetim imkanı verir; tüm parola politikalarını merkezi bir yerden yönetebilir ve uygulayabilirsiniz. FGPP'nin çeşitli özellikleri vardır ve bu özelliklerin her biri, kullanıcıların parola ve hesap yönetimini daha etkili ve güvenli hale getirmeye yöneliktir.
Örneğin, msDS-PasswordReversibleEncryptionEnabled özelliği, parolaların geri çevrilebilir şekilde şifrelenip şifrelenmeyeceğini belirlerken, msDS-PasswordHistoryLength kullanıcıların eski parolalarını kaç kez kullanamayacağını belirler. msDS-PasswordComplexityEnabled, parola karmaşıklık gereksinimlerini etkinleştirir ve msDS-MinimumPasswordLength, parolanın en az kaç karakter uzunluğunda olması gerektiğini belirler. msDS-MinimumPasswordAge, bir parolanın değiştirilmeden önce ne kadar süreyle kullanılabileceğini belirlerken, msDS-MaximumPasswordAge bir parolanın ne kadar süreyle geçerli olacağını belirler. msDS-LockoutThreshold, hesabın kaç başarısız giriş denemesinden sonra kilitleneceğini belirlerken, msDS-LockoutObservationWindow, hesabın kilitlenme sayısının sıfırlanacağı zaman penceresini belirler. Son olarak msDS-LockoutDuration, hesabın kilitli kalacağı süreyi belirler.
Fine Grained Password Policy (FGPP), AD ortamlarında parola politikalarının daha esnek ve özelleştirilebilir olmasını sağlayan güçlü bir özelliktir. Windows Server 2016'da bu özelliği kullanabilmek için AD Forest Functional Level'in en az Windows Server 2008 seviyesinde olması gerekmektedir. FGPP, farklı kullanıcı grupları için farklı güvenlik gereksinimlerini karşılamada büyük bir avantaj sağlar ve AD yönetimini daha esnek hale getirir. FGPP'nin detaylı özellikleri ve kullanım alanları, AD yönetimini daha güvenli ve esnek hale getirmek isteyen sistem yöneticileri için vazgeçilmezdir.
Windows Server 2008'de FGPP yönetimi için genellikle ADSI Edit ve PowerShell gibi araçlar kullanılırken, Windows Server 2012 ile birlikte Active Directory Administrative Center (ADAC) tanıtılmıştır. ADAC, FGPP yönetimini daha kullanıcı dostu hale getiren grafiksel bir arayüz sunar. Bu sayede, FGPP politikalarını oluşturmak, düzenlemek ve uygulamak daha kolay hale gelmiştir. ADAC ile FGPP yönetimi, AD yöneticilerine sezgisel bir kullanıcı arayüzü üzerinden FGPP politikalarını yapılandırma ve yönetme imkanı tanır, böylece karmaşık komut satırı işlemleri yerine görsel araçlarla daha hızlı ve etkin yönetim sağlanır.
Fine Grained Password Policy (FGPP) Oluşturma
1- Sol Taraftaki firatboyan (local) > System > Password Settings Container içini görüntülediğimde, Container için boş ve herhangi bir Password Policy Oluşturulmağını görüyorum.
2- Windows PowerShell'i çalıştırıyorum.
3- Açılan Windows PowerShell ekranında, aşağıdaki ilgili PowerShell komutunu yazıyorum;
New-ADFineGrainedPasswordPolicy TestFGPP_POL01 -ComplexityEnabled:$true -LockoutDuration:"00:10:00" -LockoutObservationWindow:"00:10:00" -LockoutThreshold:"3" -MaxPasswordAge:"90.00:00:00" -MinPasswordAge:"1.00:00:00" -MinPasswordLength:"9" -PasswordHistoryCount:"3" -Precedence:"1" -ReversibleEncryptionEnabled:$false -ProtectedFromAccidentalDeletion:$true |
4- PowerShell komutu başarılı bir şekilde çalıştı. Active Directory Administrative Center (ADAC) üzerinden oluşturduğum Fine Grained Password Policy (FGPP)'ye göz attığımda, yine başarılı bir şekilde oluştuğunu görebiliyorum.
5- Oluşturduğum Fine Grained Password Policy (FGPP) detaylarını da görüntülediğimde, PowerShell parametrelerinde tanımladığım değerlerin de oluştuğunu görüyorum.
Fine-Grained Password Policy (FGPP) Ayarları
1- Name
• FGPP'nin adı.
• PowerShell Komutu: New-ADFineGrainedPasswordPolicy -Name "TestFGPP_POL01"
2- Precedence
PSO (Password Settings Object) öncelik değeridir. Eğer bir kullanıcı veya Global Security Group üzerinde birden fazla PSO tanımlıysa, Precedence değeri en düşük olan PSO uygulanır (en yüksek öncelik).
• PowerShell Komutu: -Precedence 1
• Detay: Bu değer, FGPP'nin diğer PSO'lara göre önceliğini belirler. Örneğin, bir kullanıcı birden fazla FGPP'ye uygunsa, en düşük Precedence değeri olan FGPP geçerli olacaktır.
3- Minimum Password Length
Parolanın sahip olması gereken minimum karakter sayısı.
• PowerShell Komutu: -MinPasswordLength 7
• Detay: Bu parametre, parola güvenliğini artırmak için minimum karakter sayısını belirler. Boş parola kullanılacaksa bu değer 0 olarak ayarlanabilir.
4- Number of Passwords Remembered
Kullanıcının kaç önceki parolayı tekrar kullanamayacağını belirler.
• PowerShell Komutu: -PasswordHistoryCount 3
• Detay: Parola geçmişi özelliği, daha önce kullanılan parolaların yeniden kullanımını önler. Bu parametreyle eski parolaların tekrar kullanılmasını engellersiniz.
5- Password Must Meet Complexity Requirements
Parolanın karmaşıklık gereksinimlerini karşılayıp karşılamayacağını belirler.
• PowerShell Komutu: -ComplexityEnabled $true
• Detay: Eğer etkinleştirilirse, parola büyük harf, küçük harf, rakam ve özel karakterlerden en az üçünü içermelidir. Bu, parola güvenliğini önemli ölçüde artırır.
6- Store Password Using Reversible Encryption
Parolanın tersine çevrilebilir şifreleme kullanılarak veritabanında saklanmasını sağlar. Düz metin şifrelemeye benzer.
• PowerShell Komutu: -ReversibleEncryptionEnabled $false
• Detay: Güvenlik açısından genellikle tavsiye edilmez, çünkü parola düz metin modunda şifrelenir ve tersine çevrilebilir. Genellikle yalnızca bazı eski uygulamalar için gereklidir.
7- User Cannot Change the Password Within (Days)
Parolanın değiştirilebilmesi için geçmesi gereken minimum gün sayısını belirler.
• PowerShell Komutu: -MinPasswordAge 1.00:00:00 (1 gün)
• Detay: Bu ayar, kullanıcıların sık sık parola değiştirerek güvenlik politikalarını aşmasını önler. Örneğin, bir kullanıcı bir gün içinde birden fazla kez parolasını değiştiremez.
8- User Must Change the Password After (Days)
Parolanın maksimum kullanım süresini belirler. Belirtilen gün sayısı dolduğunda kullanıcı yeni bir parola belirlemek zorundadır.
• PowerShell Komutu: -MaxPasswordAge 90.00:00:00 (90 gün)
• Detay: Kullanıcı parolalarının düzenli olarak değiştirilmesini sağlamak amacıyla kullanılır. Parola ömrü dolmadan kullanıcıya uyarı verilir.
9- Number of Failed Logon Attempts Allowed
Yanlış parola girildiğinde kaç kez giriş denemesi yapılabileceğini belirler. Bu limit aşılırsa hesap kilitlenir.
• PowerShell Komutu: -LockoutThreshold 3
• Detay: Yanlış giriş denemesi sayısı bu değeri aşarsa, hesap belirli bir süre kilitlenir. Güvenliği artırmak için bu parametre kullanılır.
10- Reset Failed Logon Attempts Count After (Minutes)
Yanlış giriş denemelerinin sayaç sıfırlanma süresini (dakika bazlı) belirler.
• PowerShell Komutu: -LockoutObservationWindow 00:10:00 (10 dakika)
• Detay: Belirtilen süre sonunda, başarısız oturum açma denemeleri sayacı sıfırlanır. Bu, belirli bir süre sonunda yanlış giriş denemelerinin tekrar yapılabilmesine olanak tanır.
11- Account Will Be Locked Out
a. For a Duration of (Minutes)
Kilitlenen hesabın belirtilen süre (dakika bazlı) sonunda otomatik olarak açılması sağlanır.
• PowerShell Komutu: -LockoutDuration 00:10:00 (10 dakika)
• Detay: Kullanıcı hesabı kilitlendikten sonra, bu sürenin dolmasıyla birlikte otomatik olarak tekrar açılır. Bu ayar, hesap kilitleme işleminin süresini belirler.
b. Until an Administrator Manually Unlocks the Account
Kilitlenen hesabın yalnızca bir sistem yöneticisi tarafından açılmasını sağlar.
• PowerShell Komutu: -LockoutDuration 00:00:00
• Detay: Bu ayar, hesabın süresiz olarak kilitli kalmasını ve sadece bir yönetici tarafından açılmasını sağlar. Güvenlik seviyesi yüksek ortamlarda tercih edilir.
6- Oluşturduğum Fine Grained Password Policy (FGPP)'ye bir Active Directory Kullanıcı grubu atayarak, Policy'nin grup içindeki kullanıcılara atanmasını sağlamak için, aşağıdaki PowerShell komutunu yazıyorum.
Add-AdFineGrainedPasswordPolicySubject TestFGPP_POL01 -Subjects Managers |
PowerShell İle Fine Grained Password Policy (FGPP) Oluşturma işlemini tamamlamış olduk.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.