Compartir a través de


Control del tráfico saliente con Azure Firewall

En este artículo se muestra cómo bloquear el tráfico saliente desde la aplicación App Service a los recursos de Azure de back-end u otros recursos de red con Azure Firewall. Esta configuración ayuda a evitar la filtración de datos o el riesgo de implantación de programas malintencionados.

De forma predeterminada, una aplicación de App Service puede realizar solicitudes salientes a la red pública de Internet (por ejemplo, al instalar los paquetes de Node.js necesarios desde NPM.org). Si la aplicación está integrada con una red virtual de Azure, puede controlar el tráfico saliente con grupos de seguridad de red en una medida limitada, como la dirección IP, el puerto y el protocolo de destino. Azure Firewall le permite controlar el tráfico saliente en un nivel mucho más granular y filtrar el tráfico en función de la inteligencia sobre amenazas en tiempo real de Microsoft Cyber Security. Puede crear, aplicar y registrar directivas de conectividad de red y de aplicaciones de forma centralizada en suscripciones y redes virtuales (consulte Características de Azure Firewall).

Para conocer los conceptos de red detallados y las mejoras de seguridad en App Service, consulte Características de red y De cero a héroe con App Service, parte 6: Protección de su aplicación web

Requisitos previos

  • Permita la integración de red virtual regional para su aplicación.
  • Compruebe que Enrutar todo está habilitado. Esta configuración está habilitada de forma predeterminada, lo que indica a App Service que enrute todo el tráfico saliente a través de la red virtual integrada. Si lo deshabilita, solo se enrutará el tráfico a direcciones IP privadas a través de la red virtual.
  • Si desea también enrutar el acceso a los servicios back-end de Azure a través de Azure Firewall, deshabilite todos los puntos de conexión de servicio de la subred App Service en la red virtual integrada. Una vez se ha configurado Azure Firewall, el tráfico saliente a los servicios de Azure se enrutará a través del firewall en lugar de los puntos de conexión del servicio.

1. Cree la subred de firewall necesaria

Para implementar un firewall en la red virtual integrada, necesita una subred denominada AzureFirewallSubnet.

  1. En el Azure Portal, vaya a la red virtual que está integrada con su aplicación.
  2. En el panel de navegación izquierdo, seleccione Subredes>+ Subred.
  3. En Nombre, escriba AzureFirewallSubnet.
  4. Intervalo de direcciones de subred, acepte el valor predeterminado o especifique un intervalo de al menos /26 de tamaño.
  5. Seleccione Guardar.

2. Implemente el firewall y obtenga su dirección IP

  1. En el menú de Azure Portal o la página Inicio, seleccione Crear un recurso.

  2. Escriba firewall en el cuadro de búsqueda y presione Entrar.

  3. Seleccione Firewall y después Crear.

  4. En la página Creación de un firewall, configure el firewall como se muestra en la tabla siguiente:

    Configuración Value
    Grupos de recursos El mismo grupo de recursos que la red virtual integrada.
    Nombre Nombre elegido
    Región La misma región que la red virtual integrada.
    Directiva de firewall Cree una seleccionando Agregar nueva.
    Red virtual Seleccione la red virtual integrada.
    Dirección IP pública Seleccione una dirección existente o cree una seleccionando Agregar nueva.

    Captura de pantalla de la creación de un Azure Firewall en el Azure Portal.

  5. Haga clic en Revisar + crear.

  6. Seleccione nuevamente Crear.

    La implementación tardará varios minutos.

  7. Una vez finalizada la implementación, vaya a su grupo de recursos y seleccione el firewall.

  8. En la página Información general del firewall, copie la dirección IP privada. La dirección IP privada se usará como dirección de próximo salto en la regla de enrutamiento de la red virtual.

    Captura de pantalla de obtención de Azure Firewall dirección IP privada.

3. Enrute todo el tráfico al firewall

