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

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

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

Substitua:

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

Para mais informações, consulte Configurar unidades de tráfego granulares.

O comando a seguir atualiza a política de segurança para usar limites não padrão implantados automaticamente. Você pode definir no máximo um dos parâmetros auto_deploy_config e threshold_config. Definir mais de uma flag causa um erro.

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

Substitua:

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

Logging

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.