Windows Server 2008 Active Directory Fine-Grained Password Policies
Bu makalemizde Windows Server 2008 Active Directory Servislerinde gelen fine-grained password policies konusu ile ilgili detayları sizlerle paylaşıyor olacağım.
Server 2008 öncesi işletim sistemlerinde active domain yapısı için yalnızca tek bir password policy uygulanabiliyordu ve onu da domain seviyesinden uygulayabiliyorduk. Ve bu uygulanan policy’de domain içerisindeki tüm kullanıcılara etki ediyordu. Password policy ayarları içerisinde kullanıcıların kullanacakları şifrenin minimum karakter sayısı, yenilenme süresi, kompleks olma özelliği gibi kuralları içermektedir. Çoğu sektördeki sistem yöneticiler password policy ayarlarının OU seviyesinden de uygulanarak sadece o OU içerisindeki kullanıcıları etkilediğini düşünürler ki, bu düşünce tamamen yanlıştır. Domain altındaki OU’lar üzerinden uygulanan password policy ayarları sadece o OU içerisinde bulunan bilgisayarların yerel kullanıcı hesaplarını(local user account) etkilemektedir.
Windows Server 2008 ile gelen fine grained password policies (FGPP) yeteneği sayesinde password policy uygulanmasındaki eski sınırlama kaldırılmıştır. FGPP yeteneği nin kullanılabilmesi için domain içerisindeki tüm domain controller bilgisayarları Windows 2008 versiyonunda olmalı ve domain fonksiyonel seviyesi DFL3’e (Server 2008) yükseltilmelidir. DFL3 seviyesi domain içerisindeki kullanıcılar için farklı password policy uygulamalarının OU seviyesinde yapılabilmesine hala imkan vermemektedir. Fakat DFL3 seviyesi ile doğrudan kullanıcıya ya da gruba farklı password policy ayarlamalarının yapılabilmesine imkan vermektedir. FGPP yeteneği sadece password policy kuralları değil aynı zamanda hesap kilitlenme (account lockout) ayarlamaları yapmaya da imkan vermektedir. Böylece hassas hesaplar için daha az sayıda yanlış giriş denemesi ayarlanarak, hesapları daha hızlı kilitlenebilmektedir. Yönetim açısında policylerin kullanıcı seviyesi yerine grup seviyesinde uygulanmasını tavsiye ediyoruz.
Eğer kullanıcı birden fazla gruba üyeyse ve her gruptan farklı policy geliyorsa, Windows 2008 içerisinde kullanıcı için hangi policy’nin geçerli olacağına karar verebilme yeteneğine sahiptir. Eğer gerek kullanıcı için, gerekse de kullanıcının üye olduğu gruplar için herhangi bir password policy uygulanmamışsa, bu durumda kullanıcı için domain seviyesinden uygulanan password policy geçerli olacaktır. Bu özellikler sayesinde şirketler esnek bir yapıda password policy tanımlaması yapabilirler. Çoğu şirket Windows 2008 öncesi sistemlerdeki tek seviyeden tek bir password policy sınırlamasıyla yaşamaya alışmış olmasına rağmen, bazı şirketler de farklı password policy uygulamaları için ayrı domain yapıları kurarak ya da yüksek fiyatlı üçüncü parti yazılımlar satın alarak çözüme gitmişlerdi. Server 2008 ile artık bütün bunların yerini FGPP yeteneği aldı. Dolayısıyla sırf farklı password policy uygulamasından dolayı farklı domain kuran organizasyonlar mevcut yapılarını konsolide ederek tek bir domain içerisinde toplayarak hem yönetimsel yüklerini hem de donanımsal maliyet yüklerini azaltmış olacaklardır. Hemen hemen çoğu şirket yönetimsel yetkilere sahip ya da uygulamaların servis hesapları için kullanılan kullanıcı hesapları için daha güçlü güvenlik policyleri uygulamak isterler.
FGPP uygulanması active directory system kabı içerisindeki Password Settings Container içerisinde Password Settings Objects (PSOs) nesneleri kullanılarak gerçekleştirilmektedir. PSOs yönetimi için şu anda Microsoft tarafından çıkarılan bir grafiksel araç mevcut değil. PSOs uygulaması şu an itibariyle ADSIEDIT aracı kullanılarak gerçekleştirilmektedir. PSOs uygulaması için çok kullanışlı bir grafiksel araç olmamasına rağmen, her domain controller üzerinde otomatik olarak yüklendiği için şu an ADSIEDIT aracı ile yetinmek durumundayız. Tabii internet üzerinde PSOs yönetimi için üçüncü parti ücretsiz yazılımları da indirip kullanabilirsiniz. Zaman içerisinde Microsoft da PSOs için bir grafiksel arayüz ya da Powershell komut satırı ile daha kullanışlı bir araç sağlayacaktır.
ADSIEDIT Kullanılarak PSOs Oluşturulması
ADSIEDIT kullanılarak beş adımda PSOs oluşturulmasını gerçekleştirebilirsiniz:
Öncelikle domain içerisindeki tüm domain controller bilgisayarlarının Windows 2008 işletim sisteminde çalıştığından ve domain fonksiyonel seviyesinin Server 2008 modunda olduğundan emin olun. Domain fonksiyonel seviyesinin kontrolünü Active Directory Users and Computers içerisinden yapabilirsiniz.
ADSIEDIT .msc komutu ile ADSIEDIT aracını başlatın ve domain veritabanınıza (dc=domain adınız) bağlanın. Daha sonra CN=Password Settings Container, CN=System,DC=domainadınız konumuna gelin.
Password Settings Container nesnesi üzerinde sağ tuşa basıp New àObject tıklayın.
Create Object sihirbazını kullanarak yeni bir msDs-PasswordSettings nesnesi oluşturun. Nesneyi oluştururken aşağıdaki tabloda listelenmiş değerleri kullanın.
ADSIEdit konsolu içerisinde oluşturduğumuz PSO nesnesinin özelliklerinden msDS-PSOAppliesTo özniteliğinin değerinden PSO’nin uygulanacağı kullanıcı ya da grubu göstererek gerçekleştirebilirsiniz. Örneğin ben Admins isimli bir grup oluşturmuştum, onu kullanacağım.
Bu adımlar sonrasında Admins grubu üyesi olan bir kullanıcının şifresi değiştirilmek istendiğinde oluşturulan PSO nesnesinde yukarıdaki tabloda uygulanan gereksinimleri karşılaması gerektiğini kontrol edin.
PSOs ve ADSIEDIT hakkında aşağıdaki makalelerden de detaylı bilgi alabilirsiniz:
ADSIedit Overview
http://technet2.microsoft.com/WindowsServer/en/library/ebca3324-5427-471a-bc19-9aa1decd3d401033.mspx?mfr=true
PSOMgr
http://joeware.net/freetools/tools/psomgr/
View a Resultant PSO for a User or a Global Security Group (desget command with effective pso option)
http://technet2.microsoft.com/windowsserver2008/en/library/21a35cbb-398d-4ab4-a6f8-39b76fb0323b1033.mspx?mfr=true