Freigeben über


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

Gilt für: SQL Server 2025 (17.x) Vorschau – Linux

In diesem Artikel wird beschrieben, wie Sie SQL-Anmeldekennwortrichtlinien für SQL Server unter Linux einrichten und verwalten können.

Kennwortrichtlinien sind ein wichtiger Aspekt beim Sichern einer Datenbankumgebung. Sie erzwingen:

  • Kompliziertheit
  • Ablaufdatum
  • Änderungen

Durch diese Erzwingung wird sichergestellt, dass Anmeldungen, die die SQL Server-Authentifizierung verwenden, sicher sind.

Hinweis

Kennwortrichtlinien sind unter Windows verfügbar. Weitere Informationen finden Sie unter Password Policy.

Benutzerdefinierte Richtlinieneinstellungen

Ab SQL Server 2025 (17.x) Preview unter Linux können Sie die folgenden Konfigurationsparameter in der mssql.conf Datei festlegen, um eine benutzerdefinierte Kennwortrichtlinie zu erzwingen.

Konfigurationsoption BESCHREIBUNG
passwordpolicy.passwordminimumlength Definiert die Mindestanzahl von Zeichen, die für ein Kennwort erforderlich sind. Die Kennwörter können bis zu 128 Zeichen lang sein.
passwordpolicy.passwordhistorylength Bestimmt die Anzahl der vorherigen Kennwörter, die gespeichert werden müssen.
passwordpolicy.passwordminimumage Gibt die Mindestdauer an, 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

Derzeit kann die passwordminimumlength Einstellung auf weniger als acht Zeichen festgelegt werden. 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.

Es gibt zwei Möglichkeiten, benutzerdefinierte Kennwortrichtlinien für SQL-Authentifizierungsanmeldungen in SQL Server unter Linux zu konfigurieren:

Festlegen einer benutzerdefinierten Kennwortrichtlinie mit "adutil"

In Umgebungen, in denen die Richtlinienverwaltung in einem Active Directory (AD)-Server zentralisiert ist, können Domänenadministratoren die Kennwortrichtlinienwerte auf dem AD-Server festlegen und ändern. Darüber hinaus muss der Linux-Computer, auf dem SQL Server ausgeführt wird, 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 authentifizierten Kerberos-Sitzung

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

    • Verwenden Sie ein privilegiertes Konto für den kinit-Befehl. Das Konto muss über die Berechtigung zum Herstellen einer Verbindung mit der Domäne verfügen.

    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, sollte eine ähnliche Meldung angezeigt werden:

    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

Sie können die SQL-Authentifizierungskennwortrichtlinie festlegen, indem Sie die Parameter in der mssql.conf Datei mit mssql-conf aktualisieren. Dieser Ansatz bietet Einfachheit und direkte Kontrolle über die Richtlinieneinstellungen.

Verwenden Sie diese Methode, wenn der Linux-Host, der SQL Server ausführt, nicht Teil der Domäne ist, und es gibt keinen Domänencontroller, um die Kennwortrichtlinien abzurufen.

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

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

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.minimumpasswordlength 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. Starten Sie den SQL Server-Dienst neu.

    sudo systemctl restart mssql-server
    

Einschränkungen

Derzeit kann die minimumpasswordlength Einstellung nicht auf mehr als 14 Zeichen festgelegt werden.

Nach dem Aktualisieren der Gruppenkennwortrichtlinie in Active Directory müssen Sie den adutil updatepasswordpolicy Befehl zum Aktualisieren mssql.confmanuell ausführen. Dieser Befehl wird nicht automatisch ausgeführt. Stellen Sie sicher, dass der Linux-Computer, auf dem SQL Server ausgeführt wird, Teil der Domäne ist, oder legen Sie ihn manuell mithilfe von mssql-conf fest.

In Active Directory kann jede Kennwortrichtlinie auf Gruppenebene mithilfe eines Kontrollkästchens definiert oder nicht definiert werden.

Screenshot der Sicherheitsrichtlinieneinstellung für die Mindestkennwortlänge.

Deaktivieren der Richtlinie hebt sie jedoch in SQL Server unter Linux nicht auf. Um die Anwendung der benutzerdefinierten Kennwortrichtlinie zu vermeiden, aktualisieren Sie die Einstellungen in mssql-conf , anstatt sich auf das Kontrollkästchen zu verlassen.