Compartir a través de


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 comandos curl. En este procedimiento, use curl para comprobar que la aplicación contenedora está implementada correctamente. Si no tiene una aplicación contenedora con curl implementada, puede implementar el siguiente contenedor que admite curl, 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.

  1. Abra la red virtual integrada con la aplicación en Azure Portal.

  2. En el menú de la izquierda, seleccione Subredes, y después + Subred.

  3. 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.
  4. Seleccione Guardar.

Implementación del firewall

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

  2. Busque Firewall.

  3. Seleccione Firewall.

  4. Seleccione Crear.

  5. 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.
  6. Seleccione Revisar + crear. Una vez que se complete la validación, seleccione Crear. El paso de validación puede tardar unos minutos en completarse.

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

  8. 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.

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

  2. Busque Tablas de rutas.

  3. Seleccione Tablas de rutas.

  4. Seleccione Crear.

  5. 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.
  6. Seleccione Revisar + crear. Una vez que se complete la validación, seleccione Crear.

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

  8. En el menú de la izquierda, seleccione Rutas, y a continuación, seleccione Agregar para crear una nueva tabla de rutas

  9. 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.
  10. Seleccione Agregar para crear la ruta.

  11. 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.

  12. 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.
  13. 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.

  1. En su recurso Azure Firewall en la página Información general, seleccione Política de firewall

  2. En el menú de la izquierda de la página de directiva de firewall, seleccione Reglas de aplicación.

  3. Seleccione Agregar una colección de reglas.

  4. 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
  5. 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.

  6. 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 curldesde la consola de depuración de la aplicación.

  1. Vaya a la aplicación contenedora configurada con Azure Firewall.

  2. En el menú de la izquierda, seleccione Consola, y después, seleccione el contenedor que admita el comando curl.

  3. En el menú Elegir comando de inicio, seleccione /bin/sh, y seleccione Conectar.

  4. En la consola, ejecute curl -s https://mcr.microsoft.com. Debería ver una respuesta satisfactoria al agregar mcr.microsoft.com a la lista de permitidos para sus directivas de firewall.

  5. Ejecute curl -s https://<FQDN_ADDRESS> para una dirección URL que no coincida con ninguna de las reglas de destino, como example.com. El comando de ejemplo sería curl -s https://example.com. No debería recibir ninguna respuesta, lo que indica que el firewall ha bloqueado la solicitud.

Pasos siguientes