Configuración de Azure Firewall para protección avanzada de red

Configuración de Azure Firewall para protección avanzada de red

08/08/2024

Este artículo técnico y educativo tiene como objetivo guiar a los analistas de seguridad, administradores de TI e ingenieros de sistemas en la configuración y el uso de Azure Firewall para una protección avanzada de la red. Azure Firewall es un servicio de seguridad de red administrado y basado en la nube que proporciona protección contra amenazas de Capa 4 y Capa 7 para los recursos de la red de Azure, lo que permite la centralización del control de la red y la implementación de políticas de seguridad consistentes en entornos de nube [1].

Introducción

En un panorama de nube en constante crecimiento, la seguridad de la red es un pilar fundamental para proteger las aplicaciones y los datos. Azure Firewall proporciona una solución sólida para inspeccionar y controlar el tráfico de red, actuando como un punto central de aplicación de políticas de seguridad. Va más allá de los grupos de seguridad de red (NSG) básicos al proporcionar funciones avanzadas como filtrado de tráfico basado en nombres de dominio completos (FQDN), inteligencia sobre amenazas, sistema de prevención y detección de intrusiones (IDPS) e inspección TLS, lo que lo hace esencial para arquitecturas de red seguras en Azure, especialmente en modelos Hub-and-Spoke [2].

Esta guía práctica cubrirá la implementación de Azure Firewall, la configuración de reglas de red y aplicaciones, la habilitación de inteligencia sobre amenazas e IDPS, la integración con otros servicios de Azure y las mejores prácticas para la gobernanza de la red. Se proporcionarán instrucciones paso a paso, ejemplos de comandos de la CLI de Azure y ejemplos para que el lector pueda implementar y validar una estrategia de protección de red eficaz, reduciendo la superficie de ataque y fortaleciendo la resiliencia cibernética de su infraestructura de Azure.

¿Por qué Azure Firewall es fundamental para la protección avanzada de la red?

  • Filtrado de tráfico avanzado: Le permite filtrar el tráfico de red según direcciones IP, puertos, protocolos, FQDN y URL, ofreciendo control granular.
  • Inteligencia sobre amenazas: bloquea automáticamente el tráfico hacia y desde dominios maliciosos conocidos y direcciones IP según las fuentes de inteligencia sobre amenazas de Microsoft.
  • IDPS (Sistema de prevención y detección de intrusiones): Detecta y bloquea ataques basados ​​en firmas en tiempo real, incluidos exploits de vulnerabilidad y malware.
  • Inspección TLS: descifra el tráfico TLS/SSL saliente para inspeccionar amenazas ocultas y aplicar políticas de seguridad, volviéndolo a cifrar antes de enviarlo al destino.
  • Implementación centralizada: se puede implementar en una red virtual central para proteger múltiples redes virtuales radiales, simplificando la administración y la aplicación de políticas.
  • Alta disponibilidad y escalabilidad: Es un servicio totalmente administrado, con alta disponibilidad integrada y escalabilidad automática para manejar picos de tráfico.
  • Integración del ecosistema Azure: se integra perfectamente con Azure Monitor, Azure Sentinel y Azure Firewall Manager para monitoreo, análisis y administración centralizados.

Requisitos previos

Para configurar Azure Firewall para una protección de red avanzada, necesitará los siguientes elementos:

  1. Suscripción activa de Azure: una suscripción de Azure para crear y administrar recursos.
  2. Acceso administrativo: una cuenta con el rol de "Propietario" o "Colaborador" en la suscripción de Azure, o en el grupo de recursos donde se implementarán el Firewall y las redes virtuales.
  3. Azure Virtual Networks (VNet): al menos una VNet para implementar Azure Firewall e idealmente una arquitectura Hub-and-Spoke para demostración.
  4. Opcional: Máquinas virtuales (VM): VM implementadas en redes virtuales radiales para probar las reglas de firewall.
  5. Azure CLI o Azure PowerShell: herramientas de línea de comandos instaladas y configuradas para interactuar con Azure.

Paso a paso: configuración de Azure Firewall para protección avanzada

Implementemos un Azure Firewall y configuremos sus características principales.

1. Preparación de la arquitectura de centro y radio

