La modification du mot de passe «sa» nécessite-t-elle un redémarrage SQL (en mode mixte)?

13

Nous avons découvert qu'un compte SQL "sa" était utilisé d'une manière qui n'aurait pas dû l'être, nous changeons donc les mots de passe sa sur toutes nos instances SQL.

(Nous avons des serveurs SQL 2005 à 2017 fonctionnant en mode d'authentification mixte. Tous les utilisateurs et applications doivent utiliser des comptes de domaine ou des comptes SQL non sa pour se connecter. J'ai surveillé, mais je n'ai trouvé aucune autre application, utilisateur ou non -Spids internes utilisant le compte sa.)

Quelques questions:

Q1: La modification du mot de passe sa nécessite-t-elle un redémarrage SQL?

J'ai trouvé quelques références qui disent qu'un redémarrage du service SQL est requis après avoir changé le mot de passe du compte sa:

Est-ce vrai? Ou seulement si je change de mode d'authentification? Ou seulement si je me connecte régulièrement en tant que sa?

Ce thread SQL Server Central suggère même que le modifier pourrait avoir un impact sur les travaux d'agent SQL existants et d'autres choses; est-ce une préoccupation? Ou seulement si quelqu'un a codé en dur le compte SA dans un package SSIS ou quelque chose?

(Si cela est important, nous utilisons des comptes de domaine pour le service SQL et le service d'agent SQL, et des comptes proxy de domaine pour les travaux qui appellent des packages SSIS ou des scripts PowerShell.)

Q2: Puis-je changer le mot de passe sa de manière "normale"?

Puis-je le réinitialiser comme je le ferais avec n'importe quel autre compte? Utiliser SSMS, ou plus probablement via:

ALTER LOGIN sa WITH PASSWORD = 'newpass';

Ou devrais-je entrer en mode mono-utilisateur ou quelque chose qui nécessiterait un temps d'arrêt planifié? (Notez que je l'exécuterais à partir d'un compte de domaine, pas en étant connecté en tant que "sa".)

Q3: Devrions-nous essayer de faire cette rotation de mot de passe régulièrement? Ou seulement lorsque nous trouvons un problème?

Est-ce une "meilleure pratique" recommandée?

BradC
la source

Réponses:

15

Q1: La modification du mot de passe sa nécessite-t-elle un redémarrage SQL?

Non, mais changer le mode d'authentification le fait. Étant donné que vous modifiez simplement le mot de passe et que le mode d'authentification est déjà défini sur mixte, vous pouvez simplement changer de mot de passe.

Q2: Puis-je changer le mot de passe sa de manière "normale"?

Oui, c'est juste un autre compte de connexion SQL.

Q3: Devrions-nous essayer de faire cette rotation de mot de passe régulièrement? Ou seulement lorsque nous trouvons un problème?

Pour être tout à fait honnête, je voudrais désactiver et renommer la connexion SA. De cette façon, il ne sera pas utilisé du tout et si vous avez besoin d'une connexion hautement privilégiée, vous pouvez en créer une au besoin.

Sean Gallardy
la source
Ne le renommez pas mais le désactiver est une très bonne idée.
Joshua
2
@Joshua Renommer c'est une bonne idée, surtout si vous êtes audité ou dans le cadre d'autres pratiques de sécurité qui peuvent être requises dans le cadre d'un effort de conformité.
Sean Gallardy
2
J'ai passé trop de temps à rechercher des éléments défectueux parce que quelqu'un a renommé un compte intégré après son utilisation.
Joshua
@Joshua si vous l'avez renommé et désactivé lors de sa construction, ce ne serait pas un problème. Bien sûr, ce n'est qu'une solution pour l'avenir. Renommer des mois ou des années plus tard peut être problématique.
James Jenkins
@JamesJenkins: Ah bon, vous vous rattrapez.
Joshua
7

Il s'agit de fermer la porte de la grange après que les chevaux se soient déjà enfuis.

Vous devez avoir renommé et désactivé le compte sa lorsque vous avez créé l'instance.

Chaque fois que vous avez un compte bien connu, comme administrateur sur un système Windows ou sa pour SQL Server, vous devez prendre certaines mesures pour le sécuriser. Examinons spécifiquement ce que vous devez faire avec sa:

Définissez un mot de passe difficile à deviner.

Renommer sa.

Désactiver sa.

Assurez-vous qu'aucun autre compte n'existe nommé sa.

La source

Si vous conservez le compte «sa» comme un moyen d'urgence d'obtenir un accès SQL, il existe des moyens plus sûrs: se connecter à SQL Server lorsque les administrateurs système sont verrouillés. Si vous n'avez pas accès au compte réseau, vous avez de plus gros problèmes que de ne pas capable de se connecter à SQL.

James Jenkins
la source
1
Je peux voir renommer sa, mais sa désactivation ne m'empêcherait-elle pas complètement de me connecter si l'authentification de domaine devenait indisponible en cas d'urgence? (Je ne me souviens pas avoir jamais eu besoin de le faire, mais j'essaie d'anticiper toutes les éventualités.)
BradC
@BradC modifié dans la mise à jour en réponse à votre commentaire
James Jenkins
Merci, nous considérerons cela pour une solution à long terme.
BradC
1
Il est difficile, voire impossible, que l'authentification intégrée cesse complètement de fonctionner car le service SQL Server ne s'exécutera que s'il peut se connecter. Vous n'avez pas besoin d'avoir un domaine Active Directory présent pour utiliser l'authentification intégrée Windows; SQL Server peut vous authentifier auprès de l'autorité de sécurité locale.
Max Vernon