Cuando usted crea una red virtual, Azure crea automáticamente una tabla de rutas predeterminadas para cada una de sus subredes y agrega las rutas predeterminadas del sistema a la tabla. En este paso, usted crea una tabla de rutas definida por el usuario que enruta todo el tráfico al firewall y, a continuación, lo asocia a la subred App Service en la red virtual integrada.

  1. En el menú de Azure portal, seleccione Todos los servicios o busque y seleccione Todos los servicios desde cualquier página.

  2. En Redes, seleccione Tablas de rutas.

  3. Seleccione Agregar.

  4. Configure la tabla de rutas como en el ejemplo siguiente:

    Captura de pantalla de la creación de una tabla de rutas de enrutamiento en Azure Portal.

    Asegúrese de seleccionar la misma región que el firewall que ha creado.

  5. Seleccione Revisar y crear.

  6. Seleccione Crear.

  7. Una vez finalizada la implementación, seleccione Ir al recurso.

  8. En el panel de navegación izquierdo, seleccione Rutas>Agregar.

  9. Configure la nueva ruta como se muestra en la tabla siguiente:

    Configuración Value
    Prefijo de dirección 0.0.0.0/0
    Tipo del próximo salto Aplicación virtual
    Dirección del próximo salto Dirección IP privada del firewall que copió en 2. Implemente el firewall y obtenga su dirección IP.
  10. En el panel de navegación izquierdo, seleccione Subredes>Asociar.

  11. En Red virtual, seleccione su red virtual integrada.

  12. En Subred, seleccione la subred App Service.

    Captura de pantalla de la asociación de la tabla de rutas a la subred App Service.

  13. Seleccione Aceptar.

4. Configure las directivas firewall

El tráfico saliente de su aplicación se enruta ahora al firewall a través de la red virtual integrada. Para controlar el tráfico saliente de App Service, agregue una regla de aplicación a la directiva de firewall.

  1. Vaya a la página de información general del firewall y seleccione su directiva de firewall.

  2. En la página directiva de firewall, en el panel de navegación izquierdo, seleccione Reglas de aplicación>Agregar una colección de reglas.

  3. En Reglas, agregue una regla de red con la subred App Service como dirección de origen y especifique un destino de FQDN. En la captura de pantalla siguiente, el FQDN de destino se establece en contoso.com.

    Captura de pantalla de la configuración de Azure Firewall regla de directiva.

    Nota

    En lugar de especificar la subred App Service como dirección de origen, también puede usar la dirección IP privada de la aplicación directamente en la subred. Puede encontrar la dirección IP privada de su aplicación en la subred mediante la WEBSITE_PRIVATE_IPvariable de entorno.

  4. Seleccione Agregar.

5. Compruebe el tráfico saliente

Una manera fácil de comprobar la configuración es usar el comando curl desde la consola de depuración de SCM de la aplicación para comprobar la conexión saliente.

  1. En un navegador, vaya a https://<app-name>.scm.azurewebsites.net/DebugConsole.

  2. En la consola, ejecute curl -s <protocol>://<fqdn-address> con una dirección URL que coincida con una regla de aplicación que configuró. El siguiente recorte de pantalla es un ejemplo de un sitio web que muestra una respuesta correcta de una API, que muestra una dirección IP.

    Captura de pantalla de la comprobación del tráfico saliente correcto mediante el comando curl en la consola de depuración de SCM.

  3. Vuelva a ejecutar curl -s <protocol>://<fqdn-address> con una dirección URL que no coincida con la regla de aplicación que ha configurado. En la captura de pantalla siguiente, no obtiene ninguna respuesta, lo que indica que su firewall ha bloqueado la solicitud saliente de la aplicación.

    Captura de pantalla del envío del tráfico saliente mediante el comando curl en la consola de depuración de SCM.

Sugerencia

Dado que estas solicitudes salientes pasan por el firewall, puede capturarlas en los registros de firewall habilitando el registro de diagnóstico para el firewall (habilite AzureFirewallApplicationRule).

Si ejecuta los comandos curl con los registros de diagnóstico habilitados, puede encontrarlos en los registros de firewall.

  1. En Azure Portal, vaya a su firewall.

  2. En el panel de navegación izquierdo, seleccione Registros.

  3. Cierre el mensaje de bienvenida seleccionando X.

  4. En Todas las consultas, seleccione Registros de firewall>Datos de registro de regla de aplicación.

  5. Haga clic en Ejecutar. Puede ver estos dos registros de acceso en el resultado de la consulta.

    Captura de pantalla de la consola de depuración de SCM para comprobar el tráfico saliente con errores mediante el comando curl.

Más recursos

Supervisión de métricas y registros de Azure Firewall