Teilen ü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 zum Ablauf von Kennwörtern und zur Durchsetzung von Richtlinien gelten nicht für die 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 - Z)

    • Lateinische Kleinbuchstaben (a - z)

    • Base 10-Ziffern (0 bis 9)

    • Nicht alphanumerische Zeichen, wie z. B.: Ausrufezeichen (!), Dollarzeichen ($), Nummernzeichen (#) oder Prozentzeichen (%)

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.

richtliniendurchsetzung

Das Erzwingen der Kennwortrichtlinie kann für jede SQL Server-Anmeldung einzeln konfiguriert werden. Verwenden Sie ALTER LOGIN (Transact-SQL) , um die Kennwortrichtlinienoptionen für eine 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, kommt es zu folgenden Verhaltensweisen:

    • Für CHECK_EXPIRATION wird ebenfalls ON festgelegt, es sei denn, der Wert OFF wurde ausdrücklich festgelegt.

    • Der Kennwortverlauf wird mit dem Wert des aktuellen Kennworthashes initialisiert.

    • Kontosperrdauer, Kontensperrungsschwelleund Zurücksetzungsdauer des Kontosperrungszählers sind ebenfalls aktiviert.

  • Wenn CHECK_POLICY in OFF geändert wird, kommt es zu folgenden Verhaltensweisen:

    • CHECK_EXPIRATION wird ebenfalls auf OFF festgelegt.

    • Der Kennwortverlauf wird gelöscht.

    • Der Wert von lockout_time wird zurückgesetzt.

Einige Kombinationen von Richtlinienoptionen werden nicht unterstützt.

  • Falls MUST_CHANGE angegeben wird, müssen CHECK_EXPIRATION und CHECK_POLICY auf ON festgelegt werden. Andernfalls schlägt die Anweisung fehl.

  • Falls CHECK_POLICY auf OFF festgelegt ist, kann CHECK_EXPIRATION nicht auf ON festgelegt werden. Eine ALTER LOGIN-Anweisung mit dieser Kombination von Optionen erzeugt einen Fehler.

  • Durch Festlegen von CHECK_POLICY = ON wird verhindert, dass Kennwörter mit einem dieser Inhalte erstellt werden können:

    • 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, bei denen CHECK_POLICY aktiviert ist und Sie ALTER LOGIN ausführen und dabei nicht OLD_PASSWORD in den Befehl einschließen, um das Kennwort zu ändern, wird Kennwortverlauf erzwingen ignoriert. Dies ist ein beabsichtigtes Verhalten, um Kennwortzurücksetzungen trotz zuvor verwendeter Kennwörter zuzulassen. Andere mit CHECK_POLICY verknüpfte Prüfungen, einschließlich bezüglich Länge und Komplexität, werden unabhängig davon durchgeführt, ob OLD_PASSWORD verwendet wird.

Überprüfen der Richtlineninformationen für das SQL-Benutzerkennwort

Sie können die Richtlinien für SQL-Benutzerkennwörter und die Ablaufdaten mit der folgenden Abfrage in SQL Server überprüfen. Die Abfrage funktioniert zwar auch in Azure SQL-Datenbank, aber die Kennwortkomplexität wird nur in Azure SQL-Datenbank 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;

CREATE LOGIN (Transact-SQL)

ALTER LOGIN (Transact-SQL)

CREATE USER (Transact-SQL)

ALTER USER (Transact-SQL)

Erstellen eines Anmeldenamens

Erstellen eines Datenbankbenutzers