Cómo configurar Firewall de Windows para el acceso al motor de base de datos

Los sistemas de firewall ayudan a evitar el acceso no autorizado a los recursos de los equipos. Para obtener acceso a una instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) a través de un firewall, debe configurar el firewall en el equipo en el que se ejecuta SQL Server para que permita el acceso.

Para obtener más información acerca de la configuración predeterminada de Firewall de Windows y una descripción de los puertos TCP que afectan a Motor de base de datos, Analysis Services, Reporting Services e Integration Services, vea Configurar Firewall de Windows para permitir el acceso a SQL Server y Conectarse a SQL Server a través de Internet. Existen varios sistemas de firewall. Para obtener información específica, vea la documentación del firewall.

Nota importanteImportante

El hecho de abrir puertos en el firewall puede dejar el servidor expuesto a ataques malintencionados. Asegúrese de que conoce los sistemas de firewall antes de abrir puertos. Para obtener más información, vea Consideraciones de seguridad para una instalación de SQL Server.

Los pasos principales para permitir el acceso son:

  1. Configure Motor de base de datos para que use un puerto TCP/IP específico. La instancia predeterminada de Motor de base de datos usa el puerto 1433, pero se puede cambiar. El puerto que usa Motor de base de datos aparece en el registro de errores de SQL Server. Las instancias de SQL Server Express, SQL Server Compact 3.5 SP2 y las instancias con nombre de Motor de base de datos usan puertos dinámicos. Para configurar estas instancias de forma que usen un puerto específico, vea Cómo configurar un servidor para que escuche en un puerto TCP específico (Administrador de configuración de SQL Server).

  2. Configure el firewall para que permita el acceso a ese puerto a los usuarios o equipos autorizados.

Nota

El servicio Explorador de SQL Server permite a los usuarios conectarse a instancias de Motor de base de datos que no están escuchando en el puerto 1433, sin conocer el número de puerto. Para utilizar el Explorador de SQL Server debe abrir el puerto UDP 1434. Para promover el entorno más seguro, deje detenido el servicio Explorador de SQL Server y configure los clientes para que se conecten usando el número de puerto.

Nota

De forma predeterminada, el Service Pack 2 de Microsoft Windows XP habilita Firewall de Windows, que cierra el puerto 1433 para impedir que los equipos de Internet se conecten a una instancia predeterminada de SQL Server en su equipo. No se puede realizar conexiones con TCP/IP a la instancia predeterminada, a menos que se vuelva a abrir el puerto 1433. Los pasos básicos para configurar el Firewall de Windows XP se proporcionan en los procedimientos siguientes. Para obtener más información, vea la documentación de Windows.

Como alternativa a la configuración de SQL Server para escuchar en un puerto fijo y abrir el puerto, puede poner el ejecutable de SQL Server (Sqlservr.exe) en la lista de excepciones a los programas bloqueados. Use este método cuando desee seguir utilizando puertos dinámicos. De este modo, solo se puede tener acceso a una sola instancia de SQL Server.

Windows Vista, Windows Server 2008 y versiones posteriores

El siguiente procedimiento configura el Firewall de Windows mediante el complemento Microsoft Management Console (MMC) de Firewall de Windows con seguridad avanzada. Este complemento está disponible a partir de Windows Vista y Windows Server 2003. El Firewall de Windows con seguridad avanzada solo configura el perfil actual. Para obtener más información sobre el Firewall de Windows con seguridad avanzada, vea Configurar Firewall de Windows para permitir el acceso a SQL Server

Para abrir un puerto en el Firewall de Windows para el acceso TCP

  1. En el menú Inicio, haga clic en Ejecutar, escriba WF.msc y, a continuación, haga clic en Aceptar.

  2. En la opción Firewall de Windows con seguridad avanzada del panel izquierdo, haga clic con el botón secundario en Reglas de entrada y, a continuación, haga clic en Nueva regla en el panel de acciones.

  3. En el cuadro de diálogo Tipo de regla, seleccione Puerto y, a continuación, haga clic en Siguiente.

  4. En el cuadro de diálogo Protocolo y puertos, seleccione TCP. Seleccione Puertos locales específicos y, a continuación, escriba el número de puerto de la instancia de Motor de base de datos, por ejemplo, 1433 para la instancia predeterminada. Haga clic en Siguiente.

  5. En el cuadro de diálogo Acción, seleccione Permitir la conexión y, a continuación, haga clic en Siguiente.

  6. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión del equipo cuando desee conectarse a Motor de base de datos y, a continuación, haga clic en Siguiente.

  7. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla. Después, haga clic en Finalizar.

