Implemente automaticamente as regras sugeridas da proteção adaptativa

Este documento fornece passos de configuração para implementar automaticamente as regras sugeridas geradas pela proteção adaptativa. Para ativar a implementação automática de regras, tem de criar uma regra de marcador de posição com os seguintes valores:

  • Expressão de correspondência: evaluateAdaptiveProtectionAutoDeploy()
  • Ação: qualquer
  • Prioridade: qualquer. Recomendamos que defina uma regra de permissão explícita com uma prioridade mais elevada do que as outras regras para tráfego legítimo de alta prioridade.

Se usar um proxy a montante antes do Application Load Balancer externo, como uma RFC de terceiros, pode configurar a regra de marcador de posição para corresponder a pedidos com base no endereço IP do cliente original a partir de um ou mais cabeçalhos especificados. Para usar esta funcionalidade de pré-visualização, configure a opção userIpRequestHeaders[] no campo advancedOptionsConfig. Para mais informações, consulte a referência de recursos ComputeSecurityPolicy.

Exemplos de regras de marcadores de posição

Os comandos seguintes são exemplos de regras de marcadores de posição para políticas de segurança denominadas POLICY_NAME, cada uma com uma ação de regra diferente. Pode adicionar estas regras a uma política de segurança existente ou criar uma nova política. Para mais informações sobre a criação de políticas de segurança, consulte o artigo Configure políticas de segurança do Cloud Armor.

Bloqueie tráfego malicioso

Esta regra de exemplo é avaliada como true para pedidos que a proteção adaptativa identifica como tráfego de ataque. O Cloud Armor aplica a ação de bloqueio ao pedido de ataque:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action deny-403

Redirecione o tráfego malicioso para um desafio reCAPTCHA

Esta regra de exemplo redireciona o tráfego que a Proteção adaptável identifica como malicioso para um desafio reCAPTCHA:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action redirect \
    --redirect-type google-recaptcha

Limite a taxa de tráfego malicioso

Este exemplo aplica a limitação de taxa do Cloud Armor ao tráfego que a proteção adaptativa identifica como malicioso:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action throttle \
    --rate-limit-threshold-count 500 \
    --rate-limit-threshold-interval-sec 120 \
    --conform-action allow \
    --exceed-action deny-404 \
    --enforce-on-key ip

Configure os parâmetros de implementação automática da proteção adaptativa

Pode configurar os limites para a implementação automática de regras ajustando os seguintes parâmetros. Se não definir o valor de um parâmetro, o Cloud Armor usa o valor predefinido.

  • Limite de carga: durante um ataque com alerta, a proteção adaptável identifica novos atacantes apenas quando a carga para o serviço de back-end que está sob ataque excede este limite. Além disso, as regras só são implementadas automaticamente para alertas quando a carga para o serviço de back-end que está sob ataque excede este limite.

    • Valor predefinido: 0.8

  • Limite de confiança: as regras só são implementadas automaticamente para alertas sobre potenciais ataques com classificações de confiança superiores a este limite.

    • Valor predefinido: 0.5
  • Limite de base afetado: as regras são implementadas apenas automaticamente quando o impacto estimado no tráfego de base da mitigação sugerida está abaixo deste limite. impactedBaselineProportion e impactedbaselinePolicyProportion devem ser inferiores ao limite base afetado.

    • Valor predefinido: 0.01 (1%)
  • Expiração definida: o Cloud Armor deixa de aplicar a ação na regra implementada automaticamente a um atacante identificado após esta duração. A regra continua a funcionar em relação a novos pedidos.

    • Valor predefinido: 7200 segundos

Pode usar o seguinte comando de exemplo para atualizar a sua política de segurança de modo a usar limites não predefinidos implementados automaticamente. Substitua NAME pelo nome da sua política de segurança e substitua as restantes variáveis pelos valores que quer para a sua política.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-load-threshold LOAD_THRESHOLD
    --layer7-ddos-defense-auto-deploy-confidence-threshold CONFIDENCE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-impacted-baseline-threshold IMPACTED_BASELINE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-expiration-sec EXPIRATION_SEC
]

Registo

Os registos gerados por regras implementadas automaticamente com a proteção adaptável têm os seguintes campos adicionais:

  • autoDeployed: depois de configurar a implementação automática de regras, cada registo de alerta que a Proteção Adaptativa gera tem o campo booleano autoDeployed, que indica se foi acionada uma defesa automática. Quando autoDeployed está definido como true, indica que a regra do marcador de posição evaluateAdaptiveProtectionAutoDeploy() já avaliou que os limites de confiança do ataque e da base afetada excederam os parâmetros de implementação automática configurados. O sistema começa então a monitorizar a carga dinâmica. Assim que a carga ultrapassar o limite de carga configurado, a regra é implementada automaticamente para mitigar o ataque.
  • adaptiveProtection.autoDeployAlertId: sempre que a proteção adaptativa toma uma ação num pedido como parte de uma defesa automática, o registo de pedidos tem o campo adaptiveProtection.autoDeployAlertId adicional, que regista o ID do alerta. Este campo é apresentado em enforcedSecurityPolicy ou previewSecurityPolicy, consoante a política de segurança esteja no modo de pré-visualização.

Para ver os registos de pedidos, consulte o artigo Use request logging. A captura de ecrã seguinte mostra um exemplo de uma entrada do registo da proteção adaptável com os campos autoDeployed e adaptiveProtection.autoDeployAlertId.

Um registo de exemplo da proteção adaptável.
Um exemplo de registo da Proteção adaptativa (clique para aumentar).

Limitações

  • A proteção adaptativa só está disponível para políticas de segurança de back-end associadas a serviços de back-end expostos através de um balanceador de carga de aplicações externo. A Proteção adaptativa não está disponível para equilibradores de carga de rede de proxy externos.