Implementación del patrón de entrada segura de red
La entrada segura de red encapsula varios patrones de diseño, incluidos los de enrutamiento global, descarga global y supervisión de puntos de conexión de estado. La implementación del patrón de este artículo se puede usar como puerta de enlace para cualquier carga de trabajo HTTP o HTTPS que requiera alta disponibilidad o confiabilidad proporcionando enrutamiento global seguro a las cargas de trabajo en regiones diferentes con conmutación por error de baja latencia.
Vídeo: Implementación de la entrada segura de red
Requisitos del patrón
Este artículo trata de los tres requisitos en los que se centra la implementación del patrón de entrada segura de red: enrutamiento global, conmutación por error de baja latencia y mitigación de ataques en el borde.
Enrutamiento global
El patrón de entrada segura de red encapsula el patrón de enrutamiento global. Por lo tanto, la implementación puede enrutar solicitudes a cargas de trabajo de diferentes regiones.
Conmutación por error de baja latencia
La implementación debe ser capaz de identificar las cargas de trabajo correctas e incorrectas, y de ajustar el enrutamiento según corresponda de una manera sensible al tiempo. La latencia debe ser capaz de admitir el ajuste del enrutamiento en cuestión de minutos.
Mitigación de ataques en el perímetro
La mitigación de los ataques en el borde requiere la parte "segura de red" de la implementación. Las cargas de trabajo y los servicios de plataforma como servicio (PaaS) no deben ser accesibles mediante Internet. El tráfico de Internet solo se debe poder enrutar mediante la puerta de enlace. La puerta de enlace debe tener la capacidad de mitigar las vulnerabilidades de seguridad.
Patrones
Esta solución implementa los siguientes patrones de diseño:
- Patrón de enrutamiento de puerta de enlace: enruta las solicitudes a varios servicios o instancias de servicio que pueden residir en regiones diferentes.
- Patrón de descarga de puerta de enlace: descarga la funcionalidad, como la mitigación de ataques, en un proxy de puerta de enlace.
- Patrón de supervisión de puntos de conexión de estado: exponen puntos de conexión que validan el estado de la carga de trabajo.
Diseño
En el diagrama, se muestra una solicitud HTTPS que fluye a un cuadro de Azure Front Door Premium que tiene Web Application Firewall. Esto ilustra la integración entre Azure Front Door Premium y Azure Web Application Firewall. A continuación, el diagrama muestra la solicitud que fluye mediante Private Link a dos stamps de regiones diferentes. Cada stamp tiene un sitio web estático y un equilibrador de carga interno. Las solicitudes fluyen mediante Private Link a los sitios web estáticos y a los equilibradores de carga de ambos stamps.
Esta implementación incluye los siguientes detalles:
- Usa las 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 ejecuten 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 Web Application Firewall (WAF) configurada con reglas administradas que le protegen frente a vulnerabilidades de seguridad comunes.
- Las cuentas de almacenamiento no se exponen mediante Internet.
- El nivel Premium de Azure Front Door accede a las cuentas de almacenamiento mediante Azure Private Link.
- La instancia de Azure Front Door tiene la siguiente configuración general:
- 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 back-ends.
- El grupo de origen tiene un origen configurado que apunta a cada cuenta de almacenamiento.
- Cada origen solicita acceso de Private Link a la cuenta de almacenamiento.
- El grupo de origen tiene sondeos de estado configurados para acceder a una página HTML de las cuentas de almacenamiento. La página HTML actúa como punto de conexión de estado para las cargas de trabajo estáticas. Si los sondeos pueden acceder correctamente al origen en tres de los últimos cuatro intentos, el origen se considera correcto.
Componentes
Solicitud web
- Azure Web Application Firewall: el nivel Premium de Web Application Firewall admite reglas administradas por Microsoft que le protegen frente a vulnerabilidades de seguridad comunes.
- Azure Private Link: los puntos de conexión privados de Azure Private Link exponen un servicio PaaS de Azure a una dirección IP privada de una red virtual. Esta exposición permite que la comunicación fluya mediante la red troncal de Microsoft y no en la red pública de Internet.
- Nivel Premium de Azure Front Door: Azure Front Door proporciona equilibrio de carga global de capa 7. Azure Front Door tiene integración con Web Application Firewall. El nivel Premium admite:
- Azure Private Link: la compatibilidad de Private Link permite que Azure Front Door se comunique con los servicios PaaS o las cargas de trabajo que se ejecutan en una red virtual privada mediante la red troncal de Microsoft.
- Conjuntos de reglas administrados por Microsoft: el nivel Premium de Azure Front Door admite el nivel Premium de Web Application Firewall, que admite el conjunto de reglas administradas en WAF.
- Azure Storage: las cuentas de Blob Storage se usan en esta implementación para representar una carga de trabajo un sitio web estáticos.
- Equilibrador de carga interno: esta implementación no usa el equilibrador de carga interno. Se muestra para representar una carga de trabajo privada que se ejecuta detrás de ese equilibrador de carga. El enrutamiento a la cuenta de almacenamiento es el mismo que se haría a los equilibradores de carga.
Operations
La protección de los recursos desde una perspectiva de red ayuda a proteger contra vulnerabilidades de seguridad, pero también aísla los recursos para procesos o administradores que podrían necesitar acceder a esos recursos. Por ejemplo, un agente de compilación de 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 seguro de red con fines operativos, esta implementación implementa una máquina virtual (VM) en una red virtual que tiene acceso de 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 como se haría con la máquina virtual.
Estos son los detalles sobre los componentes de las operaciones:
- Azure Virtual Network: esta implementación usa la red virtual para contener los componentes necesarios a fin de que un administrador se comunique de forma segura con la cuenta de almacenamiento mediante la red troncal privada de Microsoft.
- Azure Virtual Machines: esta implementación usa una máquina virtual como jumpbox para que los administradores se conecten. La máquina virtual se implementa en la red virtual privada.
- Azure Bastion: Azure Bastion permite al administrador conectarse de forma segura a la máquina virtual de jumpbox mediante Secure Shell (SSH) sin necesidad de que la máquina virtual tenga una dirección IP pública.
- Punto de conexión de Private Link: el punto de conexión privado tiene asignada una dirección IP privada de la red virtual y 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.
- Zona de Azure DNS privada: la zona de Azure DNS privada es un servicio DNS que se usa para resolver el nombre de host de Private Link de la cuenta de Azure Storage en la dirección IP privada del punto de conexión privado.
Flujo de la solicitud web
En el diagrama, se muestra un usuario que realiza una solicitud web a Azure Front Door. En el cuadro Azure Front Door, el diagrama muestra cada uno de los pasos del flujo de enrutamiento de Azure Front Door. Está resaltado en el flujo el paso en el que se evalúan las reglas de WAF, donde se compara la ruta de Azure Front Door y se selecciona un grupo de origen, y dónde se selecciona el origen desde el grupo de origen. La última parte resaltada es donde Azure Front Door se conecta a la cuenta de Azure Blob Storage mediante Private Link.
El usuario emite una solicitud HTTP o HTTPS a un punto de conexión de Azure Front Door.
Se evalúan las reglas de WAF. Siempre se registran las reglas que coinciden. Si el modo de directiva de WAF de Azure Front Door está establecido en prevención y la regla de coincidencia tiene una acción establecida en bloquear en anomalías, la solicitud se bloquea. De lo contrario, la solicitud continúa o se redirige o las reglas posteriores se evalúan.
Se busca la coincidencia de la ruta configurada en Azure Front Door y se selecciona el grupo de origen correcto. En este ejemplo, la ruta de acceso era al contenido estático del sitio web.
El origen se selecciona desde el grupo de origen.
a. En este ejemplo, los sondeos de estado consideran incorrecto el sitio web, por lo que se elimina de los posibles orígenes.
b. Este sitio web está seleccionado.La solicitud se enruta a la cuenta de Azure Storage mediante 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
El diagrama tiene tres partes. La primera parte muestra que Azure Blob Storage actúa como un sitio web estático. Azure Front Door se conecta mediante 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 tienen una subred de punto de conexión privado con la dirección IP 10.0.2.5, 2, una subred de jumpbox con una máquina virtual de jumpbox y una subred de Azure Bastion con Azure Bastion en ella. La tercera parte es un usuario administrativo que usa SSH para acceder a la máquina virtual jumpbox en la red virtual a través de Azure Bastion. Una flecha va de la máquina virtual a la zona de Azure DNS privada. La última flecha va de la máquina virtual al punto de conexión de vínculo privado y, a continuación, a la cuenta de almacenamiento.
Un administrador se conecta a la instancia de Azure Bastion que se implementó en la red virtual.
Azure Bastion proporciona conectividad SSH a la máquina virtual de jumpbox.
En el jumpbox, el administrador intenta acceder a la cuenta de almacenamiento mediante la CLI de Azure. El jumpbox consulta de DNS para el punto de conexión de la cuenta pública de Azure Blob Storage:
storageaccountname.blob.core.windows.net
.DNS privado, en última instancia, 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.Se establece una conexión privada a la cuenta de almacenamiento mediante el punto de conexión de Private Link.
Consideraciones
Tenga en cuenta los siguientes puntos al utilizar esta solución.
Confiabilidad
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.
En este escenario, se abordan los siguientes puntos clave relacionados con 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.
- Web Application Firewall 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.
En este escenario, se abordan los siguientes puntos clave relacionados con la seguridad:
- La compatibilidad de Private Link con Azure Front Door Premium elimina la necesidad de exponer los servicios internos o de PaaS mediante Internet. Private Link permite que Azure Front Door se comunique con los servicios privados o los servicios PaaS mediante la red troncal de Microsoft.
- Web Application Firewall en Azure Front Door proporciona protección centralizada para las solicitudes HTTP y HTTPS.
- Las reglas administradas de Web Application Firewall Premium son reglas administradas por Microsoft que le protegen frente a un conjunto de amenazas de seguridad comunes.
Optimización de costos
La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.
Aunque tanto Azure Front Door Premium como Web Application Firewall Premium proporcionan características de seguridad avanzadas con respecto al nivel Estándar, ambos tienen costos adicionales. Revise los siguientes recursos para obtener más información sobre los precios de Azure Front Door y Web Application Firewall:
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 con respecto 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 aquellos escenarios en los que los equipos de operaciones necesiten acceder a los recursos protegidos de la red.
- El uso de Web Application Firewall en Azure Front Door para proporcionar protección centralizada para las solicitudes HTTP o HTTPS es un ejemplo del patrón de descarga de puerta de enlace. La responsabilidad de examinar las solicitudes en busca de vulnerabilidades de seguridad se ha descargado en Web Application Firewall en Azure Front Door. La ventaja desde una perspectiva de excelencia operativa es que solo hay un lugar donde se deben administrar las reglas.
Importante
El ejemplo de entrada segura de red le permite implementar todos los recursos necesarios para conectarse a un jumpbox mediante Azure Bastion y conectarse a una máquina virtual protegida de la red.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad que tiene la carga de trabajo de escalar para satisfacer las demandas que los usuarios hayan realizado sobre ella. Para más información, consulte Información general sobre el pilar de eficiencia del rendimiento.
El enrutamiento global permite el escalado horizontal mediante la implementación de recursos adicionales en la misma región o en otras.
Pasos siguientes
- Haga esta implementación siguiendo los pasos descritos en el ejemplo de entrada protegida por la red.