Tutorial: Escalado y protección rápidos de una aplicación web mediante Azure Front Door y el firewall de aplicaciones web (WAF) de Azure
Importante
Azure Front Door (clásico) se retirará el 31 de marzo de 2027. Para evitar cualquier interrupción del servicio, es importante migrar los perfiles de Azure Front Door (clásico) al nivel Estándar o Premium de Azure Front Door para marzo de 2027. Para obtener más información, consulte retirada de Azure Front Door (clásico).
Las aplicaciones web suelen experimentar picos de tráfico y ataques malintencionados, como ataques por denegación de servicio. Azure Front Door con AZURE WAF puede ayudar a escalar la aplicación y protegerla frente a estas amenazas. Este tutorial le guía a través de la configuración de Azure Front Door con Azure WAF para cualquier aplicación web, tanto si se ejecuta dentro como fuera de Azure.
Usamos la CLI de Azure para este tutorial. También puede usar Azure Portal, Azure PowerShell, Azure Resource Manager o las API de REST de Azure.
En este tutorial, aprenderá a:
- Crear una instancia de Front Door
- Crear una directiva de Azure WAF
- Configurar conjuntos de reglas para una directiva WAF.
- Asociar una directiva WAF con Front Door.
- Configurar un dominio personalizado.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Requisitos previos
En este tutorial se usa la CLI de Azure. Introducción a la CLI de Azure.
Sugerencia
Una manera sencilla de empezar a trabajar con la CLI de Azure es usar Bash en Azure Cloud Shell.
Asegúrese de que la extensión
front-door
esté agregada a la CLI de Azure.az extension add --name front-door
Nota:
Para más información sobre los comandos utilizados en este tutorial, consulte la referencia de la CLI de Azure para Front Door.
Creación de un recurso de Azure Front Door
az network front-door create --backend-address <backend-address> --accepted-protocols <protocols> --name <name> --resource-group <resource-group>
--backend-address
: el nombre de dominio completo (FQDN) de la aplicación que desea proteger, por ejemplo,myapplication.contoso.com
.--accepted-protocols
: protocolos compatibles con Azure Front Door, por ejemplo,--accepted-protocols Http Https
.--name
: nombre del recurso de Azure Front Door.--resource-group
: el grupo de recursos de este recurso de Azure Front Door. Obtenga más información sobre administrar grupos de recursos.
Anote el valor hostName
de la respuesta, ya que lo necesita más adelante. hostName
es el nombre DNS del recurso de Azure Front Door.
Creación de un perfil de WAF de Azure para Azure Front Door
az network front-door waf-policy create --name <name> --resource-group <resource-group> --disabled false --mode Prevention
--name
: nombre de la nueva directiva de Azure WAF.--resource-group
: el grupo de recursos de este recurso WAF.
El código de la CLI anterior crea una directiva WAF en modo de prevención.
Nota:
Considere la posibilidad de crear la directiva WAF en modo de detección en primer lugar para observar y registrar solicitudes malintencionadas sin bloquearlas antes de cambiar al modo de prevención.
Anote el valor ID
de la respuesta, ya que lo necesita más adelante. El ID
debe tener este formato:
/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/<WAF-policy-name>
Incorporación de conjuntos de directivas administradas a la directiva WAF
Agregue el conjunto de reglas predeterminado:
az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <resource-group> --type DefaultRuleSet --version 1.0
Agregue el conjunto de reglas de protección contra bots:
az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <resource-group> --type Microsoft_BotManagerRuleSet --version 1.0
--policy-name
: el nombre del recurso de Azure WAF.--resource-group
: el grupo de recursos del recurso WAF.
Asociación de la directiva WAF con el recurso de Azure Front Door
az network front-door update --name <name> --resource-group <resource-group> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<ID>"}'
--name
: nombre del recurso de Azure Front Door.--resource-group
: el grupo de recursos del recurso de Azure Front Door.--set
: actualice el atributoWebApplicationFirewallPolicyLink
delfrontendEndpoint
con el nuevo identificador de directiva de WAF.
Nota:
Si no usa un dominio personalizado, puede omitir la sección siguiente. Proporcione a los clientes el hostName
obtenido al crear el recurso de Azure Front Door.
Configuración del dominio personalizado para la aplicación web
Actualice los registros DNS para que apunten el dominio personalizado a Azure Front Door hostName
. Consulte la documentación del proveedor de servicios DNS para conocer los pasos específicos. Si usa Azure DNS, consulte actualizar un registro DNS.
Para dominios de vértice de zona (por ejemplo, contoso.com), utilice Azure DNS y su tipo de registro alias.
Actualice la configuración de Azure Front Door para agregar el dominio personalizado.
Para habilitar HTTPS para el dominio personalizado, configure certificados en Azure Front Door.
Bloqueo de la aplicación web
Asegúrese de que solo los bordes de Azure Front Door pueden comunicarse con la aplicación web. Consulte Cómo bloquear el acceso a mi back-end solo a Azure Front Door.
Limpieza de recursos
Cuando ya no sea necesario, elimine el grupo de recursos, Front Door y la directiva WAF:
az group delete --name <resource-group>
--name
: nombre de grupo de recursos para todos los recursos que se usan en este tutorial.
Pasos siguientes
Para solucionar problemas de Front Door, consulte: