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.
Fine-Grained Password Policies (FGPP), Active Directory'deki standart Domain Password Policy kısıtlamalarını aşarak, belirli kullanıcı grupları için farklı parola kuralları tanımlamaya imkan tanır. Tek bir Password Policy ile yetinmek yerine, departman bazlı, erişim seviyesine göre veya özel ihtiyaçlara uygun şekilde parola politikaları oluşturulabilir. Örneğin, kritik sistemlere erişimi olan hesaplar için daha karmaşık ve sık değişen parolalar zorunlu kılınırken, düşük riskli hesaplar için daha esnek kurallar tanımlanabilir.
Esneklik, Fine-Grained Password Policy'nin en güçlü yanlarından biridir. Standart Domain Password Policy sadece tek bir parola politikası sunarken, FGPP sayesinde aynı Active Directory ortamında birden fazla parola politikası uygulanabilir. Bu, özellikle Service Account, yüksek yetkili hesaplar ve sıradan kullanıcı hesapları için farklı güvenlik seviyeleri oluşturmayı mümkün kılar. Böylece her kullanıcı için gereksinimlere uygun parola gereksinimleri belirlenebilir.
Merkezi yönetim avantajı da göz ardı edilemez. AD Administrative Center veya PowerShell üzerinden Password Settings Object (PSO) kullanılarak yönetilen FGPP, farklı kullanıcı gruplarına veya Security Group'lara doğrudan atanabilir. Böylece, belirli bir Organizational Unit (OU) içinde yer alan tüm kullanıcılar yerine sadece belirlenen hesaplara uygulanması sağlanır. Ayrıca, aynı kullanıcı birden fazla FGPP ile ilişkilendirildiğinde, msDS-PasswordSettingsPrecedence değeri devreye girer ve en düşük önceliğe sahip olan politika uygulanır.
Denetim ve güvenlik açısından da büyük avantajlar sunar. Standart Domain Password Policy'nin tek boyutlu yapısı yerine, FGPP ile özel hesaplar için daha sıkı güvenlik önlemleri alınabilir. Özellikle saldırı yüzeyini küçültmek, parola sıklığını artırmak ve güvenlik açıklarını azaltmak isteyenler için büyük bir fark yaratır. Uygulama sırasında ADSIEDIT.msc veya Get-ADFineGrainedPasswordPolicy gibi araçlarla detaylı inceleme yapılması, doğru yapılandırıldığını doğrulamak açısından önemlidir.
Fine-Grained Password Policies, Active Directory parola yönetiminde statik yapıdan dinamik ve özelleştirilebilir bir yapıya geçiş sağlar. Doğru şekilde kullanıldığında, organizasyonun ihtiyaçlarına göre optimize edilmiş parola politikaları ile güvenlik seviyesi yükseltilebilir ve yönetim süreci çok daha kontrollü hale getirilebilir.
Ö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.

