Hay dos modos de autenticación utilizados en SQL Server: autenticación de Windows y modo mixto (habilita la autenticación de Windows y la autenticación de SQL Server)
El primer modo es menos vulnerable a los ataques de fuerza bruta, ya que es probable que el atacante se encuentre con un bloqueo de inicio de sesión (la función de Política de bloqueo de cuenta) después de un número finito de intentos de ataque. Todos los entornos de producción, si utilizan el modo de autenticación de Windows, deben utilizar la función de política de bloqueo, ya que hace que los ataques de fuerza bruta sean imposibles
Cuando se trata de la vulnerabilidad de ataque de fuerza bruta de autenticación de SQL Server, la situación no es tan favorable. La autenticación de SQL Server no tiene características que permitan detectar cuándo el sistema está bajo un ataque de fuerza bruta. Además, SQL Server es muy receptivo cuando se trata de validar las credenciales de autenticación de SQL Server. Puede manejar fácilmente intentos de inicio de sesión repetidos, agresivos y de fuerza bruta sin un rendimiento general negativo que pueda indicar tales ataques. Esto significa que la autenticación de SQL Server es un objetivo perfecto para descifrar contraseñas mediante ataques de fuerza bruta
Además, los métodos de fuerza bruta están evolucionando con cada método de encriptación y complejidad de contraseña recientemente introducido. Por ejemplo, los atacantes que usan tablas de arco iris (las tablas precalculadas para revertir los valores hash criptográficos para cada combinación posible de caracteres) pueden descifrar fácil y rápidamente cualquier contraseña hash
Para proteger su SQL Server de ataques de fuerza bruta, debe considerar lo siguiente:
- No use el modo de autenticación de SQL Server: obligue al atacante a cerrar el inicio de sesión mediante la autenticación de Windows
- En caso de que necesite usar el modo de autenticación de SQL Server, deshabilite o elimine el inicio de sesión SA, de esa manera el atacante debe adivinar y emparejar tanto el nombre de usuario como la contraseña