Para abrir el acceso a SQL Server cuando se usen puertos dinámicos

  1. En el menú Inicio, haga clic en Ejecutar, escriba WF.msc y, a continuación, haga clic en Aceptar.

  2. En la opción Firewall de Windows con seguridad avanzada del panel izquierdo, haga clic con el botón secundario en Reglas de entrada y, a continuación, haga clic en Nueva regla en el panel de acciones.

  3. En el cuadro de diálogo Tipo de regla, seleccione Programa y, a continuación, haga clic en Siguiente.

  4. En el cuadro de diálogo Programa, seleccione Esta ruta de acceso del programa. Haga clic en Examinar y navegue a la instancia de SQL Server a la que desee obtener acceso a través del firewall y, a continuación, haga clic en Abrir. De forma predeterminada, SQL Server se encuentra en C:\Archivos de programa\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe. Haga clic en Siguiente.

  5. En el cuadro de diálogo Acción, seleccione Permitir la conexión y, a continuación, haga clic en Siguiente.

  6. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión del equipo cuando desee conectarse a Motor de base de datos y, a continuación, haga clic en Siguiente.

  7. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla. Después, haga clic en Finalizar.

Windows XP y Windows Server 2003

En los procedimientos siguientes se configura el Firewall de Windows mediante el elemento Firewall de Windows del Panel de control de Windows XP y Windows Server 2003 que solo configura el firewall para el perfil de ubicación de red actual. El Firewall de Windows también se puede configurar usando el complemento Microsoft Management Console (MMC) de Firewall de Windows y la herramienta de línea de comandos netsh. Para obtener más información acerca de estas herramientas, vea Configurar Firewall de Windows para permitir el acceso a SQL Server.

Para abrir un puerto en el Firewall de Windows para el acceso TCP

  1. En el menú Inicio, haga clic en Ejecutar, escriba firewall.cpl y, a continuación, haga clic en Aceptar.

  2. En el cuadro de diálogo Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar puerto.

  3. En el cuadro de diálogo Agregar un puerto, en el cuadro Nombre, escriba SQL Server<nombreDeInstancia>.

  4. En el cuadro Número de puerto, escriba el número de puerto de la instancia de Motor de base de datos, por ejemplo, 1433, para la instancia predeterminada.

  5. Compruebe que TCP esté seleccionado y haga clic en Aceptar.

  6. Para abrir el puerto y exponer el servicio SQL Server Browser, haga clic en Agregar puerto, escriba SQL Server Browser en el cuadro de texto Nombre, escriba 1434 en el cuadro de texto Número de puerto, seleccione UDP y, a continuación, haga clic en Aceptar.

    Nota

    Para permitir el acceso de canalizaciones con nombre a través del firewall, también debe habilitar Compartir impresoras y archivos en el firewall.

  7. Cierre los cuadros de diálogo Firewall de Windows y Propiedades.

Nota

Haga clic en Agregar programa en el cuadro de diálogo Firewall de Windows para ver opciones adicionales, como conceder acceso a programas específicos y restringir el acceso a ciertas direcciones IP o subredes de red. Para obtener más información, vea la documentación de Windows.

Para obtener acceso a un programa a través del Firewall de Windows

  1. En el cuadro de diálogo Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar programa.

  2. Haga clic en Examinar y navegue a la instancia de SQL Server a la que desee obtener acceso a través del firewall; a continuación, haga clic en Abrir. De forma predeterminada, SQL Server se encuentra en C:\Archivos de programa\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe.

  3. Haga clic dos veces en Aceptar para cerrar el programa Firewall de Windows.

Para obtener un breve tutorial acerca de cómo configurar un puerto estático, abrir el firewall y conectarse a Motor de base de datos mediante SQL Server Management Studio, vea Tutorial: Introducción al motor de base de datos.