Le Blog Amazon Web Services

Configurez la politique de mot de passe pour Amazon RDS pour SQL Server

Amazon Relational Database Service (Amazon RDS) pour SQL Server prend désormais en charge la configuration des stratégies de mot de passe pour les connexions utilisant l’authentification SQL Server. Cette fonctionnalité vous permet de créer des stratégies de mot de passe personnalisées adaptées à vos besoins. Les stratégies de mot de passe pour SQL Server définissent diverses règles relatives à l’évaluation des mots de passe et au maintien des entités qui utilisent ces mots de passe. Ces politiques peuvent inclure :

  • L’application d’exigences de longueur et de complexité des nouveaux mots de passe
  • L’application de l’expiration et de la rotation des mots de passe
  • Le verrouillage des comptes lorsqu’un mot de passe incorrect a été saisi trop de fois

Dans ce blog, nous vous guidons à travers le processus d’activation de la stratégie de mot de passe pour Amazon RDS pour SQL Server et de création d’une connexion SQL Server conforme à la politique.

Présentation des différentes authentifications pour SQL Server

Une connexion SQL Server est un objet au niveau serveur qui représente un principal de sécurité pouvant être authentifié sur la base de données. Tout utilisateur doit s’authentifier à l’aide d’une connexion pour se connecter à une instance SQL Server. Créez une connexion sous les formes suivantes :

  • L’authentification SQL Server (un nom de connexion et un mot de passe)
  • L’authentification Windows (un compte utilisateur Windows ou de domaine)
  • Un certificat
  • Une clé asymétrique

Remarque : Dans ce blog, nous nous concentrons sur la configuration de la stratégie de mot de passe pour les connexions utilisant l’authentification SQL Server.

Prérequis

Pour suivre ce blog, vous avez besoin des prérequis suivants :

Créer ou modifier un groupe de paramètres

Vous pouvez activer la stratégie de mot de passe sur Amazon RDS pour SQL Server via un groupe de paramètres. Pour plus d’informations, consultez la documentation associée : Utilisation des groupes de paramètres.

Le tableau suivant répertorie les paramètres que vous pouvez configurer pour configurer les stratégies de mot de passe SQL Server. Tous les paramètres suivants sont dynamiques et vous pouvez appliquer les modifications immédiatement à l’instance de base de données RDS sans nécessiter de redémarrage.

Paramètre de base de données Description Valeurs autorisées Valeur par défaut
rds.password_complexity_enabled Les exigences de complexité du mot de passe doivent être respectées lors de la création ou de la modification des mots de passe pour les connexions SQL Server. 0,1 0
rds.password_min_length Le nombre minimum de caractères requis dans un mot de passe pour une connexion SQL Server. 0-14 0
rds.password_min_age Le nombre minimum de jours pendant lesquels un mot de passe de connexion SQL Server doit être utilisé avant que l’utilisateur ne puisse le modifier. Les mots de passe peuvent être modifiés immédiatement lorsqu’ils sont définis à 0. 0-998 0
rds.password_max_age Le nombre maximum de jours pendant lesquels un mot de passe de connexion SQL Server peut être utilisé avant que l’utilisateur ne soit tenu de le modifier. Les mots de passe n’expirent jamais lorsqu’ils sont définis à 0. 0-999 42
rds.password_lockout_threshold Le nombre de tentatives de connexion infructueuses consécutives qui entraîneront le verrouillage d’une connexion SQL Server. 0-999 0
rds.password_lockout_duration Le nombre de minutes pendant lesquelles une connexion SQL Server verrouillée doit attendre avant d’être déverrouillée. 1-60 10
rds.password_lockout_reset_counter_after Le nombre de minutes qui doivent s’écouler après une tentative de connexion infructueuse avant que le compteur des tentatives de connexion infructueuses ne soit réinitialisé à 0. 1-60 10

Vous pouvez créer un nouveau groupe de paramètres ou utiliser un groupe de paramètres existant en fonction de la version et de l’édition de votre instance RDS. Vous devez avoir un groupe de paramètres personnalisé. Créez un nouveau groupe de paramètres si votre instance RDS fonctionne avec un groupe de paramètres par défaut. En supposant que vous ayez déjà une instance RDS pour SQL Server et un groupe de paramètres personnalisé qui y est attaché, notez le nom du groupe de paramètres. Ensuite, suivez les étapes suivantes :

