Festlegen einer benutzerdefinierten Kennwortrichtlinie für SQL-Anmeldungen in SQL Server unter Linux

Gilt für: SQL Server 2022 (16.x) und höhere Versionen unter Linux

In diesem Artikel wird beschrieben, wie Sie Kennwortrichtlinien für SQL Server Anmeldungen unter Linux einrichten und verwalten. Benutzerdefinierte Kennwortrichtlinien sind ab SQL Server 2022 (16.x) kumulatives Update (CU) 23 und SQL Server 2025 (17.x) verfügbar.

Kennwortrichtlinien erzwingen Regeln für Komplexität, Ablauf und Änderungen, die dazu beitragen, SQL Server Anmeldungen sicher zu halten.

Hinweis

Kennwortrichtlinien sind auch auf Windows verfügbar. Weitere Informationen finden Sie unter "Kennwortrichtlinie".

Benutzerdefinierte Richtlinieneinstellungen

Legen Sie die folgenden Konfigurationsparameter in der mssql.conf Datei fest, um eine benutzerdefinierte Kennwortrichtlinie zu erzwingen:

Konfigurationsoption BESCHREIBUNG
passwordpolicy.passwordminimumlength Legt die minimale Anzahl von Zeichen fest, die für ein Kennwort erforderlich sind. Kennwörter können bis zu 128 Zeichen lang sein.
passwordpolicy.passwordhistorylength Legt die Anzahl der vorherigen Kennwörter fest, die vom System gespeichert werden.
passwordpolicy.passwordminimumage Legt die Mindestdauer fest, die ein Benutzer warten muss, bevor es sein Kennwort erneut ändert.
passwordpolicy.passwordmaximumage Legt die maximale Dauer fest, die ein Kennwort verwendet werden kann, bevor es geändert werden muss.

Hinweis

Sie können die passwordminimumlength Anzahl der Zeichen zurzeit auf weniger als acht Zeichen festlegen. Ihr Kennwort sollte der standardmäßigen Kennwortrichtlinie von SQL Server folgen. Ein Standardkennwort enthält mindestens acht Zeichen, die aus drei der folgenden vier Kategorien stammen müssen: Großbuchstaben, Kleinbuchstaben, Grundzahlen (0–9) und Symbole. Kennwörter können bis zu 128 Zeichen lang sein. Verwenden Sie möglichst lange und komplexe Kennwörter.

Konfigurieren Sie die Richtlinie auf eine von zwei Arten:

Festlegen einer benutzerdefinierten Kennwortrichtlinie mit "adutil"

In Umgebungen, in denen die Richtlinienverwaltung in einem Active Directory (AD)-Server zentralisiert ist, legen Domänenadministratoren die Kennwortrichtlinienwerte auf dem AD-Server fest und ändern sie. Der Linux-Computer, auf dem SQL Server ausgeführt wird, muss ebenfalls Teil der Windows-Domäne sein.

Verwenden Sie adutil , um die Kennwortrichtlinie vom AD-Server abzurufen und in die mssql.conf Datei zu schreiben. Diese Methode bietet den Vorteil der zentralisierten Verwaltung und stellt eine konsistente Anwendung von Richtlinien in der GESAMTEN SQL Server-Umgebung sicher.

Anforderungen für adutil

  1. Einrichten einer kerberos-authentifizierten Sitzung:

    • Führen Sie kinit mit sudo aus, um das Kerberos-Ticket für die Ticketausstellung (TGT) zu erhalten oder zu erneuern.

    • Verwenden Sie ein privilegiertes Konto für den kinit-Befehl. Das Konto benötigt die Berechtigung zum Herstellen einer Verbindung mit der Domäne.

    Ersetzen Sie <user> im folgenden Beispiel durch ein Konto mit erhöhten Rechten in der Domäne.

    sudo kinit <user>@CONTOSO.COM
    
  2. Überprüfen Sie, ob das Ticket gewährt wurde:

    sudo klist
    
  3. Um die Kennwortrichtlinie zu aktualisieren, fragen Sie die Domäne mit adutil ab:

    sudo adutil updatepasswordpolicy
    

    Wenn der Befehl erfolgreich ist, sieht die Ausgabe in etwa wie im folgenden Beispiel aus:

    Successfully updated password policy in mssqlconf.
    Restart SQL Server to apply the changes.
    

    Optional können Sie dem vorherigen Befehl die --path Option hinzufügen. Sie können diese Option verwenden, wenn Sie das Mssql-conf-Tool an einem anderen Speicherort als den Standardpfad haben. Der Standardpfad lautet /opt/mssql/bin/mssql-conf.

  4. Starten Sie den SQL Server-Dienst neu:

    sudo systemctl restart mssql-server
    

Manuelles Festlegen einer benutzerdefinierten Kennwortrichtlinie mit mssql-conf

Aktualisieren Sie die Richtlinienparameter mssql.conf direkt mithilfe von mssql-conf. Verwenden Sie diese Methode, wenn der Linux-Host nicht mit einer Domäne verbunden ist oder wenn kein Domänencontroller zur Quelle der Richtlinie verfügbar ist.

Führen Sie die folgenden mssql-conf-Befehle aus, um jede Richtlinieneigenschaft festzulegen.

  1. Legen Sie die Mindestlänge des Kennworts auf 14 Zeichen fest, wobei sie den komplexitätsanforderungen entspricht, die in der Kennwortrichtlinie beschrieben sind.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Legen Sie das Mindestkennwortalter auf einen Tag fest. Benutzer können ihr Kennwort nach einem Tag ändern.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Legen Sie die Länge des Kennwortverlaufs auf 8 fest. Benutzer müssen acht eindeutige Kennwörter verwenden, bevor Sie ein altes Kennwort wiederverwenden.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Legen Sie das maximale Kennwortalter auf 45 Tage fest. Ein Benutzer kann ein Kennwort für bis zu 45 Tage verwenden, bevor der Benutzer es ändern muss.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Übernehmen Sie die Änderungen.

    • Laden Sie in SQL Server 2022 (16.x) CU 23 und höher sowie in SQL Server 2025 (17.x) CU 3 und höher mssql.conf neu, ohne den Dienst neu zu starten. Stellen Sie eine Verbindung mit der SQL Server-Instanz her, und führen Sie Folgendes aus:

      EXECUTE sp_reload_mssqlconf;
      
    • Oder starten Sie in früheren Versionen stattdessen den SQL Server Dienst neu:

      sudo systemctl restart mssql-server
      

Einschränkungen

Vor SQL Server 2022 (16.x) CU 23 und SQL Server 2025 (17.x) CU 3 kann der Parameter passwordminimumlength nicht auf mehr als 14 Zeichen festgelegt werden.

Änderungen an der Gruppenkennwortrichtlinie in Active Directory werden nicht automatisch weitergegeben. Führen Sie die Ausführung adutil updatepasswordpolicy aus, um nach jeder Änderung zu aktualisieren mssql.conf , oder legen Sie die Werte manuell mithilfe von mssql-conf fest, wenn der Linux-Host nicht mit der Domäne verbunden ist.

In Active Directory können Sie jede Kennwortrichtlinie auf Gruppenebene mithilfe eines Kontrollkästchens definieren oder rückgängig machen:

Screenshot der Sicherheitsrichtlinieneinstellung für die Mindestkennwortlänge.

Durch das Deaktivieren des Kontrollkästchens wird die Richtlinie in SQL Server für Linux nicht deaktiviert. Um das Erzwingen eines Werts zu beenden, aktualisieren Sie ihn direkt in mssql-conf.