Configurar a Proteção Adaptativa do Google Cloud Armor

Nesta página, você encontrará informações sobre como configurar a Proteção Adaptativa. Antes de começar a configurar a Proteção Adaptativa, garanta que você já conhece as informações apresentadas na visão geral da Proteção Adaptativa e nos casos de uso da Proteção Adaptativa.

Antes de começar

As seções a seguir explicam todos os papéis e as 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 abordados neste documento, você só precisa da permissão compute.securityPolicies.update.

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

Para executar as operações abaixo, é necessário ter o papel de administrador de segurança do Compute(roles/compute.securityAdmin) do Identity and Access Management (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 administrador de rede do Compute podem visualizar as políticas de segurança do Cloud Armor usando os métodos get, list e getRule da API SecurityPolicies.

Configurar permissões do IAM para papéis personalizados

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

Permissão do 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 a Proteção Adaptativa

Siga as etapas a seguir para ativar a Proteção Adaptativa para a sua política de segurança. A Proteção Adaptativa é aplicada de forma individual a cada política de segurança.

Console

Para ativar a Proteção Adaptativa em uma política de segurança:

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

    Acessar a página 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 em uma política de segurança:

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

    Acessar a página 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, desmarque a opção Ativar.

  5. Clique em Atualizar.

gcloud

Para ativar a Proteção Adaptativa em uma política de segurança:

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

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

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

Configurar modelos granulares

Com o recurso de 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 granulares de tráfego para cada host, personaliza uma unidade granular de tráfego e configura a Proteção Adaptativa para executar ações quando o tráfego ultrapassar o valor de referência das consultas por segundo (QPS). Para mais informações sobre os modelos granulares, confira a visão geral da Proteção Adaptativa.

Configurar unidades granulares de tráfego

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

Flag Descrição
--threshold-config-name O nome da configuração de limite.
--traffic-granularity-configs As opções de configuração para ativar a Proteção Adaptativa para trabalhar na granularidade de serviço especificada.
--auto-deploy-impacted-baseline-threshold O limite do impacto estimado da Proteção Adaptativa nos valores de referência para o tráfego da regra de mitigação sugerida para um ataque detectado. As defesas automáticas são aplicadas apenas se o limite não for excedido.
--auto-deploy-expiration-sec A duração das ações, se houver, tomadas pela implantação automática.
--detection-load-threshold O limite de detecção com base na carga do serviço de back-end.
--detection-absolute-qps O limite de detecção com base no número de QPS absoluto.
--detection-relative-to-baseline-qps O limite de detecção com base no número QPS relativo à média do valor de referência para o tráfego.

No primeiro exemplo, você configura a Proteção Adaptativa para detectar ataques e sugerir ações de mitigação distintas para cada host que sustenta o serviço de back-end, sem a substituição de 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 existente.
  2. Se a Proteção Adaptativa ainda não estiver ativada, use o seguinte comando para ativá-la em 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 granular de tráfego:
    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 limites de implantação automática e detecção diferentes para algumas ou todas as unidades granulares de tráfego que você configurou no primeiro exemplo.

gcloud

  1. Se a implantação automática da Proteção Adaptativa 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 granular de tráfego com um HTTP_HEADER_HOST de HOST e um HTTP_PATH de PATH. Use este comando para cada unidade granular de tráfego que você deseja personalizar, substituindo as variáveis conforme necessário para cada host e caminho do 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 ataques ultrapassa o valor de referência médio para QPS

No exemplo a seguir, você configura a Proteção Adaptativa para detectar um ataque somente quando o volume do ataque exceder em mais de 50% a média de QPS do valor de referência e quando a carga do serviço de back-end for 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 existente.
  2. Se a Proteção Adaptativa ainda não estiver ativada, use o seguinte comando para ativá-la em 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