Una arquitectura Hub-and-Spoke es una topología de red común en Azure, donde la VNet central contiene servicios compartidos (como Azure Firewall) y las VNet radiales contienen las cargas de trabajo. El tráfico entre los radios y hacia Internet se enruta a través del centro.

  1. Crear grupo de recursos: cree un grupo de recursos para todos los recursos. golpecito az grupo crear --nombre RG-Firewall-Artigos --ubicación esteus
  2. Crear NVy Hub: cree una VNet para el centro con una subred dedicada para Azure Firewall (AzureFirewallSubnet). golpecito az network vnet create --name VNet-Hub --resource-group RG-Firewall-Artigos --address-prefix 10.0.0.0/16 --ubicación eastus creación de subred vnet de red az --name AzureFirewallSubnet --vnet-name VNet-Hub --resource-group RG-Firewall-Articles --address-prefix 10.0.1.0/24
  3. Crear VNet Spoke: cree una VNet para el radio con una subred para las máquinas virtuales. golpecito az network vnet create --name VNet-Spoke --resource-group RG-Firewall-Artigos --address-prefix 10.1.0.0/16 --ubicación esteus creación de subred vnet de red az --name WorkloadSubnet --vnet-name VNet-Spoke --resource-group RG-Firewall-Articles --address-prefix 10.1.1.0/24
  4. Configurar el emparejamiento de VNet: conecte la VNet central y la VNet radial mediante emparejamiento. golpecito az network emparejamiento de vnet crear --name HubToSpoke --resource-group RG-Firewall-Articles --vnet-name VNet-Hub --remote-vnet VNet-Spoke --allow-vnet-access az network emparejamiento de vnet crear --name SpokeToHub --resource-group RG-Firewall-Articles --vnet-name VNet-Spoke --remote-vnet VNet-Hub --allow-vnet-access

2. Implementación de Azure Firewall

  1. Cree Azure Firewall: implemente Azure Firewall en AzureFirewallSubnet de la red virtual central. golpecito az network firewall create --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --location eastus --sku Estándar az network firewall ip-config create --firewall-name AzureFirewall-01 --name AzureFirewall-IP --resource-group RG-Firewall-Articles --vnet-name VNet-Hub --public-ip-address az-firewall-pip

    • Nota: El comando az network firewall ip-config create creará automáticamente una IP pública para el Firewall si proporciona un nombre (por ejemplo, az-firewall-pip).
  2. Obtener IP privada de Firewall: anote la IP privada de Azure Firewall que se utilizará para el enrutamiento. golpecito az network firewall show --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --query ipConfigurations[0].privateIpAddress -o tsv

3. Configuración del enrutamiento para Azure Firewall

Para que el tráfico de la VNet radial pase a través de Azure Firewall, debemos crear una tabla de rutas y asociarla con la subred radial.

  1. Crear tabla de rutas: cree una tabla de rutas. golpecito tabla de rutas de red az crear --nombre FirewallRouteTable --resource-group RG-Firewall-Artigos --ubicación esteus
  2. Agregar ruta predeterminada: agregue una ruta predeterminada (0.0.0.0/0) que dirija todo el tráfico a la IP privada de Azure Firewall. golpecito # Reemplazar <FIREWALL_PRIVATE_IP> con la IP privada obtenida en el paso anterior FIREWALL_PRIVATE_IP=$(az network firewall show --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --query ipConfigurations[0].privateIpAddress -o tsv) az network ruta-tabla ruta crear --name DefaultRouteToFirewall --resource-group RG-Firewall-Artigos --route-table-name FirewallRouteTable --address-prefix 0.0.0.0/0 --next-hop-type VirtualAppliance --next-hop-ip-address $FIREWALL_PRIVATE_IP
  3. Asociar tabla de rutas a la subred Spoke: asocie la tabla de rutas a la WorkloadSubnet de VNet-Spoke. golpecito actualización de subred vnet de red az --name WorkloadSubnet --vnet-name VNet-Spoke --resource-group RG-Firewall-Articles --route-table FirewallRouteTable

4. Configuración de reglas de Azure Firewall

Azure Firewall usa colecciones de reglas para controlar el tráfico. Hay tres tipos de reglas: "Reglas de red", "Reglas de aplicación" y "Reglas NAT".

4.1. Reglas de red

