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 adaptável 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 valor 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 sinalizações a seguir:

Flag Descrição
--threshold-config-name O nome da configuração de limite.
--traffic-granularity-configs Opções de configuração para permitir que a Proteção adaptável funcione 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ão aplicadas somente 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 em QPS absoluto.
--detection-relative-to-baseline-qps Limite de detecção baseado em QPS em relação à média do tráfego de referência.

No primeiro exemplo, você configura a proteção adaptativa 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 adaptável ainda não estiver ativada, use o seguinte comando para ativá-la 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 sinalização --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 implantação automática e detecção 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 de 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

Detecta quando o volume de ataque excede a média de referência de QPS

No exemplo a seguir, você configura a proteção adaptativa para detectar um ataque somente quando o volume do ataque excede a QPS média do valor de referência em mais de 50% e somente quando a carga do serviço de back-end está acima de 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 adaptável ainda não estiver ativada, use o seguinte comando para ativá-la 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 seguinte comando para configurar a Proteção adaptável 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