Configuraciones de firewall para SQL Server

Me he hecho la pregunta muchas veces, y es probable que lo hayan visto antes pero… no está de más recordarnos la configuración del Firewall de Windows para funcionar en un ambiente protegido.

Para garantizar la máxima seguridad, la configuración de las reglas del firewall podría ser un poco difícil para algunos de nosotros, o incluso más, podría tomar algún “tiempo” llevarla a cabo de forma correcta utilizando el asistente “Windows Advanced Firewall de Windows Server 2008 R2”, hay que estar atentos y en ese tiempo se nos enfrían los mates…
Y aunque existe información detallada sobre el tema (ver en msdn / google / etc ), siempre vamos a preferir algo del tipo “dame el script que hace los cambios así puedo seguir con los matecitos”
Entonces, sacando la chapa que mas nos gusta, creamos un archivo .CMD con nuestro buen amigo el bloc de notas y agregamos los siguientes comandos:

echo off
@echo This scripts sets the default firewall configurations for SQL Server components
echo.
echo Setting the core components for a database instance
echo Default Instance
netsh advfirewall firewall add rule name="SQLServer" dir=in action=allow protocol=TCP localport=1433 profile=DOMAIN

echo Dedicated Admin Connection
netsh advfirewall firewall add rule name="SQL DAC" dir=in action=allow protocol=TCP localport=1434 profile=DOMAIN

echo SQL Browser Service 
netsh advfirewall firewall add rule name="SQL Browser" dir=in action=allow protocol=UDP localport=1434 profile=DOMAIN

echo Setting the core firewall rules for database mirroring, service broker, TSQL Debugger, Analysis services, Reporting Services
echo Mirroring EndPoint - CHANGE PORT NUMBER AS NEEDED depending on which role
netsh advfirewall firewall add rule name="Mirroring EndPoint" dir=in action=allow protocol=TCP localport=5022 profile=DOMAIN
echo Service Broker
netsh advfirewall firewall add rule name="SQL Service Broker" dir=in action=allow protocol=TCP localport=4022 profile=DOMAIN

echo Enable TSQL Debugger (uses RPC)
netsh advfirewall firewall add rule name="T-SQL Debugger" dir=in action=allow protocol=TCP localport=135 profile=DOMAIN

echo Browser service for Analysis Services
netsh advfirewall firewall add rule name="SQL Browser for Analysis Services" dir=in action=allow protocol=TCP localport=2382 profile=DOMAIN

echo Analysis services Default Instance
netsh advfirewall firewall add rule name="Analysis Services" dir=in action=allow protocol=TCP localport=2383 profile=DOMAIN

echo HTTP/HTTPS for reporting services
netsh advfirewall firewall add rule name="HTTP Reporting Services" dir=in action=allow protocol=TCP localport=80 profile=DOMAIN
netsh advfirewall firewall add rule name="HTTPS Reporting Services" dir=in action=allow protocol=TCP localport=443 profile=DOMAIN

Nota: Cuando lo ejecuten, deben hacerlo con privilegios de administrador.

De mas esta decir que las las buenas prácticas y costumbres de seguridad nos piden que solo abramos los puertos que realmente necesitamos… lo cual podemos hacer con un simple REM… les dejo el análisis a ver dónde lo colocan ;P

Nota original en el TechNet