Controlar el tráfico de Capa 3 y Capa 4 (IP, puertos, protocolos).

  1. Permitir tráfico saliente para DNS: Esencial para la resolución de nombres. golpecito az network firewall regla de red crear --firewall-name AzureFirewall-01 --collection-name "Allow-DNS" --name "Allow-DNS-Outbound" --resource-group RG-Firewall-Articles --prioridad 100 --action Allow --source-addresses "*" --destination-addresses "*" --protocols UDP --destination-ports 53

  2. Permitir tráfico saliente a una IP específica: Ejemplo: permitir el acceso a un servidor de parches. golpecito az network firewall regla de red crear --firewall-name AzureFirewall-01 --collection-name "Allow-Patch-Server" --name "Allow-Patch-Server-Outbound" --resource-group RG-Firewall-Articles --prioridad 110 --actionPermitir --direcciones-origen "10.1.1.0/24" --direcciones-destino "20.1.2.3" --protocolos TCP --puertos-destino 443

4.2. Reglas de aplicación

Controle el tráfico de Capa 7 (HTTP/HTTPS) basado en FQDN.

  1. Permitir acceso a sitios de Microsoft: Ejemplo: permitir el acceso a learn.microsoft.com. golpecito az network firewall regla de aplicación crear --firewall-name AzureFirewall-01 --collection-name "Allow-Microsoft-Sites" --name "Allow-Learn-Microsoft" --resource-group RG-Firewall-Articles --prioridad 100 --action Allow --source-addresses "10.1.1.0/24" --protocols Http=80 Https=443 --fqdn-tags "Microsoft.Websites" --target-fqdns "learn.microsoft.com"

    • Consejo: Fqdn-tags son grupos de FQDN predefinidos por Microsoft para servicios comunes.
  2. Bloquear el acceso a sitios web maliciosos: de forma predeterminada, Azure Firewall bloquea todo lo que no está permitido explícitamente. Sin embargo, puede crear reglas de denegación explícitas para FQDN específicos. golpecito az network firewall regla de aplicación crear --firewall-name AzureFirewall-01 --collection-name "Block-Malicious-Sites" --name "Block-Bad-Site" --resource-group RG-Firewall-Articles --prioridad 200 --action Deny --source-addresses "10.1.1.0/24" --protocols Https=443 --target-fqdns "badsite.com"

4.3. Reglas NAT (traducción de direcciones de red)

Le permite dirigir el tráfico entrante a recursos internos (DNAT - Destination NAT).

  1. Permitir acceso RDP externo a una VM (¡con precaución!): Ejemplo: Permitir RDP a una VM desde una IP pública específica. ```golpecito # Crear una VM en WorkloadSubnet para probar az vm create --name TestVM --resource-group RG-Firewall-Articles --image UbuntuLTS --size Standard_B1s --vnet-name VNet-Spoke --subnet WorkloadSubnet --admin-username azureuser --admin-password "P@ssw0rd12345!" --no-espera

    Obtener la IP privada de la VM

    VM_PRIVATE_IP=$(az vm show --name TestVM --resource-group RG-Firewall-Artigos --query privateIps -o tsv)

    Obtener la IP pública del Firewall

    FIREWALL_PUBLIC_IP=$(az network public-ip show --nombre az-firewall-pip --resource-group RG-Firewall-Artigos --query ipAddress -o tsv)

    Crea la regla DNAT

    az network firewall nat-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-RDP-Inbound" --name "RDP-to-TestVM" --resource-group RG-Firewall-Articles --prioridad 100 --action Dnat --source-addresses "YOUR_PUBLIC_IP" --destination-addresses $FIREWALL_PUBLIC_IP --protocols TCP --puertos-de-destino 3389 --dirección-traducida $VM_PRIVATE_IP --puerto-traducido 3389 `` * **ADVERTENCIA**: ReemplaceYOUR_PUBLIC_IP` con su dirección IP pública real para restringir el acceso. No utilice "*" en producción para reglas DNAT.

5. Configuración de Azure Firewall Premium (inspección de IDPS y TLS)

