28/07/2016

Configurar el Firewall de Windows para acceder a SQL

Esta sección explica como configurar el Firewall de Windows en el servidor SQL para permitir el acceso a las bases de datos desde el resto de los puestos.

Los puertos a abrir en el firewall dependerán del escenario de la instalación de SQL y de la infraestructura de red que va a acceder a los datos. Explicamos los 3 casos más habituales, aunque puedes consultar más información en este link.

Escenario a) SQL Server Standard en la instancia predeterminada

Si hemos instalado SQL Server Standard, lo normal es que hayamos instalado SQL en la instancia predeterminada.

En este caso, en el Firewall de entrada de Windows en el servidor SQL abriremos el puerto TCP 1433 (a no ser de que hayamos configurado el servicio de SQL en otro puerto).

Escenario b) SQL Server Express con una instancia con nombre

Por defecto, al instalar SQL server Express, no está habilitada la conexión TCP/IP.

Para habilitarla es necesario entrar en el Administrador de configuración de SQL Server y habilitar la conexión TCP/IP:

  • En Configuración de red de SQL Server, en el apartado de protocolos, habilitamos TCP/IP
  • En direcciones IP habilitamos la dirección IP local del servidor, dejamos el Puerto TCP en blanco, y donde dice Puertos dinámicos TCP con un valor 0. Esto habilita la conexión en la red local mediante puertos dinámicos.
  • Reiniciamos el servicio de SQL Server
  • Iniciamos y dejamos automático el servicio Sql Server Browser

En el caso de puertos dinámicos, configuramos nuestro firewall de entrada para permitir:

  1. El programa SqlSrv.exe
  2. El puerto 1434 UDP

Escenario c) Acceso a SQL Server en remoto

En ocasiones queremos que los usuarios de TREE trabajen en remoto sin necesidad de conectarse mediante Terminal Server.

TREE puede funcionar perfectamente en remoto, y sólo se requiere:

  1. Tener TREE en el ordenador remoto.
  2. Tener acceso al servidor SQL Server.

Para tener acceso al servidor SQL en remoto, simplemente abrimos el puerto 1433 (en el caso de instancias predeterminadas) apuntando hacia el servidor SQL, y configuraremos TREE con la IP pública del servidor en vez de la ip local.

Es muy importante que en este escenario las contraseñas de SQL sean totalmente seguras, o incluso mejor, que las conexiones se realicen a través de una Red Privada Virtual (VPN).

Del mismo modo, es factible disponer del servidor SQL en el cloud (tipo VPS por ejemplo) y que todos los usuarios de TREE trabajen en remoto.