MSSQL Server Parola Politikası

Bu makalede Sql Server Parola politikasını detaylı bir şekilde ele almış olacağız. Sql serverda  Windows Authentication ve  Sql Authentication ile  bir login oluşturduğumuzda eğer Windows Authentication mod seçilmişse domain üzerinde parola politikasını, Sql Authentication ile login oluşturma seçeneği seçilmişse  Sql Server’ın kurulu olduğu sunucu üzerindeki parola politikasını kullanır. Güvenlik açısından tercih edilen bir yöntemdir.

Windows Authentication ile login oluşturmak istediğimizde Active Directory sunucusundaki parola politikalarına göre hareket etmektedir.

Sql Authentication ile login oluşturmak istediğimizde ise Sql Server’ın kurulu olduğu sunucudaki parola politikasını kullanır.

Sql Server’ın kurulu olduğu sunucudaki parola politikalarını kullanmasını istiyorsak yukardaki resimde işaretlenmiş olan Enforce password policy kısmının kesin olarak işaretlenmesi  gerekmektedir. Enforce password policy kullanmış olduğu tüm Windows politikalarını aşağıda açıklamış olacağız. İlk başta diğer iki seçeneğin ne olduğunu aşağıda değineyim.

Enforce password expiration ifadesi bir parolanın ömrünü yönetmek için kullanılır. Parolanın belirli bir süre sonra değiştirilmesini zorunlu kılar ve parolaların kullanıcıları disable olur.

User must change password at next login   ifadesi ise kullanıcı ilk giriş yaptığında parola değiştirmeye zorlamaktadır.

Bu bilgilerden sonra sql server’ın parola potikalarında kullandığı politikaların ne işe yaradığına değinelim. Bunun için Windows arama kısmında Run> gpedit.msc yazıyoruz. Ya da secpol.msc’de yazabiliriz.

Gelen ekranda Local Computer Policy>Windows Settings>Security Settings>Account Policies>Password Policy   kısmında Sql Authentication ile login oluşturacağımız zaman Enforce password history kısmının seçildiğinde arka planda Windows üzerinde tanımlanan policy’leri kullanır. Şimdi bu kavramların ne işe yaradığına değinelim.

Yukarıdaki kavramların ne işe yaradığına değinelim.

Enforce password history : Kullanıcının önceden kullanmış olduğu parolaların kaçını kayıt altında tutmasını istiyorsak bu kısımda rakam olarak sayının  belirtilmesi gerekiyor. Hatırlanan parolalar parola yenileme işleminde yeniden kullanılamazlar. Kullanıcıların eski parolalarını kullanmasını engellemek için kullanılan bir yapı olarak karşımıza çıkmaktadır. Son kullanılan kaç parolanın kullanılması istenmiyorsa o değer tanımlanır. Resimde de görüldüğü gibi default olarak son 24 parolayı hatırlar.

Maximum password age : Parolanın maksimum geçerlilik süresi gün bazında ayarlanır. Bu sürenin sonunda sistem kullanıcıdan parolasını değiştirmesini ister. Böylece kullanıcıların düzenli olarak parola değiştirmesi sağlanır. Default  değeri 42 gündür.

Minimum password age : Kullanıcıların parolalarını ne sıklıkla değiştirebileceğini belirler. Bu yapılandırma kullanıcının parolasını birçok defa değiştirip parolayı Active Directory’nin hatırladığı parolalar arasından çıkararak eski parolasını tekrar almasını engeller. Varsayılan olarak 1 gündür.

Minimum password length : Kullanılabilecek en kısa parola uzunluğudur. En az 8 karakter olması önerilir. Varsayılan olarak 7 karakterdir.

Password must meet complexity requirements : Parolanın karmaşıklık gereksinimlerinin karşılanmasını sağlar. Bu yapılandırma etkinse,Kullanıcılar parolanın herhangi bir yerinde hesap adını ve adını kullanamaz. Adın iki karakterinin arka arkaya kullanılmasına izin verilmez. Parolada sayılar, büyük harfler, küçük harfler ve özel karakterlerden en az üç türü kullanılmalıdır. Parolalar en az 6 karakter uzunluğunda olmalıdır. Varsayılan olarak etkindir.

Store passwords using reversible encryption : Kullanıcı parolaları Active Directory veritabanında şifrelenmiş olarak saklanır. Fakat bazı durumlarda bazı uygulamalara kullanıcı parolalarına erişim yetkisi verilmesi gerekebilir. Bu gibi istinai durumlarda bu yapılandırma etkin hale getirilebilir. Fakat bu yapılandırma etkin hale getirilirse parolalar daha az korunur. Domain Controller güvenliği ihlal edilip parola veritabanına erişilebilmesi riski mevcuttur. Varsayılan olarak Devre Dışı’dır.

Belirtilen kısımlarda bir değişiklik yapmaya çalıştığımda ilgili bölümlerin pasif olduğunu göstermektedir. Aşağıdaki resimde de pasif olduğu görülmektedir.

Aktif olmamasının sebebi  sunucumun bir domain’e dahil olmasından dolayıdır. İlgili domaindeki policyleri kullanmaktadır. Bu yapıyı domain sunucusunda iptal edilip kendi sunucumuz üzerinden de yapabiliriz.

Tüm SQL Server logins’lerini ve parola politikası ayarlarını görmek isterseniz aşağıdaki komutu kullanmanız yeterli olacaktır.

SELECT name, type_desc, is_disabled, is_policy_checked, is_expiration_checked
FROM sys.sql_logins;

is_disabled = 1 → Login devre dışı bırakılmış (DISABLE edilmiş).
is_policy_checked= 1 → Windows parola politikası (Account Lockout, Minimum Length vb.) uygulanıyor.
is_expiration_checked= 1 → Parola süresi dolduğunda değiştirilmesi gerekiyor.

Bu makalede Sql Server Parola Politikasını ele almış olduk. Başka bir makalede görüşmek dileğiyle.

“Andolsun zamana ki, insan gerçekten ziyan içindedir. Ancak, iman edip de sâlih ameller işleyenler, birbirlerine hakkı tavsiye edenler, birbirlerine sabrı tavsiye edenler başka (Onlar ziyanda değillerdir).” Asr 1-3

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir