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 Google Cloud Armor. Para os casos de uso deste documento, você só precisa da permissão compute.securityPolicies.update.

Configure permissões de IAM para políticas de segurança do Google 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 Google 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 Google 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 podem ver as políticas de segurança do Google 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 do 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 do 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

O recurso de modelos granulares permite 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 exceder as consultas de referência por segundo (QPS). Para mais informações sobre modelos granulares, consulte a Visão geral da Proteção adaptativa.

Configurar unidades de tráfego granulares

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

Sinalização Descrição
--threshold-config-name O nome da configuração do limite.
--traffic-granularity-configs Opções de configuração para ativar a proteção adaptativa 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 com base na QPS absoluta.
--detection-relative-to-baseline-qps Limite de detecção com base no 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 os limites padrão.

gcloud

  1. Crie uma política de segurança com o nome POLICY_NAME ou use uma já existente.
  2. Se a proteção adaptativa ainda não estiver ativada, use o comando abaixo para ativar a proteção adaptativa para 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 comando add-layer7-ddos-defense-threshold-config a seguir 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 granulares 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 de marcador de posição.
  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 este comando para cada unidade de tráfego granular 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 de ataque excede o QPS médio de referência em mais de 50% e somente quando a carga do serviço de back-end é mais de 90% da capacidade.

gcloud

  1. Crie uma política de segurança com o nome POLICY_NAME ou use uma já existente.
  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 limites 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