Implementación de patrones para la entrada segura de red

La entrada segura de red encapsula varios patrones de diseño, incluidos los de enrutamiento global, descongestión global y supervisión del estado de los extremos. Puede usar la implementación de patrones de este artículo como puerta de enlace para cualquier carga de trabajo HTTP o HTTPS que requiera alta disponibilidad o confiabilidad, proporcionando un enrutamiento seguro a nivel global a las cargas de trabajo en regiones diferentes y garantizando una conmutación por error con baja latencia.

Vídeo: Implementación de entrada segura de red

Requisitos de patrón

En este artículo se describen tres requisitos en los que la implementación del patrón para el ingreso seguro en la red se centra: enrutamiento global, conmutación por error de baja latencia y mitigación de ataques en el perímetro.

Enrutamiento global

El patrón de entrada seguro de red encapsula el patrón de enrutamiento global. Por lo tanto, la implementación puede enrutar solicitudes a cargas de trabajo en diferentes regiones.

Diagrama que muestra una solicitud HTTPS que se enruta a dos cargas de trabajo en regiones diferentes.

Conmutación por error de baja latencia

La implementación debe ser capaz de identificar cargas de trabajo correctas y incorrectas y ajustar el enrutamiento en consecuencia de una manera sensible al tiempo. La latencia debe ser capaz de admitir el ajuste del enrutamiento en cuestión de minutos.

Diagrama que muestra una solicitud HTTPS que no se enruta a una carga de trabajo no saludable.

Mitigación de ataques en el perímetro

La mitigación de ataques en el perímetro requiere la parte "segura de red" de la implementación. Las cargas de trabajo o los servicios de plataforma como servicio (PaaS) no deben ser accesibles a través de Internet. El tráfico de Internet solo debe poder enrutarse a través de la puerta de enlace. La puerta de enlace debe tener la capacidad de mitigar las vulnerabilidades de seguridad.

Diagrama que muestra una solicitud HTTPS con una instrucción SQL en la cadena de consulta de una solicitud que no se detiene en el borde.

Patrones

Esta solución implementa los siguientes patrones de diseño:

Diseño

Diagrama que muestra una solicitud que fluye a través de Azure Front Door Premium a sellos regionales.

En el diagrama se muestra una solicitud HTTPS que fluye a un cuadro Azure Front Door Premium, que tiene un firewall de aplicaciones web en él. Esto muestra la integración entre Azure Front Door Premium y Azure Web Application Firewall. A continuación, el diagrama muestra la solicitud que fluye a través de Private Link a dos sellos en regiones diferentes. Cada stamp tiene un sitio web estático y un balanceador de carga interno. Las solicitudes fluyen a través de Private Link hacia los sitios web estáticos y los equilibradores de carga en ambas instancias.

Esta implementación incluye los siguientes detalles:

  • Usa cuentas de Azure Blob Storage para simular cargas de trabajo web estáticas que se ejecutan en dos regiones. Esta implementación no incluye ninguna carga de trabajo que se ejecute detrás de un equilibrador de carga interno (ILB). El diagrama muestra un ILB para ilustrar que esta implementación funcionaría para cargas de trabajo privadas que se ejecutan detrás de un ILB.
  • Usa el nivel Premium de Azure Front Door como puerta de enlace global.
  • La instancia de Azure Front Door tiene una directiva global de firewall de aplicaciones web (WAF) configurada con reglas administradas que ayudan a protegerse frente a vulnerabilidades de seguridad comunes.
  • Las cuentas de almacenamiento no se exponen a través de Internet.
  • El nivel Azure Front Door Premium accede a las cuentas de almacenamiento a través de Azure Private Link.
  • La instancia de Azure Front Door tiene la siguiente configuración de alto nivel:
    • Un punto de conexión con una sola ruta que apunta a un único grupo de origen. Un grupo de origen es una colección de orígenes o servicios de fondo.
    • El grupo de origen tiene un origen configurado para que apunte a cada cuenta de almacenamiento.
    • Cada origen solicita acceso mediante Private Link a la cuenta de almacenamiento.
    • El grupo de origen tiene sondas de estado configuradas para acceder a una página HTML en las cuentas de almacenamiento. La página HTML actúa como punto de conexión de mantenimiento para las cargas de trabajo estáticas. Si los sondeos logran acceder al origen en tres de los últimos cuatro intentos, el origen se considera en buen estado.

Componentes

