Simplificación de la administración de reglas con grupos de seguridad de aplicaciones
El equipo de seguridad de Contoso implementó correctamente las reglas del grupo de seguridad de red (NSG) en el módulo anterior mediante rangos CIDR de subred. Dentro de una semana, el equipo de desarrollo agregó 12 nuevas máquinas virtuales de capa de aplicación como parte de un escalado horizontal. Las reglas existentes siguen funcionando técnicamente, pero el equipo se da cuenta de que el seguimiento de direcciones IP de máquina virtual individuales en 40 máquinas virtuales de nivel de aplicación y 20 máquinas virtuales de capa de base de datos no es sostenible. Cuando el equipo de la aplicación se migre a Azure Kubernetes Service el próximo trimestre, las direcciones IP de los pods cambian con cada implementación. Aquí aprenderá cómo los grupos de seguridad de aplicaciones (ASG) resuelven este problema de mantenimiento mediante la agrupación de máquinas virtuales por función en lugar de la dirección IP y cómo actualizar las reglas de NSG para hacer referencia a esos grupos.
| tarea | Approach |
|---|---|
| Agrupación de máquinas virtuales por función | Creación de ASG para cada nivel (web, aplicación, base de datos) |
| Aplicación de pertenencia de grupo | Asocie la tarjeta de interfaz de red (NIC) de cada máquina virtual al ASG adecuado. |
| Actualización de reglas de NSG | Sustituir los orígenes CIDR por referencias de ASG |
| Incorporación de nuevas máquinas virtuales | Asociar la NIC a ASG: las reglas se aplican automáticamente |
¿Por qué las reglas basadas en IP fallan a escala?
Las direcciones IP cambian constantemente a medida que evoluciona la infraestructura. Las máquinas virtuales se vuelven a implementar, se escalan, se migran y se sustituyen: cada evento cambia la dirección IP y puede provocar que se incumplan las reglas de NSG que hacen referencia a intervalos específicos de enrutamiento entre dominios sin clase (CIDR).
Con implementaciones grandes, los conjuntos de reglas se vuelven inadministrables. Una red virtual plana (red virtual) con 60 máquinas virtuales en tres niveles requiere el seguimiento de 60 direcciones IP individuales o el mantenimiento de varios intervalos CIDR que incluyen direcciones que no controla. Cuando Contoso descubrió que agregar 12 máquinas virtuales a un nivel existente implica recalcular qué bloques CIDR están en uso y comprobar que las reglas existentes siguen cubriendo los puntos de conexión adecuados.
Las reglas obsoletas generan riesgos de seguridad. Una regla que era precisa el último trimestre puede permitir el tráfico de máquinas virtuales que los equipos han reasignado, o puede bloquear aquellas máquinas virtuales que ahora necesitan acceso. El seguimiento manual no es escalable y la documentación basada en IP se queda obsoleta en el mismo momento en que se documenta.
El problema principal es el acoplamiento. Las reglas basadas en IP acoplan directivas de seguridad a la topología de infraestructura. Cuando cambia la topología, y siempre lo hace, la directiva de seguridad queda invalidada. Los grupos de seguridad de aplicaciones los desacoplan.
¿Qué grupos de seguridad de aplicaciones son?
Un grupo de seguridad de aplicaciones (ASG) es un grupo lógico de máquinas virtuales definidas por la pertenencia a la NIC, no una dirección IP. Los ASG existen en el nivel de recursos de Azure: se crea un ASG como un recurso con nombre y, a continuación, se asocian una o varias NIC a él.
La regla de NSG hace referencia al ASG como origen o destino. Cuando una NIC se une al ASG, el tráfico de esa NIC hereda automáticamente las reglas que hacen referencia a ese ASG. Al quitar una NIC del ASG, las reglas ya no se aplican al tráfico de esa NIC, no se requiere ninguna modificación de regla.
Compare esto con el enfoque CIDR de la unidad anterior. En lugar de escribir "source = 10.0.2.0/24" en una regla de NSG, escriba "source = asg-app-tier". Cualquier máquina virtual cuya NIC esté asociada a asg-app-tier coincide con esa regla. Agregar una nueva máquina virtual significa asociar su NIC al ASG; la regla de NSG no cambia.
Los ASG no reemplazan a los NSG. Facilitan el mantenimiento de los orígenes y destinos de las reglas de NSG. El NSG sigue aplicando las reglas; los ASG proporcionan una manera dinámica, basada en la pertenencia, para identificar los orígenes y destinos del tráfico.
Tip
Asocie todas las NIC al ASG adecuado antes de actualizar las reglas de NSG para que hagan referencia a dichos ASG. Una regla de NSG que hace referencia a un ASG solo se aplica a las NIC que son miembros de ese ASG; si actualiza primero la regla, el tráfico se puede bloquear hasta que se completen las asociaciones de NIC.
Cómo simplifican los ASG la administración de reglas
Contoso crea tres ASG en el portal de Azure para representar su arquitectura de tres niveles: asg-web-tier, asg-app-tier y asg-database-tier. A continuación, el equipo asocia la interfaz de red de cada máquina virtual al ASG adecuado. En el caso de una máquina virtual de nivel web, abren la interfaz de red de la máquina virtual en el portal, navegan a Grupos de seguridad de aplicaciones y agregan la NIC a asg-web-tier.
Con las NIC asociadas a los ASG, el equipo actualiza las reglas de NSG existentes para reemplazar los orígenes basados en CIDR por orígenes basados en ASG. Aquí se muestra cómo cambian las reglas de capa de base de datos de Contoso:
Antes (basado en CIDR):
| Objetivo | Source | Puerto de destino | Acción |
|---|---|---|---|
| Bloquear web → base de datos | 10.0.1.0/24 (subred web) | 1433 | Denegar |
| Permitir aplicación → base de datos | 10.0.2.0/24 (subred de la aplicación) | 1433 | Permitir |
Después (basado en ASG):
| Objetivo | Source | Puerto de destino | Acción |
|---|---|---|---|
| Bloquear web → base de datos | asg-web-tier | 1433 | Denegar |
| Permitir aplicación → base de datos | asg-nivel-de-aplicación | 1433 | Permitir |
La ventaja de seguridad queda clara cuando el equipo de la aplicación agrega nuevas máquinas virtuales. La NIC de cada nueva máquina virtual se asocia a asg-app-tier durante el provisionamiento. La regla de NSG que permite asg-app-tier llegar al puerto 1433 se aplica automáticamente a la nueva máquina virtual, sin cambios de regla, sin seguimiento de IP ni tiempo de inactividad. Si se retira una máquina virtual, la eliminación de su NIC del ASG revoca inmediatamente el acceso otorgado por las reglas que hacen referencia a dicho ASG.
Los ASG también admiten escenarios complejos. Una sola NIC puede ser miembro de varios ASG, lo que le permite conceder distintos tipos de acceso en función de las pertenencias a grupos superpuestas. Los ASG pueden servir como origen y destino en la misma regla, siempre y cuando ambos ASG estén en la misma red virtual.
Ámbito y limitaciones de ASG
Los ASG simplifican la administración de reglas, pero tienen límites de ámbito. Los ASG se limitan a una sola red virtual: no se puede usar un ASG creado en VNet-A como origen en una regla de NSG aplicada a los recursos de VNet-B. Además, los ASG no abarcan las suscripciones a efectos de las reglas de NSG. Si Contoso tiene cargas de trabajo en varias suscripciones, cada suscripción necesita sus propios ASG.
Los ASG no crean subredes ni cambian el enrutamiento. Solo afectan a la coincidencia de las reglas de NSG. Un ASG no afecta al flujo de tráfico a menos que una regla de NSG haga referencia a él. Sin la regla, el ASG es solo un contenedor vacío.
Azure aplica límites en el uso de ASG. Cada suscripción admite hasta 3,000 ASG, y cada NIC admite hasta 20 asociaciones ASG. En la práctica, estos límites rara vez se convierten en restricciones: la mayoría de las organizaciones usan menos de 20 ASG por red virtual para representar niveles funcionales, entornos o zonas de seguridad.
Los ASG permiten escribir reglas de NSG que se adapten a la topología de carga de trabajo sin seguimiento de IP constante. Sin embargo, los ASG se limitan a una sola red virtual y no sirven de ayuda cuando las reglas de los NSG varían entre las distintas suscripciones. Cuando diferentes equipos administran sus propias redes virtuales y configuraciones de NSG, la inconsistencia vuelve a aparecer y un solo equipo puede crear reglas que socaven la base de seguridad de la organización. En la unidad siguiente, usará Azure Virtual Network Manager para aplicar una directiva de red coherente en todas las suscripciones desde un único plano de control.