Azure DDoS Protection Standard: Vale a Pena?

Todo IP público do Azure já vem com uma proteção básica contra DDoS, incluída sem custo — o Azure DDoS Protection Standard é uma camada adicional, paga, com telemetria detalhada, mitigação mais agressiva e SLA de garantia de disponibilidade. A pergunta que este artigo tenta responder de verdade, sem forçar uma recomendação, é: com uma taxa mensal fixa de aproximadamente US$ 2.944, quando esse custo realmente se justifica?

Este é o quarto artigo da série artigos-network (depois do Application Gateway com WAF v2), e é diferente dos anteriores em um ponto importante: não vamos simular um ataque real. Fazer isso sem aprovação prévia da Microsoft viola os termos de uso do Azure — a validação aqui é de configuração, não de mitigação em ação.

Atenção ao custo: diferente dos artigos anteriores desta série (custo de centavos por um teste rápido), o Azure DDoS Protection Standard tem uma taxa fixa mensal alta, cobrada proporcionalmente por hora. Não deixe esse recurso no ar além do necessário — mesmo um teste de algumas horas gera um custo real, não trivial.

Sumário

Pré-requisitos

Antes de criar o Azure DDoS Protection Standard com Terraform, você vai precisar do Azure CLI autenticado (az login), do Terraform >= 1.5 e de permissão de Network Contributor na subscription. O provider usado é o azurerm ~> 4.0.

az account show --query "{name:name, id:id}" -o table

DDoS Protection Basic vs. Standard

A proteção Basic já está ativa em todo IP público do Azure, sem nenhuma configuração e sem custo — ela mitiga ataques volumétricos comuns na camada de rede, mas não oferece telemetria, relatórios pós-ataque, nem SLA de disponibilidade. O Azure DDoS Protection Standard adiciona: monitoramento adaptável ao tráfego específico da sua aplicação, mitigação automática mais granular, alertas em tempo real via Azure Monitor, relatórios de mitigação detalhados, e um SLA financeiro caso a proteção falhe durante um ataque documentado.

Quando o Azure DDoS Protection Standard vale a pena

A taxa fixa mensal cobre até 100 recursos públicos protegidos — ou seja, o custo por recurso despenca se você tem muitos IPs públicos numa mesma subscription. Faz sentido considerar o Azure DDoS Protection Standard quando: (1) a aplicação é voltada ao público geral na internet e uma indisponibilidade tem custo de negócio direto e mensurável; (2) você já sofreu ou tem motivo concreto pra esperar tentativas de ataque volumétrico; (3) existe uma exigência de compliance ou contrato que peça telemetria e SLA formal de DDoS. Para a maioria dos ambientes de desenvolvimento, teste, ou aplicações internas sem exposição pública relevante, a proteção Basic gratuita já cobre o cenário real de risco — e gastar ~US$ 2.944/mês nesse caso não se justifica.

Criando o DDoS Protection Plan com Terraform

O plano em si não pertence a uma única região — ele pode proteger VNets de regiões (e até subscriptions, com o compartilhamento certo de permissões) diferentes, todas cobertas pela mesma taxa mensal única. Vem do novo módulo terraform-ddos-protection-modules; a associação com a VNet usa o suporte a ddos_protection_plan_id que o terraform-virtual-network-modules ganhou recentemente:

module "ddos_plan" {
  source = "../../terraform-ddos-protection-modules"

  name                = "ddosplan-blog-castilho"
  resource_group_name = module.rg.name
  location            = var.location

  tags = var.tags
}

module "vnet" {
  source = "../../terraform-virtual-network-modules"

  name                    = "vnet-ddos-blog-castilho"
  resource_group_name     = module.rg.name
  location                = var.location
  address_space           = [var.vnet_address_space]
  ddos_protection_plan_id = module.ddos_plan.id

  subnets = [
    { key = "ddos", name = "snet-ddos", address_prefixes = [var.subnet_prefix] },
  ]

  tags = var.tags
}

Proteção por IP público individual

Desde que o Azure passou a permitir controle por recurso individual, um IP público pode herdar a proteção da VNet, ter proteção forçada, ou ficar explicitamente fora — útil quando só alguns IPs de uma VNet grande realmente precisam de telemetria dedicada do Azure DDoS Protection Standard. O módulo terraform-public-ip-modules ganhou recentemente o parâmetro ddos_protection_mode pra cobrir esse caso:

module "pip_protected" {
  source = "../../terraform-public-ip-modules"

  name                 = "pip-ddos-blog-castilho"
  resource_group_name = module.rg.name
  location             = var.location
  ddos_protection_mode = "Enabled"

  tags = var.tags
}

terraform plan e apply

terraform init -backend-config=backend.hcl
terraform plan -out=tfplan.out
terraform apply tfplan.out

Esse ambiente cria 5 recursos: Resource Group, DDoS Protection Plan, VNet + subnet, e o Public IP protegido. Este é o momento de decisão real de custo — assim que o apply completa, a cobrança da taxa mensal do Azure DDoS Protection Standard começa a correr proporcionalmente por hora. Neste artigo, o ambiente ficou no ar só o tempo necessário pra confirmar a configuração, e foi destruído logo em seguida.

Azure DDoS Protection Standard no portal com o plano vinculado à VNet
DDoS Protection Plan criado, com o Resource Group e a Location confirmados

Validando a configuração (sem simular ataque)

Diferente do artigo do Application Gateway com WAF v2, onde testamos um bloqueio de verdade com uma requisição maliciosa real, aqui a validação possível é de configuração — confirmar que o Azure DDoS Protection Standard está de fato provisionado e vinculado corretamente, sem gerar tráfego de ataque:

az network ddos-protection show -g rg-blog-castilho-ddos-prod -n ddosplan-blog-castilho \
  --query "{estado:provisioningState, vnets:virtualNetworks[].id}"
# {
#   "estado": "Succeeded",
#   "vnets": ["/subscriptions/.../vnet-ddos-blog-castilho"]
# }

az network public-ip show -g rg-blog-castilho-ddos-prod -n pip-ddos-blog-castilho \
  --query "ddosSettings"
# { "protectionMode": "Enabled" }

O plano está Succeeded, vinculado à VNet certa, e o Public IP individual confirma protectionMode: Enabled. Pra testar mitigação de verdade, a Microsoft oferece um programa de DDoS simulation testing através de parceiros aprovados (BreakingPoint Cloud, entre outros) — gerar tráfego de ataque contra seus próprios recursos sem passar por esse processo é proibido pelos termos de uso do Azure, mesmo sendo “seus” recursos.

Conclusão: vale a pena?

Depende — e essa é a resposta honesta. O Azure DDoS Protection Standard resolve um problema real pra aplicações públicas com custo de indisponibilidade alto, mas é uma das configurações mais caras que essa série de artigos vai cobrir, e não existe um “sempre configure isso” universal aqui, ao contrário do NAT Gateway ou do WAF. A decisão certa é olhar o perfil de exposição real da aplicação, o custo de uma indisponibilidade, e comparar com a taxa fixa mensal — não simplesmente ativar por precaução.

Próximo artigo da série artigos-network: Network Watcher (Flow Logs e Connection Monitor).

Referências oficiais

Interessado em saber mais sobre esse assunto?

Deixe uma resposta

Descubra mais sobre Blog do Castilho - Tecnologia | FinOps | DevOps | Cloud

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo