Définir une stratégie de mot de passe personnalisée pour les connexions SQL dans SQL Server sur Linux

S’applique à : SQL Server 2022 (16.x) et versions ultérieures sur Linux

Cet article explique comment configurer et gérer des stratégies de mot de passe pour les connexions SQL Server sur Linux. Les stratégies de mot de passe personnalisées sont disponibles à partir de SQL Server 2022 (16.x) Mise à jour cumulative (CU) 23 et SQL Server 2025 (17.x).

Les stratégies de mot de passe appliquent des règles pour la complexité, l’expiration et les modifications, ce qui permet de sécuriser les connexions SQL Server.

Remarque

Les stratégies de mot de passe sont également disponibles sur Windows. Pour plus d’informations, consultez stratégie de mot de passe.

Paramètres de stratégie personnalisés

Définissez les paramètres de configuration suivants dans le mssql.conf fichier pour appliquer une stratégie de mot de passe personnalisée :

Option de configuration Descriptif
passwordpolicy.passwordminimumlength Définit le nombre minimal de caractères requis pour un mot de passe. Les mots de passe peuvent comporter jusqu'à 128 caractères.
passwordpolicy.passwordhistorylength Définit le nombre de mots de passe précédents que le système mémorise.
passwordpolicy.passwordminimumage Définit la durée minimale pendant laquelle un utilisateur doit attendre avant de modifier son mot de passe.
passwordpolicy.passwordmaximumage Définit la durée maximale d’utilisation d’un mot de passe avant qu’il ne soit modifié.

Remarque

Vous pouvez actuellement définir la passwordminimumlength valeur inférieure à huit caractères. Votre mot de passe doit suivre la politique de mot de passe par défaut de SQL Server. Par défaut, le mot de passe doit avoir au moins huit caractères appartenant à trois des quatre groupes suivants : lettres majuscules, lettres minuscules, chiffres de base 10 et symboles. Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.

Configurez la stratégie de deux façons :

Définir une stratégie de mot de passe personnalisée avec adutil

Dans les environnements où la gestion des stratégies est centralisée dans un serveur Active Directory (AD), les administrateurs de domaine définissent et modifient les valeurs de stratégie de mot de passe dans le serveur AD. La machine Linux exécutant SQL Server doit également faire partie du domaine Windows.

Utilisez adutil pour récupérer la stratégie de mot de passe du serveur AD et l’écrire dans le mssql.conf fichier. Cette méthode offre l’avantage de la gestion centralisée et garantit une application cohérente des stratégies dans l’environnement SQL Server.

Configuration requise pour adutil

  1. Établissez une session authentifiée Kerberos :

    • Exécutez kinit avec sudo pour obtenir ou renouveler le ticket d’octroi de ticket Kerberos (TGT).

    • Utilisez un compte privilégié pour la commande kinit. Le compte a besoin d’une autorisation pour se connecter au domaine.

    Dans l’exemple suivant, remplacez <user> par un compte disposant de privilèges élevés dans le domaine.

    sudo kinit <user>@CONTOSO.COM
    
  2. Vérifiez que le ticket est accordé :

    sudo klist
    
  3. Pour mettre à jour la stratégie de mot de passe, interrogez le domaine avec adutil :

    sudo adutil updatepasswordpolicy
    

    Si la commande réussit, la sortie ressemble à l’exemple suivant :

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

    Si vous le souhaitez, vous pouvez ajouter l’option --path à la commande précédente. Vous pouvez utiliser cette option si vous disposez de l’outil mssql-conf dans un autre emplacement que le chemin par défaut. Le chemin d’accès par défaut est : /opt/mssql/bin/mssql-conf.

  4. Redémarrez le service SQL Server :

    sudo systemctl restart mssql-server
    

Définir manuellement une stratégie de mot de passe personnalisée avec mssql-conf

Mettez à jour les paramètres de politique directement à mssql.conf l'aide de mssql-conf. Utilisez cette méthode lorsque l’hôte Linux n’est pas joint à un domaine ou lorsqu’aucun contrôleur de domaine n’est disponible pour sourcer la stratégie.

Exécutez les commandes mssql-conf suivantes pour définir chaque propriété de stratégie.

  1. Définissez la longueur minimale du mot de passe sur 14 caractères, conformément aux exigences de complexité décrites dans la stratégie de mot de passe.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Définissez l’âge minimal du mot de passe sur un jour. Les utilisateurs peuvent modifier leur mot de passe après un jour.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Définissez la longueur de l’historique des mots de passe sur 8. Les utilisateurs doivent utiliser huit mots de passe uniques avant de réutiliser un ancien mot de passe.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Définissez l’âge maximal du mot de passe sur 45 jours. Un utilisateur peut utiliser un mot de passe pendant jusqu’à 45 jours avant que l’utilisateur ne puisse le modifier.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Appliquez les changements.

    • Dans SQL Server 2022 (16.x) CU 23 et versions ultérieures, et dans SQL Server 2025 (17.x) CU 3 et versions ultérieures, rechargez mssql.conf sans redémarrer le service. Connectez-vous à l’instance SQL Server et exécutez :

      EXECUTE sp_reload_mssqlconf;
      
    • Ou, sur les versions antérieures, redémarrez le service SQL Server à la place :

      sudo systemctl restart mssql-server
      

Limites

Avant SQL Server 2022 (16.x) CU 23 et SQL Server 2025 (17.x) CU 3, le paramètre passwordminimumlength ne peut pas être défini sur plus de 14 caractères.

Les modifications apportées à la stratégie de mot de passe de groupe dans Active Directory ne se propagent pas automatiquement. Exécutez pour actualiser adutil updatepasswordpolicy après chaque modification ou définissez mssql.conf les valeurs manuellement à l’aide de mssql-conf si l’hôte Linux n’est pas joint au domaine.

Dans Active Directory, vous pouvez définir ou annuler la définition de chaque stratégie de mot de passe au niveau du groupe à l’aide d’une case à cocher :

Capture d’écran du paramètre de stratégie de sécurité de longueur minimale du mot de passe.

L'effacement de la case à cocher ne désactive pas la stratégie dans SQL Server sur Linux. Pour arrêter l’application d’une valeur, mettez-la à jour directement dans mssql-conf.