¿Qué posibles ataques podrían ocurrir en un puerto TCP / IP de SQL Server?

0

Tenemos un VPS que contiene una instancia de SQL Server Express. Usando la configuración de SQL Server, hemos habilitado TCP / IP para escuchar en un puerto aleatorio, digamos 5741. Hemos deshabilitado sa y hemos creado otro usuario con un patrón de nombre de usuario muy complicado, por ejemplo, HlsvslEWlajxcqpe y también una contraseña complicada.

¿Es esto suficiente seguridad para acceder a esta instancia de SQL Server desde cualquier lugar de Internet utilizando SQL Server Management Studio?

¿Qué riesgos de seguridad debemos tener en cuenta para hacer que esta instancia sea más segura?

Estas preguntas ayudaron un poco, pero son problemas diferentes:

Nombre de servidor comprometido y el número de puerto de un servidor de base de datos SQL Server
Base de datos de SQL Server en línea para una aplicación empresarial. Consideraciones de seguridad
¿Es un riesgo para la seguridad el envío de contraseñas de texto plano a una base de datos de SQL Server?

    
pregunta Saeed Neamati 12.06.2017 - 17:12
fuente

2 respuestas

1
  

"y creó otro usuario con un patrón de nombre de usuario muy complicado,   diga HlsvslEWlajxcqpe y también una contraseña complicada ".

Esto mitigará los esfuerzos de fuerza bruta, pero no lo ayudará si alguien logra inyectar un código en su aplicación que expone dónde se almacenan estas credenciales. Podrán iniciar sesión directamente, presumiblemente desde cualquier lugar.

Para empezar, debe bloquear todos los accesos a este puerto desde todos los hosts, excepto aquellos relacionados con su aplicación.

    
respondido por el Ivan 12.06.2017 - 17:30
fuente
1

Primero, un servidor de base de datos no está diseñado para conectarse directamente a Internet salvaje. Son aplicaciones complejas en las que la optimización suele considerarse más importante que la robustez. Después de todo, solo se debe acceder a ellas desde sistemas que cooperan y no hostiles.

En segundo lugar, usar un puerto aleatorio suena un poco como ofuscación. Las respuestas de una aplicación de base de datos normalmente permiten identificarla muy pronto, por lo que un simple nmap podría ser suficiente para revelar el número de puerto.

Finalmente, es común dejar que la seguridad de una cuenta se base solo en su contraseña. Todos los sistemas unix y similares a unix tienen una cuenta administrativa llamada root con id 0. Por lo tanto, no creo que un inicio de sesión administrativo complejo agregue seguridad.

Las mejores prácticas simplemente recomiendan que las reglas de red (firewalls) solo permitan el acceso al servidor de base de datos desde los servidores de aplicaciones y la red de producción. Es común pedir a los administradores que usen una VPN fuertemente protegida cuando necesitan realizar tareas administrativas desde fuera del centro de cómputo.

Por lo tanto, le aconsejo que mantenga la cuenta antigua sa y el puerto conocido, pero que configure los firewalls para permitir el acceso desde las máquinas amigables .

    
respondido por el Serge Ballesta 12.06.2017 - 21:00
fuente

Lea otras preguntas en las etiquetas