Parece que alguien o algo está intentando un intento de fuerza bruta para iniciar sesión en nuestra instancia de SQL Server de producción con la cuenta 'sa'. No han tenido éxito porque nuestra cuenta 'sa' está deshabilitada, pero ¿qué pasos debo seguir para asegurarme de que las cosas estén seguras?
security
sql-server-2008
Jon Erickson
fuente
fuente
Respuestas:
¿Su servidor SQL debe estar disponible públicamente en Internet? Usualmente este no es el caso. Si tiene que ser así, puede restringir el acceso por dirección IP o configurar una VPN. Obviamente, haga que la contraseña sa sea incuestionable o vea cómo restringir las ubicaciones de inicio de sesión sa solo desde sus direcciones IP de LAN. Proporcione más detalles para que otros puedan ayudarlo con mejores soluciones.
fuente
Lo primero que puede hacer es comenzar con una lista negra de esa dirección IP y negar directamente CUALQUIER tráfico de su IP en su firewall. Por supuesto, es posible que solo cambien las direcciones IP, pero al menos evitará que bombardeen su servidor con tráfico y registros.
fuente
Deshabilite ese puerto (MySQL es 3306; no recupere el puerto de SQL Server, ¿quizás 118?) A través del firewall. Entonces nadie puede acceder a ella.
Si se necesita acceso externo a SQL, vuelva a asignarlo a un puerto de alto número, como 53535. Si alguien descubre que ese puerto está abierto, será difícil adivinar su importancia.
fuente
El inicio de sesión intenta involucrar intentos de inyectar algún código malicioso. Recomiendo bloquear esta actividad con una lista negra permanente usando el software de firewall del servidor o un firewall externo de terceros.
Además, reduzca el número de fallas de inicio de sesión permitidas, ya que esto bloqueará automáticamente la dirección IP del intruso.
Lo anterior minimizará esto.
fuente
Probablemente sea solo un script kiddie que ejecuta un escáner y no vale la pena dedicarle tiempo. Me gustaría no tener su base de datos accesible desde Internet.
fuente
fuente
Si su SQL Server debe ser accesible fuera de su netowrk, puede incluir en la lista blanca las direcciones IP externas que necesitan acceso. Las VPN son una mejor solución (pero no siempre está disponible), y la mejor solución es no tener acceso externo.
La inclusión en la lista blanca requiere más administración, pero elimina esta tontería. Si alguien necesita acceso y tiene una IP que cambia con frecuencia, puede iniciar sesión en un sistema diferente a través de RDP y conectarse desde allí al Servidor SQL.
Cambie el nombre de la cuenta sa, cree una cuenta sa falsa y desactívela.
Auditar permisos y activar una actualización de contraseña para todas las cuentas de usuario de SQL Server; quizás aumente los requisitos de seguridad de la contraseña.
Vuelva a numerar el puerto de escucha IP de SQL Server. Esto significa actualizar las configuraciones del cliente o los archivos de configuración de la aplicación.
Estoy de acuerdo con otros carteles con respecto a los probables vectores de próximo ataque y probablemente sea alguien que ejecute un script.
fuente
Para cualquiera que busque un programa que cree la política IPSEC, los filtros, etc. y escanee automáticamente el registro de eventos y agregue las IP a la lista de bloqueo, he escrito un pequeño programa que hace exactamente eso.
También tuve este problema en el que mi registro de eventos se llenaría con miles de entradas para los piratas informáticos que intentaran iniciar sesión en mi instancia de MSSQL con el inicio de sesión 'sa'. Después de mucho buscar, decidí escribir mi propio programa, hacer que creara los elementos necesarios de IPSEC y luego escanear el registro de eventos cada 60 segundos en busca de ataques desde nuevas direcciones IP. Luego agrega la dirección IP al filtro IPSEC y bloquea todo el tráfico hacia y desde la IP. Solo he probado esto en Windows Server 2008, pero creo que también funcionará en otras versiones.
Siéntase libre de descargar el programa usando el siguiente enlace. Las donaciones siempre se agradecen utilizando el enlace en el menú contextual del icono del administrador de tareas.
http://www.cgdesign.net/programs/AutoBlockIp.zip
Tenga en cuenta que esto solo funciona para los intentos de inicio de sesión SQL utilizando el inicio de sesión 'sa', pero también podría modificarlo para que funcione para otros eventos de registro. Además, puede ver las IP que han sido bloqueadas, pero continuará viendo algunos elementos en el registro de eventos ya que el programa solo se ejecuta cada 60 segundos. Esto se debe a que no se puede eliminar una sola entrada del registro de eventos, y no pensé que eliminar todo el registro sería una buena idea.
DESCARGO DE RESPONSABILIDAD : al descargar e instalar el programa mencionado anteriormente, usted acepta eximirme de cualquier daño, pérdida de datos, corrupción o cualquier otro problema de funcionalidad resultante del uso de dicho software. He probado el programa lo mejor que he podido y actualmente lo tengo ejecutándose en 2 servidores, pero se le advirtió que lo use bajo su propio riesgo.
Cualquier pregunta o comentario, no dude en ponerse en contacto conmigo utilizando el formulario de contacto en mi sitio web en www.cgdesign.net
-Chris
fuente
Debería restringir los intentos de inicio de sesión, por lo que si el mismo usuario intenta iniciar sesión más de 5 veces, no podrá realizar más intentos durante algunas horas o un día. Al menos, entonces no pueden forzar un inicio de sesión bruto después de un millón de intentos.
Y como otros han dicho, no permita el acceso público si no es necesario. Puede restringir el acceso a un conjunto de IP conocidas si algunas personas necesitan acceso externo.
fuente