Solicitud web

  • Azure Web Application Firewall es un servicio de seguridad que protege las aplicaciones web frente a amenazas comunes y vulnerabilidades mediante conjuntos de reglas administrados por Microsoft. En esta arquitectura, el nivel Premium se integra con Azure Front Door Premium para inspeccionar y bloquear el tráfico HTTP y HTTPS malintencionado antes de que llegue a los servicios back-end.
  • Azure Private Link es un servicio que permite la conectividad privada a los servicios PaaS de Azure a través de la red troncal de Microsoft. En esta arquitectura, permite que Azure Front Door acceda de forma segura a las cuentas de almacenamiento sin exponerlas a la red pública de Internet.
  • Azure Front Door Premium es una red de entrega de aplicaciones global que proporciona características de seguridad, enrutamiento y equilibrio de carga de nivel 7. En esta arquitectura, actúa como puerta de enlace global segura. Enruta el tráfico a las cargas de trabajo regionales y aplica las directivas de Firewall de aplicaciones web mientras se comunica de forma privada a través de Private Link. El nivel Premium admite los siguientes componentes:
    • Private Link permite a Azure Front Door conectarse a servicios paaS o cargas de trabajo en una red virtual privada a través de la red troncal de Microsoft.
    • Los conjuntos de reglas administrados por Microsoft solo están disponibles en el nivel Premium de Azure Front Door, que se integra con el nivel Premium de Firewall de aplicaciones web para la protección contra vulnerabilidades comunes.
  • Azure Storage es un servicio de almacenamiento en la nube escalable para datos estructurados y no estructurados. En esta arquitectura, Blob Storage tiene en cuenta los recursos web estáticos y actúa como destino de origen para el enrutamiento de Azure Front Door.
  • Un ILB distribuye el tráfico IP privado dentro de una red virtual o entre redes conectadas. Esta implementación no usa directamente un ILB, pero se representa en la arquitectura para mostrar cómo las cargas de trabajo privadas detrás de un ILB se pueden enrutar de forma similar a las cuentas de almacenamiento.

Operaciones

Proteger los recursos desde una perspectiva de red ayuda a protegerse contra vulnerabilidades de seguridad, pero también aísla los recursos de los procesos o administradores que podrían necesitar acceder a esos recursos. Por ejemplo, un agente de compilación en una canalización de DevOps podría necesitar acceder a la cuenta de almacenamiento para implementar una actualización en la aplicación web. Además, es posible que un administrador tenga que acceder al recurso con fines de solución de problemas.

Para ilustrar cómo proporcionar acceso a acceso seguro de red con fines operativos, esta implementación implementa una máquina virtual (VM) en una red virtual que tiene acceso a Private Link a las cuentas de almacenamiento. Esta implementación implementa Azure Bastion, que el administrador puede usar para conectarse a la máquina virtual. En el escenario de implementación, se podría implementar un agente de compilación privado en la red virtual, de forma similar a la forma en que se encontraba la máquina virtual.

Estos son los detalles sobre los componentes de las operaciones:

  • Azure Virtual Network es un servicio de red que permite una comunicación segura entre los recursos. En esta arquitectura, la red virtual contiene los componentes necesarios para que un administrador se comunique de forma segura con la cuenta de almacenamiento a través de la red troncal privada de Microsoft.
  • Azure Virtual Machines es una oferta de infraestructura como servicio (IaaS) que proporciona recursos de proceso escalables. En esta arquitectura, una máquina virtual actúa como jump box para que los administradores accedan de forma segura a los recursos protegidos por la red.
  • Azure Bastion es un PaaS administrado que proporciona acceso de Protocolo de escritorio remoto (RDP) y Secure Shell (SSH) a las máquinas virtuales sin exponer direcciones IP públicas. En esta arquitectura, permite a los administradores conectarse a la máquina virtual de jump box a través de SSH para operaciones seguras.
  • Un punto de conexión de Private Link es una interfaz de red que se conecta a los servicios de Azure a través de Private Link y asigna una dirección IP privada desde la red virtual. En esta arquitectura, el punto de conexión privado se conecta al servicio PaaS de la cuenta de almacenamiento. Esta conexión permite que los recursos de la red virtual privada se comuniquen con la cuenta de almacenamiento a través de la dirección IP privada.
  • Una zona DNS privada de Azure es un servicio del sistema de nombres de dominio (DNS) que resuelve los nombres de dominio en direcciones IP privadas dentro de una red virtual. En esta arquitectura, resuelve el nombre de host de Private Link de la cuenta de almacenamiento en su dirección IP privada, lo que permite el acceso seguro desde la máquina virtual.

Flujo de solicitud web

Diagrama que muestra el flujo de una solicitud web.