Para funciones de protección avanzadas como IDPS y TLS Inspection, necesita Azure Firewall Premium.

  1. Actualice el SKU del Firewall (si es necesario): si ha creado un Firewall estándar, puede actualizarlo a Premium. golpecito actualización del firewall de red az --nombre AzureFirewall-01 --resource-group RG-Firewall-Artigos --sku Premium

  2. Configurar la inspección TLS: para la inspección TLS, necesita un certificado SSL/TLS emitido por una CA corporativa o pública, almacenado en Azure Key Vault.

    • Requisito previo: Certificado en Azure Key Vault (consulte el artículo anterior sobre Azure Key Vault para obtener más detalles).
    • Crear una Política de Firewall y asociarla con el Firewall. golpecito crear política de firewall de red az --name FirewallPolicy-01 --resource-group RG-Firewall-Artigos --ubicación eastus Actualización de la política de firewall de red az --name FirewallPolicy-01 --resource-group RG-Firewall-Artigos --threat-intel-mode Alerta actualización del firewall de red az --nombre AzureFirewall-01 --resource-group RG-Firewall-Artigos --firewall-policy FirewallPolicy-01
    • En Azure Portal, navegue hasta Política de firewall -> Configuración -> Inspección TLS.
    • Habilite la inspección TLS y seleccione el certificado raíz para su Key Vault.
  3. Configurar IDPS: IDPS se habilita y configura a través de la Política de firewall.

    • En Azure Portal, navegue hasta Política de firewall -> Configuración -> IDPS.
    • Puede configurar el modo IDPS (Alerta o Alerta y Denegar) y crear reglas de firma IDPS personalizadas.

6. Activando la Inteligenciade amenazas

La inteligencia de amenazas de Azure Firewall se puede configurar para "alertar" o "alertar y denegar" el tráfico hacia/desde direcciones IP maliciosas conocidas y FQDN.

  1. En Azure Portal, navegue hasta su Azure Firewall (AzureFirewall-01).
  2. En el panel de navegación izquierdo, seleccione Inteligencia sobre amenazas.
  3. Establezca el "Modo" en "Alertar y Denegar".

Validación y pruebas

Validar la configuración de Azure Firewall es fundamental para garantizar que las políticas de seguridad se apliquen correctamente.

1. Prueba de reglas de red

  1. Prueba de conectividad DNS: desde una máquina virtual en WorkloadSubnet, intente resolver un nombre de dominio. Esto debería funcionar si la regla DNS está configurada. golpecito nslookup google.com

    • Resultado esperado: Resolución DNS exitosa.
  2. Prueba de bloqueo de puerto: Intente acceder a un puerto que no está permitido para una IP externa. golpecito nc -vz 8.8.8.8 80

    • Resultado esperado: Conexión rechazada o tiempo de espera agotado.

2. Prueba de las reglas de la aplicación

  1. Prueba de acceso FQDN permitido: desde una máquina virtual en WorkloadSubnet, intente acceder a learn.microsoft.com a través del navegador.

    • Resultado esperado: Acceso exitoso.
  2. Prueba de bloqueo de FQDN: intente acceder a badsite.com (si ha configurado la regla de denegación).

    • Resultado esperado: Acceso bloqueado por el firewall, con mensaje de error en el navegador.

3. Prueba de reglas NAT (DNAT)

  1. Desde una computadora fuera de Azure (con la IP pública que especificó en la regla DNAT), intente conectarse mediante RDP/SSH a la IP pública de Azure Firewall en el puerto 3389/22.
    • Resultado esperado: Conexión exitosa a la máquina virtual interna.

4. Comprobación de los registros de Azure Firewall

Los registros de Azure Firewall son esenciales para monitorear el tráfico y validar reglas.

  1. En Azure Portal, navegue hasta su Azure Firewall (AzureFirewall-01).
  2. En el panel de navegación izquierdo, seleccione Registros.
  3. Puede utilizar Log Analytics para consultar los registros del Firewall. Busque los eventos "AzureFirewallNetworkRule" y "AzureFirewallApplicationRule" para ver qué reglas se activaron y si se permitió o denegó el tráfico.

5. Prueba de inteligencia sobre amenazas y desplazados internos (Premium)

  1. Inteligencia sobre amenazas: intente acceder a una IP o FQDN que se sepa que es malicioso (use un sitio seguro de prueba de malware como test.malware.testing.com o una IP de prueba de inteligencia contra amenazas). El Firewall debe bloquear el acceso.
  2. IDPS: Intente simular un ataque que sería detectado por IDPS (por ejemplo, utilice una herramienta de prueba de vulnerabilidad para intentar una inyección SQL en una aplicación web en la máquina virtual radial, si corresponde). El Firewall debe generar una alerta y/o bloquear el tráfico.