1. Sur la console Amazon RDS, localisez votre instance RDS pour SQL Server.

2. Sur l’onglet Configuration, choisissez le groupe de paramètres d’instance DB rds-sql-parametergroup.

3. Recherchez les paramètres contenant le texte « password » dans le nom. Cela chargera tous les paramètres liés aux configurations de mot de passe sur l’instance RDS.

4. Cliquer sur Modifier pour mettre à jour les valeurs des paramètres.

5. Modifiez la valeur de rds.password_complexity_enabled de 0 à 1.

6. Cliquer sur Enregistrer les modifications.

Remarque : Dans une configuration RDS pour SQL Server Multi-AZ, la politique de mot de passe s’applique à l’instance principale et à l’instance secondaire.

Configurer la complexité du mot de passe pour les connexions SQL Server

Maintenant que nous avons activé le paramètre rds.password_complexity_enabled, connectez-vous à l’instance RDS et suivez les étapes suivantes pour appliquer la politique de complexité du mot de passe à l’une des connexions existantes :

1. Ouvrez SSMS.

2. Connectez-vous à l’instance RDS pour SQL Server à l’aide d’une connexion disposant de l’autorisation ALTER ANY LOGIN.

3. Développez les dossiers Sécurité, Connexions.

4. Choisissez l’une des connexions existantes pour afficher ses propriétés.

5. Réinitialisez le mot de passe de la connexion en entrant un mot de passe complexe.

6. Sélectionnez Appliquer la stratégie de mot de passe et Appliquer l’expiration du mot de passe.

7. Cliquer sur OK.

Mise en place des politiques de verrouillage des mots de passe

Allons plus loin et ajoutons une politique de verrouillage à l’instance RDS pour SQL Server. Il existe trois paramètres qui contrôlent le comportement de verrouillage. (Reportez-vous au tableau des paramètres ci-dessus pour plus de détails) :

  1. rds.password_lockout_threshold (Valeur par défaut = 0)
  2. rds.password_lockout_duration (Valeur par défaut = 10)
  3. rds.password_lockout_reset_counter_after (Valeur par défaut = 10)

Pour activer la politique de verrouillage pour les connexions SQL Server, revenez au groupe de paramètres RDS et mettez à jour le paramètre rds.password_lockout_threshold de 0 à 3. Ce paramètre verrouillera la connexion SQL Server après 3 tentatives de mot de passe incorrectes.

rds.password_lockout_threshold est un paramètre dynamique et il s’appliquera à toutes les connexions avec CHECK_POLICY activé.

Maintenant que vous avez activé une politique de verrouillage, pour toute connexion SQL Server avec « CHECK_POLICY » ou « Appliquer la politique de mot de passe » activé, la connexion sera verrouillée après 3 tentatives de connexion échouées avec un mot de passe incorrect.

Vous pouvez vérifier l’état de la connexion SQL Server depuis SQL Server Management Studio comme indiqué dans la figure suivante.

Alternativement, vous pouvez également vous référer au fichier journal SQL Server en exécutant

EXEC rdsadmin.dbo.rds_read_error_log

Le journal d’erreurs RDS pour SQL Server montre qu’après 3 tentatives de mot de passe incorrectes, la connexion user1 est verrouillée et ne peut pas se connecter même après avoir fourni le bon mot de passe. Selon les paramètres configurés dans l’exemple, la période de verrouillage expirera au bout de 10 minutes. Un administrateur de base de données peut déverrouiller manuellement les connexions verrouillées à tout moment.

Remarque : Configurez Database Activity Streams pour l’audit de SQL Server afin de suivre les connexions échouées pour un suivi proactif.

Nettoyage

Si vous n’avez plus besoin de cette configuration et que vous souhaitez éviter les frais, vous pouvez supprimer l’instance RDS pour SQL Server.

Conclusion

Dans ce blog, nous avons expliqué comment appliquer la politique de mot de passe pour les connexions utilisant l’authentification SQL Server sur les instances de base de données RDS pour SQL Server. Cette fonctionnalité vous permet de configurer les politiques de mot de passe pour les connexions SQL Server en fonction des exigences de votre organisation.

Essayez cette nouvelle fonctionnalité et, si vous avez des commentaires ou des questions, laissez-les dans la section des commentaires.


Article original : https://aws.amazon.com/blogs/database/configure-password-policy-for-amazon-rds-for-sql-server/

Traduction : Lusia Siano – Senior Database Consultant