¿Un nombre de cuenta conocido como sa representa una amenaza para la seguridad de la base de datos?
Una cuenta de usuario "dios" con un nombre conocido generalmente se considera una idea peor que un usuario dios con un nombre menos conocido. Hace que los ataques de fuerza bruta sean un poco más fáciles ya que el atacante solo tiene que adivinar la contraseña y no el nombre de usuario y la contraseña.
También tener un usuario de dios de todos modos puede ser peligroso. En general, es mejor tener usuarios específicos con derechos específicos para lo que deben hacer. Este tipo de seguridad basada en privilegios es más fácil de implementar desde cero que de adaptarlo a su entorno más adelante.
Deshabilitar sa y otorgar a los usuarios específicos derechos de administrador específicos según sea necesario en el servidor SQL es esencialmente la misma recomendación que deshabilitar root
y entregar derechos de administrador según sea necesario a través de sudo
Linux y similares. Siempre puede volver a habilitar sa
una vez conectado directamente a la máquina con los privilegios adecuados en caso de que algo salga mal y termine eliminando todos los derechos que sus usuarios necesitan para operar (y solucionar el problema) de la misma manera que puede diseñar el acceso raíz a un Linux cuadro si tiene acceso físico al cuadro, por lo que deshabilitar la cuenta no es una bala mágica (pero una vez que un atacante tiene acceso físico a su máquina, o acceso administrativo completo a través de RDC o SSH, todas las apuestas están desactivadas de todos modos).
Cuando se usa la autenticación de Windows en SQL Server, ¿impone la misma política de contraseña (si se configuró para decir el bloqueo de la cuenta después de 5 veces)?
Cuando se utiliza la autenticación integrada de Windows, el servidor SQL no tiene control sobre los bloqueos de cuentas y demás, simplemente asigna un usuario de Windows a un usuario de SQL y le pide al sistema operativo que confirme el hecho de que el usuario ha proporcionado las credenciales adecuadas. Para los usuarios humanos interactivos, esto significa que cualquier bloqueo ocurriría cuando el usuario intentara autenticarse con Windows, no cuando iniciaron sesión en SQL Server.