Freigeben über


Kennwortrichtlinie

Gilt für:SQL Server

SQL Server kann die Kennwortrichtlinienmechanismen von Windows verwenden. Die Kennwortrichtlinie gilt für eine Anmeldung, die die SQL Server-Authentifizierung verwendet, und für einen eigenständige Datenbankbenutzer mit Kennwort.

SQL Server kann die in Windows verwendeten Komplexitäts- und Ablaufrichtlinien auf in SQL Server verwendete Kennwörter anwenden. Diese Funktion basiert auf der NetValidatePasswordPolicy -API.

Hinweis

Azure SQL-Datenbank erzwingt die Kennwortkomplexität. Die Abschnitte "Passwortablauf" und "Richtlinienerzwingung" gelten nicht für Azure SQL-Datenbank. Informationen zur Kennwortrichtlinie für Azure SQL Managed Instance finden Sie in den Häufig gestellten Fragen zu SQL Managed Instance.

Kennwortkomplexität

Richtlinien zur Kennwortkomplexität werden als Maßnahme gegen Brute Force-Angriffe entworfen. Dabei wird die Anzahl der möglichen Kennwörter erhöht. Wenn eine Richtlinie zur Kennwortkomplexität erzwungen wird, müssen neue Kennwörter die folgenden Richtlinien erfüllen:

  • Das Kennwort enthält nicht den Kontonamen des Benutzers.

  • Das Kennwort ist wenigstens acht Zeichen lang.

  • Das Kennwort enthält Zeichen aus drei der folgenden vier Kategorien:

    • Lateinische Großbuchstaben (A bis Z)
    • Lateinische Kleinbuchstaben (a bis z)
    • Basis 10 Ziffern (0 bis 9)
    • Nichtalphanumerische Zeichen wie: Ausrufezeichen (!), Dollarzeichen ($), Nummernzeichen (#) oder Prozent (%).

Kennwörter können bis zu 128 Zeichen lang sein. Verwenden Sie möglichst lange und komplexe Kennwörter.

Ablauf des Kennworts

Richtlinien zum Ablauf von Kennwörtern werden verwendet, um die Lebensdauer von Kennwörtern zu verwalten. Wenn SQL Server die Richtlinie zum Ablauf von Kennwörtern erzwingt, werden Benutzer daran erinnert, alte Kennwörter zu ändern. Konten mit abgelaufenen Kennwörtern werden deaktiviert.

Durchsetzung von Richtlinien

Das Erzwingen der Kennwortrichtlinie kann für jede SQL Server-Anmeldung einzeln konfiguriert werden. Verwenden Sie ALTER LOGIN , um die Kennwortrichtlinienoptionen einer SQL Server-Anmeldung zu konfigurieren. Die folgenden Regeln gelten für die Konfiguration zur Erzwingung der Kennwortrichtlinie:

  • Wenn CHECK_POLICY in ON geändert wird, treten die folgenden Verhaltensweisen auf:

    • CHECK_EXPIRATION ist auch auf ON festgelegt, es sei denn, es ist explizit auf OFF eingestellt.
    • Der Kennwortverlauf wird mit dem Wert des aktuellen Kennworthashes initialisiert.
    • Kontosperrdauer, Kontensperrungsschwelle und Zurücksetzungsdauer des Kontosperrungszählers sind ebenfalls aktiviert.
  • Wenn CHECK_POLICY in OFF geändert wird, treten die folgenden Verhaltensweisen auf:

    • CHECK_EXPIRATION ist auch auf OFF gesetzt.
    • Der Kennwortverlauf wird gelöscht.
    • Der Wert von lockout_time wird zurückgesetzt.

Einige Kombinationen von Richtlinienoptionen werden nicht unterstützt.

  • Wenn MUST_CHANGE angegeben ist, müssen CHECK_EXPIRATION und CHECK_POLICY auf ON gesetzt werden. Andernfalls schlägt die Anweisung fehl.

  • Wenn CHECK_POLICY auf OFF eingestellt ist, kann CHECK_EXPIRATION nicht auf ON eingestellt werden. Eine ALTER LOGIN Anweisung, die diese Kombination von Optionen aufweist, schlägt fehl.

  • Durch die Einstellung CHECK_POLICY = ON wird die Erstellung von Kennwörtern verhindert, die folgendes sind:

    • NULL-Werte oder leere Kennwörter
    • Kennwörter, die dem Computer- oder Anmeldenamen entsprechen
    • Eines der folgenden Elemente: password, admin, administrator, sa, sysadmin

Die Sicherheitsrichtlinie kann in Windows festgelegt oder von der Domäne abgerufen werden. Um die Kennwortrichtlinie auf dem Computer anzuzeigen, verwenden Sie das MMC-Snap-In „Lokale Sicherheitsrichtlinie“ (secpol.msc).

Hinweis

Bei SQL Server-Anmeldungen, die CHECK_POLICY aktiviert haben, wird beim Ausführen von ALTER LOGIN und ohne Einschluss von OLD_PASSWORD im Befehl zum Ändern des Kennworts, der Kennwortverlauf erzwingen ignoriert. Dies ist ein beabsichtigtes Verhalten, um Kennwortzurücksetzungen trotz zuvor verwendeter Kennwörter zuzulassen. Andere Überprüfungen CHECK_POLICY, einschließlich Länge und Komplexität, werden überprüft, unabhängig davon, ob OLD_PASSWORD verwendet wird.

Überprüfung der SQL-Benutzerkennwort-Richtlinieninformationen

Sie können SQL-Benutzerkennwort-Policies und Ablaufdaten in SQL Server mit der folgenden Abfrage überprüfen. Obwohl die folgende Abfrage auch in Azure SQL Database funktioniert, wird in Azure SQL Database nur die Passwortkomplexität erzwungen.

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;