¿Cambiar la contraseña "sa" requiere un reinicio de SQL (en modo mixto)?

13

Descubrimos que una cuenta "sa" de SQL se usa de una manera que no debería haber sido, por lo que estamos cambiando las contraseñas sa en todas nuestras instancias de SQL.

(Tenemos servidores de SQL 2005 a 2017 que se ejecutan en modo de autenticación mixta. Todos los usuarios y aplicaciones deben usar cuentas de dominio o cuentas SQL que no sean sa para conectarse. He estado monitoreando, pero no he encontrado ninguna otra aplicación, usuario o no - spids internos usando la cuenta sa.)

Unas cuantas preguntas:

Q1: ¿Cambiar la contraseña sa requiere un reinicio de SQL?

Encontré algunas referencias que dicen que es necesario reiniciar el servicio SQL después de cambiar la contraseña de la cuenta sa:

¿Es eso cierto? ¿O solo si estoy cambiando el modo de autenticación? ¿O solo si inicio sesión habitualmente como sa?

Este subproceso de SQL Server Central incluso sugiere que cambiarlo podría afectar los trabajos existentes del agente SQL y otras cosas; ¿Es eso una preocupación? ¿O solo si alguien ha codificado la cuenta SA en un paquete SSIS o algo así?

(En caso de que sea importante, utilizamos cuentas de dominio para el servicio SQL y el servicio del agente SQL, y cuentas de proxy de dominio para trabajos que llaman paquetes SSIS o scripts de PowerShell).

P2: ¿Puedo cambiar la contraseña sa de la forma "normal"?

¿Puedo restablecerlo como lo haría con cualquier otra cuenta? Usando SSMS, o más probablemente a través de:

ALTER LOGIN sa WITH PASSWORD = 'newpass';

¿O tendría que ingresar al modo de usuario único o algo que requeriría un tiempo de inactividad planificado? (Tenga en cuenta que estaría ejecutando esto desde una cuenta de dominio, no mientras esté conectado como "sa").

P3: ¿Deberíamos intentar hacer esta rotación de contraseña de forma regular? ¿O solo cuando encontramos un problema?

¿Es esta una "mejor práctica" recomendada?

BradC
fuente

Respuestas:

15

Q1: ¿Cambiar la contraseña sa requiere un reinicio de SQL?

No, pero cambiar el modo de autenticación sí. Dado que solo está cambiando la contraseña y el modo de autenticación ya está configurado como mixto, puede comenzar simplemente cambiando la contraseña.

P2: ¿Puedo cambiar la contraseña sa de la forma "normal"?

Sí, es solo otra cuenta de inicio de sesión SQL.

P3: ¿Deberíamos intentar hacer esta rotación de contraseña de forma regular? ¿O solo cuando encontramos un problema?

Para ser honesto, deshabilitaría y cambiaría el nombre del inicio de sesión SA. De esta manera, no se utilizará, y si necesita un inicio de sesión altamente privilegiado, puede hacer uno según sea necesario.

Sean Gallardy
fuente
No cambie el nombre, pero deshabilitarlo es una muy buena idea.
Joshua
2
@Joshua Cambiar el nombre es una buena idea, especialmente si está siendo auditado o como parte de otras prácticas de seguridad que pueden ser necesarias como parte de un esfuerzo de cumplimiento.
Sean Gallardy
2
He pasado demasiado tiempo rastreando cosas rotas porque alguien cambió el nombre de una cuenta incorporada después de que se usó.
Joshua
@Joshua si cambiaste el nombre y lo deshabilitaste cuando lo construiste, eso no sería un problema. Por supuesto, esta es solo una solución en el futuro. Renombrar meses o años después puede ser problemático.
James Jenkins
@JamesJenkins: Ah, bueno, te estás entendiendo.
Joshua
7

Esto es un cierre de la puerta del granero después de que los caballos ya salieron corriendo de la pregunta.

Debería haber cambiado el nombre y deshabilitado la cuenta sa cuando creó la instancia.

Cada vez que tenga una cuenta bien conocida, como administrador en un sistema Windows o sa para SQL Server, debe seguir ciertos pasos para asegurarla. Veamos específicamente lo que debe hacer con sa:

Establece una contraseña difícil de adivinar.

Rename sa.

Desactivar sa.

Asegúrese de que no existan otras cuentas llamadas sa.

Fuente

Si mantiene la cuenta 'sa' como una forma de emergencia para obtener acceso a SQL, hay formas más seguras de ver: Conéctese a SQL Server cuando los administradores del sistema están bloqueados Si no tiene acceso a la cuenta de red, tiene mayores problemas que no estar capaz de conectarse a SQL.

James Jenkins
fuente
1
Puedo ver cómo renombrar sa, pero ¿no deshabilitarlo por completo me impide conectarme si la autenticación de dominio no está disponible en una emergencia? (No es que pueda recordar que alguna vez haya tenido que hacerlo, pero estoy tratando de anticipar todas las contingencias).
BradC
@BradC editado en la actualización que aborda su comentario
James Jenkins
Gracias, lo consideraremos para una solución a largo plazo.
BradC
1
Es difícil, si no imposible, que la autenticación integrada deje de funcionar por completo, ya que el servicio de SQL Server no se ejecutará a menos que pueda iniciar sesión. No necesita tener un dominio de Active Directory presente para usar la autenticación integrada de Windows; SQL Server puede autenticarlo contra la autoridad de seguridad local.
Max Vernon