Aracılığıyla paylaş


Parola İlkesi

Şunlar için geçerlidir: SQL Server

SQL Server, Windows parola ilkesi mekanizmalarını kullanabilir. Parola ilkesi, SQL Server kimlik doğrulaması kullanan bir oturum açma bilgileri ve parola içeren bir veritabanı kullanıcısı için geçerlidir.

SQL Server, WINDOWS'ta kullanılan karmaşıklık ve süre sonu ilkelerini SQL Server içinde kullanılan parolalara uygulayabilir. Bu işlev API'ye NetValidatePasswordPolicy bağlıdır.

Uyarı

Azure SQL Veritabanı parola karmaşıklığını zorlar. Parola süresi dolma ve ilke uygulama bölümleri Azure SQL Veritabanı için geçerli değildir.

Azure SQL Yönetilen Örnek parola ilkesi hakkında bilgi için bkz. SQL Yönetilen Örnek SSS.

Parola Karmaşıklığı

Parola karmaşıklığı ilkeleri, olası parola sayısını artırarak deneme yanılma saldırılarını caydıracak şekilde tasarlanmıştır. Parola karmaşıklığı ilkesi uygulandığında, yeni parolaların aşağıdaki yönergeleri karşılaması gerekir:

  • Parola kullanıcının hesap adını içermiyor.

  • Parola en az sekiz karakter uzunluğundadır.

  • Parola, aşağıdaki dört kategoriden üçünün karakterlerini içerir:

    • Latin büyük harfler (A-Z)

    • Latin küçük harfler (a-z)

    • Temel 10 basamak (0-9)

    • Ünlem işareti (!), dolar işareti ($), sayı işareti (#) veya yüzde (%) gibi önemli olmayan karakterler.

Parolalar en çok 128 karakter uzunluğunda olabilir. Mümkün olduğunca uzun ve karmaşık parolalar kullanın.

Parola Süre Sonu

Parola süre sonu ilkeleri, parolanın kullanım süresini yönetmek için kullanılır. SQL Server parola süre sonu ilkesini zorunlu kıldığında, kullanıcılara eski parolaları değiştirmeleri anımsatılır ve süresi dolmuş parolaları olan hesaplar devre dışı bırakılır.

Politika Uygulama

Parola ilkesinin uygulanması, her SQL Server oturum açma işlemi için ayrı olarak yapılandırılabilir. SQL Server oturum açma bilgilerinin parola ilkesi seçeneklerini yapılandırmak için ALTER LOGIN kullanın. Parola politikası uygulaması için aşağıdaki kurallar geçerlidir:

  • CHECK_POLICY ON olarak değiştirildiğinde aşağıdaki davranışlar gerçekleşir:

    • CHECK_EXPIRATION açıkça KAPALI olarak ayarlanmadığı sürece AÇIK olarak da ayarlanır.

    • Parola geçmişi, geçerli parola karması değeriyle başlatılır.

    • Hesap kilitleme süresi, hesap kilitleme eşiği ve hesap kilitleme sayacını sıfırladıktan sonra da etkinleştirilir.

  • CHECK_POLICY KAPALI olarak değiştirildiğinde aşağıdaki davranışlar oluşur:

    • CHECK_EXPIRATION de KAPALI olarak ayarlanır.

    • Parola geçmişi temizlendi.

    • lockout_time'ün değeri sıfırlanır.

İlke seçeneklerinin bazı bileşimleri desteklenmez.

  • MUST_CHANGE belirtilirse, CHECK_EXPIRATION ve CHECK_POLICY ON olarak ayarlanmalıdır. Aksi takdirde, deyimi başarısız olur.

  • CHECK_POLICY KAPALI olarak ayarlanırsa CHECK_EXPIRATION ON olarak ayarlanamaz. Bu seçenek bileşimine sahip ALTER LOGIN deyimi başarısız olur.

  • CHECK_POLICY = ON ayarı şu parolaların oluşturulmasını engeller:

    • Null veya boş

    • Bilgisayar adı veya oturum açma adıyla aynı

    • Aşağıdakilerden herhangi biri: password, admin, administrator, sa, sysadmin

Güvenlik ilkesi Windows'ta ayarlanmış veya etki alanından alınmış olabilir. Bilgisayardaki parola ilkesini görüntülemek için Yerel Güvenlik İlkesi MMC ek bileşenini (secpol.msc) kullanın.

Uyarı

CHECK_POLICY etkinleştirilmiş SQL Server oturum açma işlemleri için ALTER LOGIN komutunu çalıştırırsanız ve parolayı değiştirmek için komutuna OLD_PASSWORD eklemezseniz Parola Geçmişini Zorla yoksayılır. Bu, daha önce kullanılan parolalara rağmen parola sıfırlamalarına izin vermek için tasarım gereği bir davranıştır. uzunluk ve karmaşıklık dahil olmak üzere CHECK_POLICY ile ilişkili diğer denetimler, OLD_PASSWORD kullanılıp kullanılmadığına bakılmaksızın denetleniyor.

SQL kullanıcı parolası ilke bilgilerini denetleme

AŞAĞıDAKI sorguyu kullanarak SQL Server'da SQL kullanıcı parola ilkelerini ve son kullanma tarihlerini gözden geçirebilirsiniz. Aşağıdaki sorgu Azure SQL Veritabanı'nda da çalışsa da, Azure SQL Veritabanı'nda yalnızca parola karmaşıklığı uygulanır.

SELECT name,
    is_policy_checked,
    is_expiration_checked,
    LOGINPROPERTY(name, 'IsMustChange') AS IsMustChange,
    LOGINPROPERTY(name, 'IsLocked') AS IsLocked,
    LOGINPROPERTY(name, 'LockoutTime') AS LockoutTime,
    LOGINPROPERTY(name, 'PasswordLastSetTime') AS PasswordLastSetTime,
    LOGINPROPERTY(name, 'IsExpired') AS IsExpired,
    LOGINPROPERTY(name, 'BadPasswordCount') AS BadPasswordCount,
    LOGINPROPERTY(name, 'BadPasswordTime') AS BadPasswordTime,
    LOGINPROPERTY(name, 'HistoryLength') AS HistoryLength,
    modify_date
FROM sys.sql_logins;

CREATE LOGIN - Giriş Oluştur

ALTER LOGIN

KULLANICI OLUŞTUR

KULLANICIYI DEĞİŞTİR

Oturum açma oluşturma

Veritabanı kullanıcısı oluşturma