Password Settings Object (PSO) Ayarları
Password Settings Object (PSO) Ayarları, Active Directory ortamında kullanıcıların parola yönetimi üzerinde daha hassas ve esnek bir kontrol sağlamak amacıyla kullanılan bir yapılandırmadır. PSO, özellikle Fine-Grained Password Policy (FGPP) olarak bilinen mekanizma ile birlikte çalışarak, belirli kullanıcı grupları veya bireysel kullanıcılar için özelleştirilmiş parola politikaları oluşturulmasına olanak tanır. Bu, geleneksel Group Policy Object (GPO) yapısına kıyasla daha ayrıntılı ve kişiselleştirilmiş parola gereksinimleri uygulamak isteyen organizasyonlar için kritik bir avantaj sağlar.
PSO ayarları, bir kullanıcının veya grubun parolasının minimum ve maksimum uzunluğu, karmaşıklık gereksinimleri, geçmişte kullanılan parolaların tekrar kullanımını önleme gibi birçok parametreyi özelleştirme imkanı sunar. Bu sayede, organizasyonlar, farklı güvenlik seviyeleri gerektiren kullanıcılar veya gruplar için ayrı ayrı politikalar tanımlayabilir, böylece daha dinamik ve güvenli bir parola yönetimi sağlanmış olur. Ayrıca, PSO’lar, kullanıcı veya grup seviyesinde uygulandığı için, genel organizasyon politikalarından bağımsız olarak çalışabilir ve güvenliği artırmak adına stratejik olarak kullanılabilir.
1. Name
Her FGPP için benzersiz bir isim atanır. Bu isim, PSO'yu tanımlarken kolaylık sağlar ve yönetimi kolaylaştırır.
Örneğin, PowerShell ile New-ADFineGrainedPasswordPolicy TestFGPP_POL01 komutu kullanılarak bir FGPP oluşturulabilir. Bu ad, FGPP’nin diğer PSO'lar arasında ayırt edilmesine yardımcı olur.
2. Precedence
Precedence, FGPP'lerin öncelik seviyesini belirler. Eğer bir kullanıcı veya grup birden fazla PSO’ya uygunsa, en düşük Precedence değeri olan PSO geçerli olur. Bu, kullanıcıya hangi PSO’nun uygulanacağını kontrol etmenin en önemli yoludur.
PowerShell ile -Precedence 1 parametresi kullanılarak en yüksek öncelikli PSO atanabilir. Precedence değeri düşük olan PSO, diğerlerinden önce gelir ve böylece en hassas politikaların uygulanması sağlanır.
3. Minimum Password Length
Parolanın sahip olması gereken minimum karakter sayısını belirler. Güvenlik gereksinimlerine bağlı olarak, parola uzunluğunun artırılması önerilir.
PowerShell komutunda -MinPasswordLength 7 parametresi ile parolanın en az 7 karakterden oluşması sağlanır. Minimum karakter uzunluğunun artırılması, brute.force saldırılara karşı ek bir güvenlik katmanı sağlar.
4. Number of Passwords Remembered
Bu ayar, kullanıcının daha önce kullandığı kaç parolayı tekrar kullanamayacağını belirler.
PowerShell komutunda -PasswordHistoryCount 3 parametresi ile en son kullanılan üç parolanın tekrar kullanımını engellemek mümkündür. Bu özellik, kullanıcıların aynı parolaları tekrar tekrar kullanmasını önler ve böylece parola güvenliğinin artmasını sağlar.
5. Password Must Meet Complexity Requirements
Parolanın belirli bir karmaşıklık düzeyine sahip olup olmayacağını belirler. Etkinleştirildiğinde, parola büyük harf, küçük harf, rakam ve özel karakterlerden en az üçünü içermelidir.
PowerShell komutunda -ComplexityEnabled $true parametresi ile bu gereksinim etkinleştirilebilir. Parolanın karmaşıklık gereksinimleri karşılaması, parola kırılma olasılığını düşürerek güvenliği artırır.
6. Store Password Using Reversible Encryption
Bu seçenek, parolanın düz metin modunda saklanmasına benzer bir şifreleme yöntemiyle veritabanında tutulmasını sağlar. Güvenlik açısından riskli bir ayardır ve genellikle etkinleştirilmemesi önerilir.
PowerShell komutunda -ReversibleEncryptionEnabled $false parametresi ile bu özellik devre dışı bırakılır. Reversible Encryption sadece belirli eski uygulamalar için kullanılmalıdır.
7. User Cannot Change the Password Within (Days)
Bu parametre, kullanıcının parolasını değiştirebilmesi için geçmesi gereken minimum gün sayısını belirler.
PowerShell komutunda -MinPasswordAge 1.00:00:00 (1 gün) şeklinde ayarlanabilir. Bu süre, kullanıcıların sürekli olarak parola değiştirerek güvenlik politikalarını aşmasını önler.
8. User Must Change the Password After (Days)
Parolanın maksimum kullanım süresini tanımlar ve kullanıcıya bu süre dolduğunda parolasını değiştirmesi gerektiğini bildirir.
PowerShell komutunda -MaxPasswordAge 90.00:00:00 (90 gün) olarak yapılandırılabilir. Bu ayar, düzenli parola değişimlerini zorunlu kılarak uzun süre aynı parolanın kullanımını engeller.
9. Number of Failed Logon Attempts Allowed
Yanlış parola girildiğinde kaç kez giriş denemesi yapılabileceğini belirler. Belirlenen limit aşıldığında hesap kilitlenir.
PowerShell komutunda -LockoutThreshold 3 ile yapılandırılabilir. Bu ayar, brute.force saldırılarına karşı koruma sağlar.
10. Reset Failed Logon Attempts Count After (Minutes)
Yanlış giriş denemelerinin sayaç sıfırlanma süresini belirler. Belirtilen süre sonunda, başarısız oturum açma sayacı sıfırlanır.
PowerShell komutunda -LockoutObservationWindow 00:10:00 (10 dakika) şeklinde ayarlanabilir. Bu süre, saldırıların ardışık denemeler yapmasını zorlaştırır.
11. Account Will Be Locked Out
» For a Duration of (Minutes): Kilitlenen hesabın belirtilen süre sonunda otomatik olarak açılmasını sağlar. PowerShell komutunda -LockoutDuration 00:10:00 (10 dakika) olarak yapılandırılabilir. Bu süre dolduğunda, kullanıcı hesabı otomatik olarak tekrar aktif hale gelir.
» Until an Administrator Manually Unlocks the Account: Kilitlenen hesabın manuel olarak yönetici tarafından açılmasını sağlar.
PowerShell komutunda -LockoutDuration 00:00:00 kullanılarak yapılandırılır. Yüksek güvenlik gereksinimi olan ortamlarda bu seçenek kullanılarak hesabın sadece bir yönetici tarafından açılması sağlanabilir.
PSO'yu Kullanıcı veya Grup Atama
Oluşturulan PSO'yu bir kullanıcıya veya Global Security Group'a atamak için PowerShell kullanılır. Bu işlem, FGPP'nin sadece belirli kullanıcılara veya gruplara uygulanmasını sağlar.
Örneğin, belirli bir kullanıcıya PSO atamak için ilgili PowerShell komutunu çalıştırarak gerekli yapılandırma tamamlanır.
Bu detaylar doğrultusunda, FGPP yapılandırması, her bir parametrenin dikkatlice ayarlanmasını ve yönetilmesini gerektirir. Güvenliği sağlamak için bu yapılandırmaların düzenli olarak gözden geçirilmesi ve gerekirse güncellenmesi önemlidir.
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 |



