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 unidades granulares analisadas pela Proteção adaptável. Nos exemplos a seguir, você cria unidades de tráfego granulares para cada host, personaliza um tráfego granular e configure a Proteção adaptativa para agir quando o tráfego ultrapassar suas consultas por segundo (QPS) de valor de referência. Para mais informações sobre granularidades de machine learning, consulte a Visão geral da Proteção adaptativa.

Configurar unidades de tráfego granulares

Os exemplos nesta seção usam o add-layer7-ddos-defense-threshold-config com algumas ou todas as seguintes sinalizações:

Bandeira 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 a granularidade de serviço especificada.
--auto-deploy-impacted-baseline-threshold Limite do impacto estimado da Proteção adaptativa para o tráfego do valor 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, se houver, das ações 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 absolutas.
--detection-relative-to-baseline-qps Limite de detecção baseado em QPS em relação à média do valor de referência do tráfego de entrada.

No primeiro exemplo, você configura a Proteção adaptativa para detectar ataques em 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 usar 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 um tráfego granular unidade:
    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 implantações e detecção para algumas ou todas as unidades de tráfego granulares que você configurou no no primeiro exemplo.

gcloud

  1. Se a implantação automática da proteção adaptativa ainda não estiver ativada, criar uma regra de marcador de posição.
  2. O comando a seguir personaliza o limite de implantação automática para um cluster unidade de tráfego 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ê deseja personalizar, substituindo as 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 do valor de referência

No exemplo a seguir, você configura a Proteção adaptativa para detectar uma ataque somente quando o volume de ataque exceder o QPS médio de sua linha de base em mais de 50% e somente quando a carga do serviço de back-end for superior a 90% do de armazenamento.

gcloud

  1. Crie uma política de segurança com o nome POLICY_NAME. ou usar uma política de segurança atual.
  2. Se a proteção adaptativa ainda não estiver ativada, use o seguinte 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.

  4. Use o seguinte comando 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