Configurar a proteção adaptativa do Google Cloud Armor

Nesta página, você encontra informações sobre como configurar a proteção adaptável. Antes de configurar a Proteção adaptável, conheça as informações na Visão geral da proteção adaptável e com os Recursos Casos de uso de proteção.

Antes de começar

As seções a seguir explicam todos os papéis e permissões do Identity and Access Management (IAM) necessários para configurar as políticas de segurança do Cloud Armor. Para os casos de uso deste documento, você só precisa da permissão compute.securityPolicies.update.

Configurar permissões do IAM para políticas de segurança do Cloud Armor

As operações a seguir exigem o papel de administrador de segurança (roles/compute.securityAdmin) do Identity and Access (IAM):

  • Como configurar, modificar, atualizar e excluir uma política de segurança do Cloud Armor
  • Usando os seguintes métodos de API:
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

Um usuário com o papel de administrador da rede do Compute (roles/compute.networkAdmin) pode realizar as seguintes operações:

  • Definir uma política de segurança do Cloud Armor para um serviço de back-end
  • Usando os seguintes métodos de API:
    • BackendServices setSecurityPolicy
    • BackendServices list (somente gcloud)

Os usuários com os papéis de administrador de segurança (roles/iam.securityAdmin) e de rede do Compute podem ver as políticas de segurança do Cloud Armor usando os métodos de API SecurityPolicies, get, list e getRule.

Configure permissões de IAM para papéis personalizados

A tabela a seguir lista as permissões básicas dos papéis de IAM e os métodos de API associados.

Permissão de IAM Métodos da API
compute.securityPolicies.create SecurityPolicies insert
compute.securityPolicies.delete SecurityPolicies delete
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
compute.securityPolicies.list SecurityPolicies list
compute.securityPolicies.use BackendServices setSecurityPolicy
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
compute.backendServices.setSecurityPolicy BackendServices setSecurityPolicy

Ativar proteção adaptável

Siga as etapas a seguir para ativar a proteção adaptativa para sua política de segurança. A proteção adaptativa é aplicada individualmente a cada política de segurança.

Console

Para ativar a proteção adaptativa para uma política de segurança:

  1. No console Google Cloud , acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Na página Políticas, clique no nome de uma política de segurança.

  3. Clique em Editar.

  4. Em Proteção adaptativa, selecione Ativar.

  5. Clique em Atualizar.

Para desativar a Proteção adaptativa de uma política de segurança:

  1. No console Google Cloud , acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Na página Políticas, clique no nome de uma política de segurança.

  3. Clique em Editar.

  4. Em Proteção adaptável, desmarque a opção Ativar.

  5. Clique em Atualizar.

gcloud

Para ativar a proteção adaptativa para uma política de segurança:

gcloud compute security-policies update MY-SECURITY-POLICY \
    --enable-layer7-ddos-defense

Para desativar a Proteção adaptativa de uma política de segurança:

gcloud compute security-policies update MY-SECURITY-POLICY \
    --no-enable-layer7-ddos-defense

Configurar modelos granulares

Com os modelos granulares, é possível configurar hosts ou caminhos específicos como as unidades granulares que a proteção adaptativa analisa. Nos exemplos a seguir, você cria unidades de tráfego granulares para cada host, personaliza uma unidade de tráfego granular e configura a Proteção adaptativa para agir quando o tráfego excede as consultas por segundo (QPS) de referência. Para mais informações sobre modelos granulares, consulte a visão geral da Proteção adaptativa.

Configurar unidades de tráfego granulares

Os exemplos nesta seção usam o comando add-layer7-ddos-defense-threshold-config com algumas ou todas as flags a seguir:

Sinalização Descrição
--threshold-config-name O nome da configuração de limite.
--traffic-granularity-configs Opções de configuração para ativar a proteção adaptativa e trabalhar na granularidade de serviço especificada.
--auto-deploy-impacted-baseline-threshold Limite do impacto estimado da Proteção adaptativa no tráfego de referência da regra de mitigação sugerida para um ataque detectado. As defesas automáticas só são aplicadas se o limite não for excedido.
--auto-deploy-expiration-sec A duração das ações, se houver, realizadas pela implantação automática.
--detection-load-threshold Limite de detecção com base na carga do serviço de back-end.
--detection-absolute-qps Limite de detecção baseado em QPS absolutas.
--detection-relative-to-baseline-qps Limite de detecção com base em QPS em relação à média do tráfego de referência.

No primeiro exemplo, você configura a Proteção adaptável para detectar ataques e sugerir mitigações independentes para cada host por trás do serviço de back-end, sem substituir nenhum limite padrão.

gcloud

  1. Crie uma política de segurança com o nome POLICY_NAME ou use uma política de segurança atual.
  2. Se a proteção adaptativa ainda não estiver ativada, use o seguinte comando para ativar a proteção adaptativa na sua política:
    gcloud compute security-policies update POLICY_NAME 
    --enable-layer7-ddos-defense
  3. Aplique a política de segurança a um serviço de back-end com vários hosts.
  4. Use o seguinte comando add-layer7-ddos-defense-threshold-config com a flag --traffic-granularity-configs para configurar uma unidade de tráfego granular:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=per-host-config
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;enableEachUniqueValue=true

No segundo exemplo, você configura diferentes limites de detecção e implantação automática para algumas ou todas as unidades de tráfego granular configuradas no primeiro exemplo.

gcloud

  1. Se a implantação automática da Proteção adaptável ainda não estiver ativada, crie uma regra substituta.
  2. O comando a seguir personaliza o limite de implantação automática para uma unidade de tráfego granular com um HTTP_HEADER_HOST de HOST e um HTTP_PATH de PATH. Use esse comando para cada unidade granular de tráfego que você quer personalizar, substituindo as variáveis conforme necessário para cada host e caminho de URL:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=my-host-config
    --auto-deploy-impacted-baseline-threshold=0.01
    --auto-deploy-expiration-sec=3600
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;value=HOST,type=HTTP_PATH;value=PATH

Detectar quando o volume de ataque excede o QPS médio de referência

No exemplo a seguir, você configura a Proteção adaptável para detectar um ataque somente quando o volume excede a média de QPS de referência em mais de 50% e somente quando a carga do serviço de back-end é superior a 90% da capacidade.

gcloud

  1. Crie uma política de segurança com o nome POLICY_NAME ou use uma política de segurança atual.
  2. Se a proteção adaptativa ainda não estiver ativada, use o seguinte comando para ativar a proteção adaptativa na sua política:

    gcloud compute security-policies update POLICY_NAME \
      --enable-layer7-ddos-defense
    
  3. Aplique a política de segurança a um serviço de back-end.

  4. Use o comando a seguir para configurar a Proteção adaptativa com limiares de detecção personalizados:

    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME \
       --threshold-config-name=my-customized-thresholds \
       --detection-load-threshold=0.9 \
       --detection-relative-to-baseline-qps=1.5
    

A seguir