Consejos de seguridad y mejores prácticas

  • Modelo Hub-and-Spoke: siempre que sea posible, use el modelo Hub-and-Spoke con Azure Firewall en el centro para centralizar el control de la red y simplificar la administración de políticas.
  • Principio de privilegio mínimo: cree reglas de firewall con el menor privilegio posible, permitiendo solo el tráfico esencial. Bloquee todo el tráfico de forma predeterminada y permita explícitamente lo que sea necesario.
  • Priorización de reglas: comprenda el orden de procesamiento de las reglas (NAT > Red > Aplicación) y la prioridad dentro de cada colección para evitar conflictos y garantizar que se apliquen las reglas deseadas.
  • Inteligencia sobre amenazas habilitada: mantenga la inteligencia sobre amenazas habilitada en el modo "Alerta y denegación" para obtener protección automática contra fuentes maliciosas conocidas.
  • Azure Firewall Premium: para entornos que requieren protección avanzada, use el SKU Premium para aprovechar características como IDPS y TLS Inspection.
  • Inspección TLS: implemente la inspección TLS para el tráfico saliente para detectar amenazas ocultas en sesiones cifradas, pero planifique cuidadosamente la gestión de certificados.
  • Monitoreo y auditoría: integre los registros de Azure Firewall con Azure Monitor y Azure Sentinel para un monitoreo continuo, análisis de seguridad y respuesta a incidentes.
  • Azure Firewall Manager: para entornos con múltiples firewalls y políticas complejas, use Azure Firewall Manager para una administración de políticas centralizada y jerárquica.
  • Documentación: mantenga una documentación clara de sus reglas de firewall y la justificación de cada una.

Solución de problemas comunes

  • Bloqueos de tráficoDe forma inesperada: verifique los registros de Azure Firewall en Log Analytics. Indicarán qué regla (ya sea red, aplicación o inteligencia de amenazas) bloqueó el tráfico. Ajuste la regla según sea necesario.
  • Conectividad lenta: si su tráfico es lento, verifique el uso de CPU del firewall en Azure Monitor. Es posible que el Firewall esté alcanzando sus límites de rendimiento. Considere escalar el SKU u optimizar las reglas.
  • Las reglas NAT no funcionan: Verifique que la IP pública, el destino y los puertos traducidos sean correctos. Asegúrese de que la IP de origen en la regla NAT sea correcta (si está restringida). Verifique la máquina virtual de destino en busca de NSG que puedan estar bloqueando el tráfico.
  • Problemas de inspección de TLS: asegúrese de que el certificado raíz esté configurado correctamente en Key Vault y Firewall Policy. Verifique que los clientes confíen en la CA raíz utilizada para la inspección TLS.
  • IDPS no detecta ataques: Verifique que IDPS esté en modo "Alerta y Denegación" y que las firmas relevantes estén habilitadas. Asegúrese de que el tráfico realmente pase a través del Firewall.
  • Enrutamiento incorrecto: verifique la tabla de rutas asociada con la subred de su VM. Asegúrese de que la ruta predeterminada (0.0.0.0/0) apunte a la IP privada de Azure Firewall.

Conclusión

Azure Firewall es una herramienta potente y esencial para establecer una postura de seguridad de red sólida en Azure. Al implementar filtrado de tráfico avanzado, inteligencia sobre amenazas, IDPS e inspección TLS, las organizaciones pueden proteger sus cargas de trabajo contra una amplia gama de amenazas cibernéticas. La adopción de un modelo Hub-and-Spoke con Azure Firewall en el centro, junto con la aplicación de mejores prácticas y monitoreo continuo, garantiza que el tráfico de la red se inspeccione y controle de manera efectiva. Con esta guía práctica, los profesionales de la seguridad estarán bien equipados para configurar y administrar Azure Firewall, fortaleciendo la seguridad de la red y la resiliencia de sus entornos Azure contra las últimas amenazas.


Referencias:

[1] Microsoft aprende. ¿Qué es Azure Firewall?. Disponible en: https://learn.microsoft.com/pt-br/azure/firewall/overview [2] Microsoft aprende. Descripción general de la arquitectura de Azure Firewall. Disponible en: https://learn.microsoft.com/pt-br/azure/firewall/firewall-architecture [3] Microsoft aprende. Funciones Premium de Azure Firewall. Disponible en: https://learn.microsoft.com/pt-br/azure/firewall/premium-features [4] Microsoft aprende. Filtrado basado en inteligencia de amenazas de Azure Firewall. Disponible en: https://learn.microsoft.com/pt-br/azure/firewall/threat-intel