Implantar automaticamente as regras sugeridas pela Proteção Adaptativa

Este documento apresenta as etapas de configuração para implantar automaticamente as regras sugeridas geradas pela Proteção Adaptativa. Para ativar a implantação automática de regras, você deve criar uma regra de marcador de posição com os seguintes valores:

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

Se você usar um proxy antes do balanceador de carga de aplicativo externo, como um CDN de terceiros, é possível configurar a regra de marcador de posição para identificar correspondências às solicitações com base no endereço IP original do cliente usando um ou mais cabeçalhos especificados. Para usar este recurso em fase de pré-lançamento, configure a opção userIpRequestHeaders[] no campo advancedOptionsConfig. Para mais informações, confira a referência do recurso ComputeSecurityPolicy.

Exemplos de regras de marcador de posição

Os comandos apresentados a seguir são exemplos de regras de marcador de posição para políticas de segurança chamadas POLICY_NAME, cada uma com uma ação distinta. É possível adicionar essas regras a uma política de segurança existente ou criar uma nova política. Para mais informações sobre como criar políticas de segurança, confira Como configurar políticas de segurança do Cloud Armor.

Bloquear tráfego mal-intencionado

Este exemplo de regra é avaliado como true para solicitações nas quais a Proteção Adaptativa identifica tráfego de ataque. O Cloud Armor aplica a ação de bloqueio à solicitação mal-intencionada:

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

Redirecionar tráfego mal-intencionado para um teste reCAPTCHA

Este exemplo de regra redireciona o tráfego que a Proteção Adaptativa identifica como mal-intencionado para um teste reCAPTCHA:

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

Aplicar limitação de taxa para o tráfego mal-intencionado

Este exemplo aplica a limitação de taxa do Cloud Armor ao tráfego que a Proteção Adaptativa identifica como mal-intencionado:

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

Configurar parâmetros de implantação automática para a Proteção Adaptativa

É possível configurar os limites para a implantação automática de regras ao ajustar os parâmetros apresentados a seguir. Se você não definir o valor de um parâmetro, o Cloud Armor vai usar o valor padrão.

  • Limite de carga: durante um ataque com alerta, a Proteção Adaptativa identifica novos invasores somente quando a carga no serviço de back-end sob ataque excede o valor limite. Além disso, a aplicação automática de regras para alertas ocorre somente quando a carga do serviço de back-end sob ataque excede esse limite.

    • Valor padrão: 0.8

  • Limite de confiança: a implantação automática de regras ocorre somente para alertas de ataques potenciais cuja pontuação de confiança excede esse valor limite.

    • Valor padrão: 0.5
  • Limite de impacto no valor de referência: a implantação automática de regras ocorre somente se o impacto estimado da mitigação sugerida no tráfego de referência estiver abaixo desse limite. impactedBaselineProportion e impactedbaselinePolicyProportion devem ser inferiores ao limite de impacto apresentado no valor de referência.

    • Valor padrão: 0.01 (1%)
  • Tempo de expiração configurado: o Cloud Armor interrompe a aplicação da ação da regra implantada automaticamente para um invasor identificado após esse período. A regra continua válida para novas solicitações.

    • Valor padrão: 7200 segundos

É possível usar o comando apresentado a seguir como exemplo para atualizar a política de segurança e aplicar limites automáticos diferentes dos padrões. Substitua NAME pelo nome da sua política de segurança e os demais valores pelas configurações desejadas 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
]

Geração de registros

Os registros gerados por regras implantadas automaticamente com a Proteção Adaptativa incluem os seguintes campos adicionais:

  • autoDeployed: após configurar a implantação automática de regras, cada registro de alerta gerado pela Proteção Adaptativa contém o campo booleano autoDeployed, que indica se uma defesa automática foi acionada. Quando autoDeployed está definido como true, significa que a regra de marcador de posição evaluateAdaptiveProtectionAutoDeploy() já avaliou que os limites de confiança e de impacto no valor de referência do ataque excederam os parâmetros configurados para a implantação automática. Depois disso, o sistema começa a monitorar a carga dinâmica. Quando a carga ultrapassa o valor limite configurado, a regra é automaticamente aplicada para mitigar o ataque.
  • adaptiveProtection.autoDeployAlertId: sempre que a Proteção Adaptativa atua em uma solicitação como parte de uma defesa automática, o registro da solicitação inclui o campo adicional adaptiveProtection.autoDeployAlertId, que armazena o ID do alerta. Este campo aparece em enforcedSecurityPolicy ou previewSecurityPolicy, dependendo se a política de segurança está em modo de visualização.

Para visualizar os registros de solicitações, confira Usar a geração de registros de solicitações. A captura de tela apresentada a seguir mostra um exemplo de entrada de registro para a Proteção Adaptativa, com os campos autoDeployed e adaptiveProtection.autoDeployAlertId.

Um exemplo de registro da Proteção Adaptativa.
Um exemplo de registro da Proteção Adaptativa (clique para ampliar).

Limitações

  • A Proteção Adaptativa está disponível somente para políticas de segurança de back-end anexadas a serviços de back-end disponibilizados por meio de um balanceador de carga de aplicativo externo. A Proteção Adaptativa não é compatível com balanceadores de carga de rede de proxy externo.