Fine-Grained Password Policy (FGPP) yapılandırmasının, Active Directory ortamında güvenliğin sağlanması ve kullanıcıların kimlik doğrulama süreçlerinin daha hassas hale getirilmesi için kritik bir adım olduğu açıktır. Bu makalede, FGPP’nin doğru ve detaylı bir şekilde nasıl yapılandırılabileceğini ele aldık. FGPP, esnek ve kullanıcı gruplarına özel parola politikalarının oluşturulmasına olanak tanıyarak, hem organizasyonel güvenlik standartlarını yükseltir hem de sistem yöneticilerine yönetim kolaylığı sağlar.
Kullanıcı bazında veya belirli gruplara yönelik parola politikalarının tanımlanması, geniş kapsamlı bir güvenlik yaklaşımı benimseyen organizasyonlar için olmazsa olmaz bir unsurdur. Bu tür yapılandırmaların doğru uygulanması, parola karmaşıklık gereksinimlerinin karşılanmasını, hesap kilitleme politikalarının etkin şekilde devreye alınmasını ve güvenlik tehditlerine karşı dayanıklı bir altyapı oluşturulmasını sağlar. Bu süreçte, her bir parametrenin doğru yapılandırılması, FGPP’nin sistem genelinde etkili olmasını ve organizasyonun güvenlik hedeflerini karşılamasını mümkün kılar.
FGPP’yi yönetirken, her bir PSO'nun öncelik sıralaması ve kullanıcı veya grup atamalarının dikkatlice planlanması, özellikle büyük ölçekli ortamlarda karmaşıklıkların önüne geçmek açısından önem taşır. Bu yapılandırma, organizasyonların parola güvenliği konusundaki standartlarını artırmakla kalmaz, aynı zamanda yönetim süreçlerinde esneklik sağlar.
Sonuç olarak, bu makalede detaylandırılan adımları uygulayarak, Active Directory ortamınızda FGPP’nin etkili bir şekilde hayata geçirilebileceğini, yönetim kolaylığının ve güvenliğin aynı anda sağlanabileceğini net bir şekilde görebiliriz. Organizasyonlar için parola güvenliği ve kimlik doğrulama süreçlerinin güçlendirilmesi yolunda atılan bu adım, uzun vadede güvenlik standartlarını yükseltecek ve operasyonel süreçleri daha verimli hale getirecektir.
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.