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 à frente do balanceador de carga da aplicação 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 automaticamente apenas 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

O comando seguinte adiciona configurações de limite de defesa contra DDoS da camada 7 às políticas de segurança.

gcloud compute security-policies add-layer7-ddos-defense-threshold-config NAME
[FLAG = VALUE]

Substitua o seguinte:

  • NAME: o nome da política de segurança.
  • FLAG: o parâmetro do limite de defesa.
  • VALUE: o valor do parâmetro do limite de defesa.

Para mais informações, consulte o artigo Configure unidades de tráfego detalhadas.

O comando seguinte atualiza a política de segurança para usar limites não predefinidos, implementados automaticamente. Pode definir, no máximo, um dos parâmetros auto_deploy_config e threshold_config. A definição de mais do que uma flag causa um erro.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-PARAMETER VALUE
]

Substitua o seguinte:

  • NAME: o nome da política de segurança.
  • PARAMETER: o parâmetro de implementação automática. É uma das seguintes opções:
    • load-threshold
    • confidence-threshold
    • impacted-baseline-threshold
    • expiration-sec
  • VALUE: o valor do parâmetro de implementação automática.

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 de referência afetada excederam os parâmetros de implementação automática configurados. O sistema começa 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 anexadas 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.