Control del tráfico saliente de Azure Container Apps con rutas definidas por el usuario
Nota:
Esta característica solo se admite para el tipo de entorno de perfiles de carga de trabajo.
En este artículo se muestra cómo usar rutas definidas por el usuario (UDR) con Azure Firewall para bloquear el tráfico saliente de Container Apps a recursos de Azure back-end u otros recursos de red.
Azure crea una tabla de rutas predeterminada para las redes virtuales en la creación. Al implementar una tabla de rutas definida por el usuario, puede controlar cómo se enruta el tráfico dentro de la red virtual. En esta guía, el UDR de configuración en la red virtual de Container Apps para restringir el tráfico saliente con Azure Firewall.
También puede usar una puerta de enlace NAT o cualquier otro dispositivo de terceros en lugar de Azure Firewall.
Consulte la Configuración de UDR con Azure Firewall en redes en Azure Container Apps para obtener más información.
Requisitos previos
Entorno de perfiles de carga de trabajo: un entorno de perfiles de carga de trabajo integrado con una red virtual personalizada. Para obtener más información, consulte la guía de para crear un entorno de aplicación de contenedor en el entorno de perfiles de carga de trabajo.
curl
admite: su aplicación contenedora debe tener un contenedor que admita comandoscurl
. En este procedimiento, usecurl
para comprobar que la aplicación contenedora está implementada correctamente. Si no tiene una aplicación contenedora concurl
implementada, puede implementar el siguiente contenedor que admitecurl
,mcr.microsoft.com/k8se/quickstart:latest
.
Creación de la subred de firewall
Se requiere una subred denominada AzureFirewallSubnet para implementar un firewall en la red virtual integrada.
Abra la red virtual integrada con la aplicación en Azure Portal.
En el menú de la izquierda, seleccione Subredes, y después + Subred.
Escriba los siguientes valores:
Configuración Acción Nombre Escriba AzureFirewallSubnet. Intervalo de direcciones de subred Use el valor predeterminado o especifique un intervalo de subred de /26 o superior. Seleccione Guardar.
Implementación del firewall
En el menú de Azure Portal o la página Inicio, seleccione Crear un recurso.
Busque Firewall.
Seleccione Firewall.
Seleccione Crear.
En la página Crear un firewall, configure el firewall con los valores siguientes.
Configuración Acción Grupo de recursos Escriba el mismo grupo de recursos que la red virtual integrada. Nombre Escriba un nombre de su elección Región Seleccione 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. Seleccione Revisar + crear. Una vez que se complete la validación, seleccione Crear. El paso de validación puede tardar unos minutos en completarse.
Una vez completada la implementación, seleccione Ir al recurso.
En la página Información general del firewall, copie la IP privada del firewall. Esta dirección IP se usa como la dirección del próximo salto al crear la regla de enrutamiento para la red virtual.
Enrute todo el tráfico al firewall
Las redes virtuales de Azure tienen tablas de rutas predeterminadas en su lugar al crear la red. Al implementar una tabla de rutas definida por el usuario, puede controlar cómo se enruta el tráfico dentro de la red virtual. En los pasos siguientes, creará una UDR para enrutar todo el tráfico a Azure Firewall.
En el menú de Azure Portal o la página Inicio, seleccione Crear un recurso.
Busque Tablas de rutas.
Seleccione Tablas de rutas.
Seleccione Crear.
Escriba los siguientes valores:
Configuración Acción Región Seleccione la región como red virtual. Nombre Escriba un nombre. Propagación de rutas de puerta de enlace Seleccione No. Seleccione Revisar + crear. Una vez que se complete la validación, seleccione Crear.
Una vez completada la implementación, seleccione Ir al recurso.
En el menú de la izquierda, seleccione Rutas, y a continuación, seleccione Agregar para crear una nueva tabla de rutas
Configure la tabla de rutas con los valores siguientes:
Configuración Acción Prefijo de dirección Escriba 0.0.0.0/0 Tipo del próximo salto Seleccione Aplicación virtual Dirección del próximo salto Escriba la IP privada del firewall que ha guardado en Implementar el firewall. Seleccione Agregar para crear la ruta.
En el menú de la izquierda, seleccione Subredes, y a continuación, seleccione Asociar para asociar la tabla de rutas a la subred de la aplicación contenedora.
Configure la Asociar subred con los siguientes valores:
Configuración Acción Red virtual Seleccione la red virtual de la aplicación contenedora. Subred Seleccione la subred de la aplicación contenedora. Seleccione Aceptar.
Configuración de directivas de firewall
Nota:
Al usar UDR con Azure Firewall en Azure Container Apps, deberá agregar determinadas etiquetas de servicio y FQDN a la lista de permitidos para el firewall. Consulte Configuración de UDR con Azure Firewall para determinar qué etiquetas de servicio necesita.
Ahora, todo el tráfico saliente de la aplicación contenedora se enruta al firewall. Actualmente, el firewall todavía permite todo el tráfico saliente. Para administrar el tráfico saliente permitido o denegado, debe configurar directivas de firewall.
En su recurso Azure Firewall en la página Información general, seleccione Política de firewall
En el menú de la izquierda de la página de directiva de firewall, seleccione Reglas de aplicación.
Seleccione Agregar una colección de reglas.
Escriba los siguientes valores para la Colección de reglas:
Configuración Acción Nombre Escriba un nombre de colección. Tipo de colección de reglas Seleccione Aplicación Prioridad Escriba la prioridad como 110 Acción de recopilación de reglas Seleccione Permitir Grupo de colección de reglas Seleccione DefaultApplicationRuleCollectionGroup En Reglas, escriba los valores siguientes
Configuración Acción Nombre Escriba un nombre para la regla Tipo de origen Seleccione Dirección IP Origen Escriba *. Protocolo Escriba http:80,https:443 Tipo de destino Seleccione FQDN. Destino Escriba mcr.microsoft.com
,*.data.mcr.microsoft.com
. Si usa ACR, agregue su Dirección de ACR y*.blob.core.windows.net
.Action Seleccione Permitir Nota:
Si usa Registro de Docker Hub y quiere acceder a él a través del firewall, deberá agregar los siguientes FQDN a la lista de destino de reglas: hub.docker.com, registry-1.docker.io, y production.cloudflare.docker.com.
Seleccione Agregar.
Comprobación de que el firewall está bloqueando el tráfico saliente
Para comprobar que la configuración del firewall está configurada correctamente, puede usar el comando curl
desde la consola de depuración de la aplicación.
Vaya a la aplicación contenedora configurada con Azure Firewall.
En el menú de la izquierda, seleccione Consola, y después, seleccione el contenedor que admita el comando
curl
.En el menú Elegir comando de inicio, seleccione /bin/sh, y seleccione Conectar.
En la consola, ejecute
curl -s https://mcr.microsoft.com
. Debería ver una respuesta satisfactoria al agregarmcr.microsoft.com
a la lista de permitidos para sus directivas de firewall.Ejecute
curl -s https://<FQDN_ADDRESS>
para una dirección URL que no coincida con ninguna de las reglas de destino, comoexample.com
. El comando de ejemplo seríacurl -s https://example.com
. No debería recibir ninguna respuesta, lo que indica que el firewall ha bloqueado la solicitud.