Megosztás:


Jelszóházirend

A következőkre vonatkozik:SQL Server

Az SQL Server használhatja a Windows jelszó házirend mechanizmusait. A jelszóházirend az SQL Server-hitelesítést használó bejelentkezésekre és egy jelszóval rendelkező, tárolt adatbázis-felhasználóra vonatkozik.

Az SQL Server a Windowsban használt összetettségi és lejárati szabályzatokat alkalmazhatja az SQL Serveren belüli jelszavakra. Ez a funkció az NetValidatePasswordPolicy API-tól függ.

Megjegyzés:

Az Azure SQL Database kényszeríti a jelszó összetettségét. A jelszó lejárata és a szabályzatkényszerítési szakaszok nem vonatkoznak az Azure SQL Database-re. A felügyelt Azure SQL-példány jelszószabályzatáról további információt a felügyelt SQL-példányokra vonatkozó gyakori kérdések között talál.

Jelszó összetettsége

A jelszó-összetettségi szabályzatok célja, hogy elrettentse a találgatásos támadásokat a lehetséges jelszavak számának növelésével. A jelszó-összetettségi szabályzat kényszerítésekor az új jelszavaknak meg kell felelniük az alábbi irányelveknek:

  • A jelszó nem tartalmazza a felhasználó fióknevét.

  • A jelszó legalább nyolc karakter hosszú.

  • A jelszó a következő négy kategória három karakteréből tartalmaz karaktereket:

    • Latin nagybetűk (A-tól Z-ig)
    • Latin kisbetűk (a keresztül z)
    • Alap 10 számjegy (0 keresztül 9)
    • Nonalphanumerikus karakterek, például: felkiáltójel (!), dollárjel ($), számjel (#) vagy százalék (%).

A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

Jelszó lejárata

A jelszó lejárati szabályzatai a jelszó élettartamának kezelésére szolgálnak. Amikor az SQL Server kényszeríti a jelszó lejárati szabályzatát, a rendszer emlékezteti a felhasználókat a régi jelszavak módosítására, és a lejárt jelszóval rendelkező fiókok le lesznek tiltva.

Szabályzatbetartatás

A jelszóházirend érvényesítése külön konfigurálható minden SQL Server-bejelentkezéshez. Az ALTER LOGIN használatával konfigurálhatja egy SQL Server-bejelentkezés jelszóházirend-beállításait. A jelszóházirend-kényszerítés konfigurálására a következő szabályok vonatkoznak:

  • Amikor CHECK_POLICY a ON formára változik, a következő viselkedések fordulnak elő:

    • CHECK_EXPIRATION is be van állítva ON-ra, hacsak explicit módon nincs OFF-ra állítva.
    • A jelszóelőzmények inicializálása az aktuális jelszókivonat értékével történik.
    • A fiókzárolás időtartama, a fiókzárolási küszöbérték és a fiókzárolási számláló alaphelyzetbe állítása is engedélyezve van.
  • Amikor CHECK_POLICY átvált OFF-re, a következő viselkedések jelennek meg:

    • CHECK_EXPIRATION is OFF-re van állítva.
    • A jelszóelőzmények törlődnek.
    • Az lockout_time érték visszaállítása alaphelyzetbe történik.

A szabályzatbeállítások egyes kombinációi nem támogatottak.

  • Ha MUST_CHANGE meg van adva, CHECK_EXPIRATION és CHECK_POLICY-t be kell állítani ON értékre. Ellenkező esetben az utasítás meghiúsul.

  • Ha CHECK_POLICY be van állítva OFF, akkor CHECK_EXPIRATION nem állítható be ON. A ALTER LOGIN beállítások ilyen kombinációját tartalmazó utasítás meghiúsul.

  • A beállítás CHECK_POLICY = ON megakadályozza a következő jelszavak létrehozását:

    • Null vagy üres
    • Ugyanaz, mint a számítógép neve vagy a bejelentkezési név
    • Az alábbiak bármelyike: password, admin, administrator, , sasysadmin

Előfordulhat, hogy a biztonsági szabályzat a Windowsban van beállítva, vagy a tartományból érkezik. A jelszóházirend megtekintéséhez használja a Helyi biztonsági házirend MMC beépülő modult (secpol.msc).

Megjegyzés:

Az engedélyezett SQL Server-bejelentkezések CHECK_POLICY esetében, ha ALTER LOGIN-t futtat, és nem szerepel OLD_PASSWORD a jelszó módosítására szolgáló parancsban, akkor a rendszer figyelmen kívül hagyja a jelszóelőzmények kényszerítése parancsot. Ez egy olyan tervezési viselkedés, amely lehetővé teszi a jelszó-visszaállítást a korábban használt jelszavak ellenére. A rendszer minden, a hosszra és összetettségre vonatkozó egyéb ellenőrzést is elvégez, függetlenül attól, hogy a OLD_PASSWORD használatban van-e.

Az SQL felhasználói jelszóházirend-adatainak ellenőrzése

Az SQL Serveren az alábbi lekérdezéssel áttekintheti az SQL felhasználói jelszószabályzatait és lejárati dátumát. Bár a következő lekérdezés az Azure SQL Database-ben is működik, csak a jelszó összetettségét kényszeríti ki az Azure SQL Database.

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;