En el diagrama se muestra un usuario que realiza una solicitud web a Azure Front Door. En el recuadro titulado Azure Front Door, el diagrama muestra cada uno de los pasos del flujo de enrutamiento de dicho servicio. Resaltado en el flujo está el paso en el que se evalúan las reglas de WAF, se hace coincidir la ruta con Azure Front Door, se selecciona un grupo de origen y se escoge un origen de ese grupo. La última parte resaltada es donde Azure Front Door se conecta a la cuenta de Azure Blob Storage mediante Private Link.

  1. El usuario emite una solicitud HTTP o HTTPS a un punto de conexión de Azure Front Door.

  2. Se evalúan las reglas de WAF. Las reglas que coinciden siempre se registran. Si el modo de directiva WAF de Azure Front Door está establecido en prevención y la regla de coincidencia tiene una acción establecida para bloquear por anomalía, la solicitud se bloquea. De lo contrario, la solicitud continúa o se redirige o se evalúan las reglas posteriores.

  3. La ruta configurada en Azure Front Door coincide y se selecciona el grupo de origen correcto. En este ejemplo, la ruta de acceso era al contenido estático del sitio web.

  4. El origen se selecciona en el grupo de origen.

    a) En este ejemplo, los sondeos de salud consideran el sitio web insalubre, por lo que se elimina de los posibles orígenes.
    b. Este sitio web está seleccionado.

  5. La solicitud se enruta a la cuenta de almacenamiento de Azure a través de Private Link a través de la red troncal de Microsoft.

Para más información sobre la arquitectura de enrutamiento de Azure Front Door, consulte Introducción a la arquitectura de enrutamiento.

Flujo operativo

Diagrama que muestra el flujo que un administrador usaría para conectarse a un recurso protegido.

El diagrama tiene tres partes. En la primera parte se muestra Azure Blob Storage que actúa como un sitio web estático. Azure Front Door se conecta a través de Private Link a la cuenta de almacenamiento. La segunda parte es un cuadro que representa una red virtual. La red virtual tiene subredes y su contenido. Estas subredes incluyen una subred de punto de conexión privado que contiene un endpoint de Private Link con una dirección IP de 10.0.2.5, una subred de jump box con una máquina virtual de jump box, y una subred de Azure Bastion que incorpora Azure Bastion. La tercera parte es un usuario administrativo que usa SSH para acceder a la máquina virtual de Jump Box en la red virtual a través de Azure Bastion. Una flecha va de la máquina virtual a la zona DNS privada de Azure. La última flecha va de la máquina virtual al punto de conexión de Private Link y, a continuación, a la cuenta de almacenamiento.

  1. Un administrador se conecta a la instancia de Azure Bastion que se implementa en la red virtual.

  2. Azure Bastion proporciona conectividad SSH a la máquina virtual de jump box.

  3. El administrador del jump box intenta acceder a la cuenta de almacenamiento a través de la CLI de Azure. La caja de salto realiza una consulta DNS del punto de conexión de la cuenta pública de Azure Blob Storage: storageaccountname.blob.core.windows.net.

    DNS privado finalmente se resuelve en storageaccountname.privatelink.blob.core.windows.net. Devuelve la dirección IP privada del punto de conexión de Private Link, que es 10.0.2.5 en este ejemplo.

  4. Se establece una conexión privada a la cuenta de almacenamiento a través del punto de conexión de Private Link.

Consideraciones

Tenga en cuenta los siguientes puntos al usar esta solución.

Fiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Este escenario aborda los siguientes puntos clave sobre la confiabilidad:

  • El enrutamiento global con baja latencia, mediante el uso de sondeos de estado, permite la confiabilidad al aislar la aplicación frente a interrupciones regionales.
  • El firewall de aplicaciones web en Azure Front Door proporciona protección centralizada para las solicitudes HTTP y HTTPS.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Este escenario aborda los siguientes puntos clave sobre la seguridad:

Optimización de costos

La optimización de costos consiste en examinar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Información general sobre el pilar de optimización de costos.

Aunque Tanto Azure Front Door Premium como Web Application Firewall Premium proporcionan características de seguridad avanzadas a través del nivel Estándar, hay un costo adicional para ambos. Revise los siguientes recursos para más información sobre los precios de Azure Front Door y el firewall de aplicaciones web:

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

La implementación de límites de seguridad de red agrega complejidad a las operaciones y la implementación. Tenga en cuenta los siguientes puntos:

  • Los intervalos IP de los agentes hospedados por Microsoft varían con el tiempo. Considere la posibilidad de implementar agentes autohospedados en la red virtual.
  • Implemente Azure Bastion para escenarios en los que los equipos de operaciones necesitan acceder a los recursos seguros de red.
  • El uso del firewall de aplicaciones web en Azure Front Door para proporcionar protección centralizada para las solicitudes HTTP y HTTPS es un ejemplo del patrón de descarga de puerta de enlace. La responsabilidad de examinar las solicitudes de exploits se delega en el firewall de aplicaciones web de Azure Front Door. La ventaja de una perspectiva de excelencia operativa es que necesita administrar las reglas en un solo lugar.

Eficiencia del rendimiento

La eficacia del rendimiento es la capacidad de la carga de trabajo para escalar para satisfacer las demandas que los usuarios colocan en ella. Para más información, consulte Información general sobre el pilar de eficiencia del rendimiento.

El enrutamiento global permite el escalado horizontal a través de la implementación de más recursos en la misma región o regiones diferentes.