Tengo un problema y no pude encontrar la forma de manejarlo. Tengo un servidor SQL en un servidor Windows 2008 R2. Este SQL Server 2005 se está utilizando para recibir suscripciones de DB de otro servidor SQL ubicado en otra parte de Internet. Tengo el puerto del servidor sql abierto a través del firewall, sin embargo, en el ámbito, he ingresado la IP del otro servidor SQL. Al hacerlo, esperaba que las solicitudes de conexión a través de ese puerto no llegaran al Servidor SQL a menos que las solicitudes provengan del otro Servidor SQL (cuya IP figura en el alcance de la regla del firewall). Pero, cuando veo el registro, hay cientos de entradas de "usuario fallido de inicio de sesión sa" (y vienen cada segundo que pasa). Parece que algún hacker está intentando usar la fuerza bruta para adivinar una contraseña de usuario. Pero la pregunta es: ¿Por qué Windows permite que estas solicitudes lleguen al Servidor SQL aunque no provengan de la dirección IP que figura en el alcance del firewall? ¿Cuál es la forma correcta de proteger este servidor SQL? Ninguna otra IP que la IP del otro SQL Server necesita conectarse a este servidor SQL.
EDITAR - Más información:
Ejecuté telnet en el puerto del servidor sql desde diferentes máquinas. Telnet falla, excepto cuando se ejecuta desde la máquina que se menciona específicamente en el alcance del firewall. Entonces parece que el firewall está bloqueando bien el puerto del servidor sql. Pero entonces, ¿por qué veo esas solicitudes de inicio de sesión fallidas para el usuario "sa" desde diferentes direcciones IP en el registro de SQL Server? ¿Es posible que el pirata informático ingrese a la máquina a través del puerto 80 y luego de alguna manera intente conectarse al servidor sql? Los puertos 80 y 443 están abiertos a todos. Todos los demás puertos están cerrados con la excepción del puerto del servidor SQL (y que está abierto solo para una IP específica). No hay nada en ejecución en el servidor web en el puerto 80 que pueda conducir a un visitante al servidor SQL. De hecho, solo hay un archivo index.html (HTML puro sin conexión a SQL) en el servidor web. Esto es solo un servidor de prueba que se está configurando para uso futuro. Solo pruebe datos en SQL Server.
EDITAR:
Encendí el rastreo del cortafuegos para incluir conexiones tanto de caída como de éxito. Ahora está rastreando todo. Luego voy al registro de SQL Server donde veo estos intentos fallidos de inicio de sesión desde diferentes direcciones IP en China. Pero no hay entradas para estas direcciones IP en el registro del firewall. ¿Cómo es esto posible? ¿Pueden llegar al servidor SQL sin pasar por el firewall por completo? Si se supone que hay algún puerto de firewall abierto por el que podrían ingresar, el registro del firewall debe mostrar una entrada para esa dirección IP. Estoy completamente perdido.