Configure políticas de segurança do Cloud Armor

Use estas instruções para criar políticas de segurança do Google Cloud Armor para filtrar o tráfego recebido para a sua aplicação. Para informações conceptuais sobre as políticas de segurança, consulte a vista geral da política de segurança do Cloud Armor.

Antes de começar

Antes de configurar as políticas de segurança, faça o seguinte:

  • Certifique-se de que conhece os conceitos do balanceador de carga de aplicações externo.

  • Examine os seus serviços de back-end existentes para determinar quais ainda não têm uma política de segurança anexada. Estes serviços de back-end e os respetivos back-ends associados não estão protegidos pelo Cloud Armor. Para adicionar a proteção fornecida pelo Cloud Armor, siga as instruções neste documento para anexar uma política de segurança criada recentemente ou existente ao serviço de back-end.

Configure autorizações IAM para políticas de segurança do Cloud Armor

As seguintes operações requerem a função de administrador de segurança do Compute do Identity and Access Management (IAM) (roles/compute.securityAdmin):

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

Um utilizador com a função de administrador de rede de computação (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 da API:
    • BackendServices setSecurityPolicy
    • BackendServices list (apenas gcloud)

Os utilizadores com a função de administrador de segurança (roles/iam.securityAdmin) e a função de administrador de rede de computação podem ver as políticas de segurança do Cloud Armor através dos métodos da API SecurityPolicies get, list e getRule.

Configure autorizações da IAM para funções personalizadas

A tabela seguinte apresenta as autorizações base das funções da IAM e os respetivos métodos da API associados.

Autorizaçã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

Crie políticas de segurança

Pode configurar políticas, regras e expressões de segurança do Cloud Armor através da Google Cloud consola, da CLI do Google Cloud ou da API REST. Quando usa a CLI gcloud para criar políticas de segurança, use a flag --type para especificar se a política de segurança é uma política de segurança de back-end ou uma política de segurança de limite.

Se não souber como configurar a política de segurança, recomendamos que consulte exemplos de políticas de segurança.

Exemplos de expressões

Seguem-se exemplos de expressões. Para mais informações sobre expressões, consulte a referência da linguagem de regras personalizadas do Cloud Armor.

Se estiver a configurar uma regra ou uma expressão que use códigos de países ou regiões ISO 3166-1 alfa 2, o Cloud Armor trata cada código de forma independente. As regras e as expressões do Cloud Armor usam explicitamente esses códigos de região para permitir ou recusar pedidos.

  • A expressão seguinte corresponde a pedidos do endereço IP 1.2.3.4 e contém a string example no cabeçalho user-agent:

    inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
    

    Em alternativa, pode fazer a correspondência com o intervalo de endereços IP de um cabeçalho de endereço IP do cliente personalizado através do atributo origin.user_ip:

    inIpRange(origin.user_ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
    
  • A expressão seguinte corresponde a pedidos que têm um cookie com um valor específico:

    has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
    
  • A seguinte expressão corresponde a pedidos da região AU:

    origin.region_code == 'AU'
    
  • A seguinte expressão corresponde a pedidos da região AU que não estão no intervalo de IP especificado:

    origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
    
  • A seguinte expressão corresponde a pedidos com um caminho variável numerado para um ficheiro específico se o URI corresponder a uma expressão regular:

    request.path.matches('/path/[0-9]+/target_file.html')
    
  • A expressão seguinte corresponde aos pedidos se o valor descodificado em Base64 do cabeçalho user-id contiver um valor específico:

    has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
    
  • A seguinte expressão usa um conjunto de expressões pré-configurado para correspondência com ataques de injeção de SQL:

    evaluatePreconfiguredWaf('sqli-stable')
    

Faça a gestão das políticas de segurança

Use as secções seguintes para listar as políticas de segurança no seu projeto, atualizar as políticas de segurança, eliminar as políticas de segurança ou testar as políticas de segurança.

Liste as políticas de segurança

Use estas instruções para listar todas as políticas de segurança do Cloud Armor no projeto atual ou num projeto que especificar.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Para ver uma política específica, na página Políticas de segurança, na lista de políticas, clique no respetivo nome.

gcloud

gcloud compute security-policies list

Por exemplo:

gcloud compute security-policies list

Saída:

NAME: my-policy
REGION: us-central1

Para mais informações, consulte gcloud compute security-policies list.

Atualize as políticas de segurança

Use estas instruções para atualizar uma política de segurança do Cloud Armor. Por exemplo, pode modificar a descrição da política, modificar o comportamento da regra predefinida, alterar o serviço de back-end de destino ou adicionar novas regras.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Para atualizar uma política específica, na página Políticas de segurança, na lista de políticas, clique em Menu para a política que quer atualizar.

    • Para atualizar a descrição da política da ação da regra predefinida, selecione Editar, faça as alterações e, de seguida, clique em Atualizar.
    • Para adicionar uma regra, selecione Adicionar regra e, de seguida, siga as instruções em Adicionar regras a uma política de segurança.
    • Para alterar o serviço de back-end de destino da política, selecione Aplicar política ao destino, clique em Adicionar destino, selecione um destino e, de seguida, clique em Adicionar.

gcloud

Para atualizar uma política de segurança, use as seguintes instruções da CLI do Google Cloud:

Elimine políticas de segurança

Use estas instruções para eliminar uma política de segurança do Cloud Armor. Tem de remover todos os serviços de back-end da política antes de a poder eliminar.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, junto ao nome da política de segurança que quer eliminar, selecione a caixa de verificação.

  3. No canto superior direito da página, clique em Eliminar.

gcloud

Use gcloud compute security-policies delete NAME. Substitua NAME pelo nome da política de segurança:

gcloud compute security-policies delete NAME

Teste as políticas de segurança

Recomendamos que implemente todas as novas regras no modo de pré-visualização e, em seguida, examine os registos de pedidos para verificar se as políticas e as regras estão a funcionar conforme esperado.

Faça a gestão das regras da política de segurança

Use as secções seguintes para listar regras de políticas de segurança, adicionar regras, atualizar regras ou eliminar regras.

Liste as regras numa política de segurança

Use estas instruções para listar as regras numa política de segurança do Cloud Armor.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política, e as regras da política são apresentadas no separador Regras ao centro da página.

gcloud

Use o seguinte comando gcloud para apresentar uma lista de todas as regras numa única política de segurança, juntamente com uma descrição da política:

gcloud compute security-policies describe NAME \

Use o seguinte comando gcloud para listar todas as regras numa única política de segurança numa região especificada, juntamente com uma descrição da política:

gcloud compute security-policies describe NAME \
  --region REGION

Use o seguinte comando gcloud para descrever uma regra com a prioridade especificada na política de segurança especificada:

gcloud compute security-policies rules describe PRIORITY \
    --security-policy POLICY_NAME

Por exemplo, o seguinte comando descreve a regra com prioridade 1000 na política de segurança my-policy:

gcloud compute security-policies rules describe 1000 \
    --security-policy my-policy

Saída:

action: deny(403)
description: block traffic from 192.0.2.0/24 and 198.51.100.0/24
kind: compute#securityPolicyRule
match:
  srcIpRanges:
  - '192.0.2.0/24'
  - '198.51.100.0/24'
preview: false
priority: 1000

Para mais informações, consulte gcloud compute security-policies describe.

Adicione regras a uma política de segurança

Use estas instruções para adicionar regras a uma política de segurança do Cloud Armor.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, clique no separador Regras.

  4. Clique em Adicionar regra.

  5. Opcional: introduza uma descrição da regra.

  6. Selecione o modo:

    • Modo básico: permitir ou negar tráfego com base em endereços IP ou intervalos de IP.
    • Modo avançado: permitir ou recusar tráfego com base em expressões de regras.
  7. No campo Correspondência, especifique as condições em que a regra se aplica:

    • Modo básico: introduza entre um (1) e 10 intervalos de endereços IP para corresponder na regra. Pode adicionar um máximo de 10 intervalos de endereços IP. Para ver os limites, consulte o artigo Quotas e limites do Cloud Armor.

    • Modo avançado: introduza uma expressão ou subexpressões para avaliar em função dos pedidos recebidos. Para ver informações sobre como escrever as expressões e ler os exemplos seguintes, consulte a referência da linguagem das regras personalizadas.

      • A expressão seguinte corresponde a pedidos do endereço IP 1.2.3.4 e contém a string example no cabeçalho user-agent:

        inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
        
      • A expressão seguinte corresponde a pedidos que têm um cookie com um valor específico:

        has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
        
      • A seguinte expressão corresponde a pedidos da região AU:

        origin.region_code == 'AU'
        
      • A seguinte expressão corresponde a pedidos da região AU que não estão no intervalo de IP especificado:

        origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
        
      • A expressão seguinte corresponde a pedidos se o URI corresponder a uma expressão regular:

        request.path.matches('/example_path/')
        
      • A expressão seguinte corresponde aos pedidos se o valor descodificado em Base64 do cabeçalho user-id contiver um valor específico:

        has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
        
      • A seguinte expressão usa um conjunto de expressões pré-configurado para corresponder a ataques de SQLi:

        evaluatePreconfiguredWaf('sqli-stable')
        
  8. Em Ação, selecione Permitir ou Recusar.

  9. Se estiver a configurar uma regra de recusa, selecione uma mensagem de Estado de recusa.

  10. Se quiser ativar o modo de pré-visualização para a regra, selecione a caixa de verificação Ativar.

  11. No campo Prioridade, introduza um número inteiro positivo.

  12. Clique em Adicionar.

gcloud

Use o comando gcloud compute security-policies rules create PRIORITY. Substitua PRIORITY pela prioridade da regra na política:

gcloud compute security-policies rules create PRIORITY \
    --security-policy POLICY_NAME \
    --description DESCRIPTION \
    --src-ip-ranges IP_RANGES | --expression EXPRESSION \
    --action=[ allow | deny-403 | deny-404 | deny-502 ] \
    --preview

Por exemplo, o seguinte comando adiciona uma regra para bloquear o tráfego dos intervalos de endereços IP 192.0.2.0/24 e 198.51.100.0/24. A regra tem a prioridade 1000 e é uma regra numa política denominada my-policy:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \
    --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \
    --action "deny-403"

Use a flag --expression para especificar uma condição na referência do idioma das regras personalizadas. O seguinte comando adiciona uma regra para permitir tráfego do endereço IP 1.2.3.4 e contém a string example no cabeçalho do agente do utilizador:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \
    --action allow \
    --description "Block User-Agent 'example'"

O comando seguinte adiciona uma regra para bloquear pedidos se o cookie do pedido contiver um valor específico:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('80=BLAH')" \
    --action deny-403 \
    --description "Cookie Block"

O seguinte comando adiciona uma regra para bloquear pedidos da região AU:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "origin.region_code == 'AU'" \
    --action deny-403 \
    --description "AU block"

O seguinte comando adiciona uma regra para bloquear pedidos da região AU que não estejam no intervalo de IP especificado:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')" \
    --action deny-403 \
    --description "country and IP block"

O comando seguinte adiciona uma regra para bloquear pedidos com um URI que corresponde a uma expressão regular:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "request.path.matches('/example_path/')" \
    --action deny-502 \
    --description "regex block"

O comando seguinte adiciona uma regra para bloquear pedidos se o valor descodificado em Base64 do cabeçalho user-id contiver um valor específico:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \
    --action deny-403 \
    --description "country and IP block"

O seguinte comando adiciona uma regra que usa um conjunto de expressões pré-configurado para mitigar ataques de SQLi:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "evaluatePreconfiguredWaf('sqli-stable')" \
    --action deny-403

Atualize uma única regra numa política de segurança

Use estas instruções para atualizar uma única regra numa política de segurança do Cloud Armor. Para atualizar várias regras de forma atómica, consulte o artigo Atualizar várias regras de forma atómica numa política de segurança.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, clique no separador Regras.

  4. Junto à regra que quer atualizar, clique em Editar. É apresentada a página Editar regra.

  5. Faça as alterações e, de seguida, clique em Atualizar.

gcloud

Use este comando para atualizar uma regra com a prioridade especificada numa política de segurança designada. Só pode atualizar uma política de segurança de cada vez através deste comando:

gcloud compute security-policies rules update PRIORITY [ \
    --security-policy POLICY_NAME  \
    --description DESCRIPTION  \
    --src-ip-ranges IP_RANGES  | --expression EXPRESSION \
    --action=[ allow | deny-403 | deny-404 | deny-502 ]  \
    --preview
  ]
  

Por exemplo, o comando seguinte atualiza uma regra com a prioridade 1111 para permitir tráfego do intervalo de endereços IP 192.0.2.0/24:

gcloud compute security-policies rules update 1111 \
    --security-policy my-policy \
    --description "allow traffic from 192.0.2.0/24" \
    --src-ip-ranges "192.0.2.0/24" \
    --action "allow"

Para mais informações sobre este comando, consulte gcloud compute security-policies rules update.

Para atualizar a prioridade de uma regra, tem de usar a API REST. Para mais informações, consulte securityPolicies.patchRule.

Atualize atomicamente várias regras numa política de segurança

Uma atualização atómica aplica alterações a várias regras numa única atualização. Se atualizar as regras uma a uma, pode observar um comportamento não intencional, uma vez que as regras antigas e novas podem funcionar em conjunto durante um curto período.

Para atualizar atomicamente várias regras, exporte a política de segurança atual para um ficheiro JSON ou YAML e, em seguida, modifique-o. Use o ficheiro modificado para criar uma nova política de segurança e, em seguida, mude a política de segurança para os serviços de back-end relevantes.

gcloud

  1. Exporte a política a atualizar, conforme mostrado no exemplo seguinte:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
    

    A política exportada tem um aspeto semelhante ao seguinte exemplo:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: deny(404)
      description: my-rule-1
      match:
        expr:
          expression: evaluatePreconfiguredWaf('xss-stable')
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 1
    - action: allow
      description: my-rule-2
      match:
        config:
          srcIpRanges:
          - '1.2.3.4'
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 2
    - action: deny
      description: default rule
      kind: compute#securityPolicyRule
      match:
        config:
          srcIpRanges:
          - '*'
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 2147483647
    selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
    
  2. Use qualquer editor de texto para modificar a política. Por exemplo, pode modificar as prioridades das regras existentes e adicionar uma nova regra:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: deny(404)
      description: my-rule-1
      match:
        expr:
          expression: evaluatePreconfiguredWaf('xss-stable')
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 1
    - action: allow
      description: my-new-rule
      match:
        config:
          srcIpRanges:
          - '1.2.3.1'
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 10
    - action: allow
      description: my-rule-2
      match:
        config:
          srcIpRanges:
          - '1.2.3.4'
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 11
    - action: deny
      description: default rule
      kind: compute#securityPolicyRule
      match:
        config:
          srcIpRanges:
          - '*'
        versionedExpr: SRC_IPS_V1
      preview: false
      priority: 2147483647
    selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
    
  3. Crie uma nova política de segurança do Cloud Armor e especifique o nome de ficheiro e o formato modificados, conforme mostrado no exemplo seguinte:

    gcloud compute security-policies create new-policy \
        --file-name modified-policy \
        --file-format yaml
    
  4. Remova a política de segurança antiga do serviço de back-end relevante, conforme mostrado no exemplo seguinte:

    gcloud compute backend-services update my-backend \
        --security-policy ""
    
  5. Adicione a nova política de segurança ao serviço de back-end, conforme mostrado no exemplo seguinte:

    gcloud compute backend-services update my-backend \
        --security-policy new-policy
    
  6. Se a política antiga não for usada, elimine-a:

    gcloud compute security-policies delete my-policy
    

Elimine regras de uma política de segurança

Use estas instruções para eliminar regras de uma política de segurança do Cloud Armor.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Google Cloud Armor.

    Aceda às políticas do Google Cloud Armor

  2. Clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, no separador Regras, selecione a caixa de verificação junto à regra que quer eliminar.

  4. Clique em Eliminar.

gcloud

Use este comando para remover uma regra com a prioridade especificada de uma política de segurança designada. Só pode modificar uma política de segurança de cada vez, mas pode eliminar várias regras em simultâneo:

gcloud compute security-policies rules delete PRIORITY [...] [
    --security-policy POLICY_NAME \
  ]

Por exemplo:

gcloud compute security-policies rules delete 1000 \
    --security-policy my-policy

Anexe e remova políticas de segurança

Use as secções seguintes para anexar e remover políticas de segurança de serviços de back-end e contentores de back-end.

Anexe uma política de segurança a um serviço de back-end

Use estas instruções para anexar uma política de segurança do Cloud Armor a um serviço de back-end. Uma política de segurança pode ser anexada a mais do que um serviço de back-end, mas um serviço de back-end só pode ter um de cada tipo de política de segurança anexada.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, clique no separador Alvos.

  4. Clique em Aplicar política ao novo alvo.

  5. Clique em Adicionar alvo.

  6. Na lista Destino, selecione um destino e, de seguida, clique em Adicionar.

gcloud

Quando anexar uma política de segurança de back-end a um serviço de back-end, use o comando gcloud compute backend-services e a flag --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy my-policy

Quando anexa uma política de segurança de limite a um serviço de back-end, use o comando gcloud compute backend-services e a flag --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy my-policy

Remova uma política de segurança de um serviço de back-end

Use estas instruções para remover uma política de segurança de back-end do Cloud Armor ou uma política de segurança de edge de um serviço de back-end.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, clique no separador Alvos.

  4. Selecione o serviço de back-end de destino do qual está a remover a política.

  5. Clique em Remover.

  6. Na mensagem Remover segmentação, clique em Remover.

gcloud

Quando remove uma política de segurança de back-end, use o comando gcloud compute backend-services e a flag --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy ""

Quando remove uma política de segurança de limite, use o comando gcloud compute backend-services e a flag --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy ""

Anexe uma política de segurança a um bucket de back-end

Use estas instruções para anexar uma política de segurança de limite do Cloud Armor a um contentor de back-end. Uma política de segurança de edge pode ser anexada a mais do que um bucket de back-end.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, clique no separador Alvos.

  4. Clique em Aplicar política ao novo alvo.

  5. Clique em Adicionar alvo.

  6. Na lista Destino, selecione um destino e, de seguida, clique em Adicionar.

gcloud

Quando anexa uma política de segurança de limite a um contentor de back-end, use o comando cloud compute backend-buckets e a flag --edge-security-policy:

gcloud compute backend-services update my-bucket \
    --edge-security-policy my-edge-policy

Remova uma política de segurança de um bucket de back-end

Use estas instruções para remover uma política de segurança de limite do Cloud Armor de um bucket de back-end.

Consola

  1. Na Google Cloud consola, aceda à página Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.

  3. No centro da página, clique no separador Alvos.

  4. Selecione o serviço de back-end de destino do qual está a remover a política.

  5. Clique em Remover.

  6. Na mensagem Remover segmentação, clique em Remover.

gcloud

Quando remove uma política de segurança de limite de um contentor de back-end, use o comando cloud compute backend-buckets e a flag --edge-security-policy:

gcloud compute backend-services update my-bucket \
    --edge-security-policy ""

Importe e exporte políticas de segurança

Use as secções seguintes para importar e exportar políticas de segurança como ficheiros YAML ou JSON.

Exporte políticas de segurança

Pode exportar uma política de segurança do Cloud Armor como um ficheiro YAML ou JSON através da CLI Google Cloud. Esta funcionalidade oferece as seguintes vantagens:

  • Guarde uma cópia para controlo de versões ou cópia de segurança: a exportação fornece uma cópia local da sua política. Pode guardar esta cópia em sistemas de controlo de origem como uma cópia de segurança ou para acompanhar as alterações ao longo do tempo. Pode voltar a importá-la mais tarde para restaurar uma versão anterior da sua política, se necessário.

  • Modificar e atualizar políticas localmente: pode modificar as políticas exportadas offline usando o seu editor de texto preferido. Depois de fazer alterações, reimporte a política atualizada para aplicar as modificações ao Cloud Armor.

gcloud

  1. No comando seguinte, NAME é o nome da política de segurança. Os formatos de ficheiro válidos são YAML e JSON. Se não fornecer o formato do ficheiro, o Cloud Armor usa o YAML predefinido.

    gcloud compute security-policies export NAME \
        --file-name FILE_NAME  \
        --file-format FILE_FORMAT
    

    O exemplo seguinte exporta a política de segurança my-policy para o ficheiro my-file no formato YAML:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
     

    O exemplo seguinte mostra uma política de segurança exportada:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: allow
      description: default rule
      match:
          config:
            srcIpRanges:
            - '*'
          versionedExpr: SRC_IPS_V1
        preview: false
        priority: 2147483647
      selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
      
  2. Pode modificar o ficheiro exportado com qualquer editor de texto e, em seguida, importá-lo novamente para o Google Cloud usando o comando import.

Importe políticas de segurança

Pode importar políticas de segurança do Cloud Armor a partir de um ficheiro YAML ou JSON através da CLI do Google Cloud. Não pode usar o comando import para atualizar as regras de uma política existente. Em alternativa, tem de atualizar as regras individualmente através do procedimento Atualizar uma única regra numa política de segurança ou todas de uma só vez através do procedimento Atualizar atomicamente várias regras numa política de segurança.

gcloud

Para importar políticas de segurança, use o comando gcloud compute security-policies import NAME. Substitua NAME pelo nome da política de segurança que está a importar. Se não indicar o formato do ficheiro, o formato correto é assumido com base na estrutura do ficheiro. Se a estrutura for inválida, é apresentado um erro.

gcloud compute security-policies import NAME \
    --file-name FILE_NAME  \
   [--file-format FILE_FORMAT]

Por exemplo, o seguinte comando atualiza a política my-policy importando o ficheiro my-file.

gcloud compute security-policies import my-policy \
    --file-name my-file \
    --file-format json

Se a impressão digital da política estiver desatualizada quando a importa, o Cloud Armor apresenta um erro. Isto significa que a política foi modificada desde a última vez que a exportou. Para corrigir este problema, use o comando describe na política para obter a impressão digital mais recente. Mescle as diferenças entre a política descrita e a sua política e, em seguida, substitua a impressão digital desatualizada pela mais recente.

Liste as regras pré-configuradas disponíveis

Liste as regras pré-configuradas para ver as regras de proteção de aplicações e as assinaturas predefinidas, como o OWASP Core Rule Set, que o Cloud Armor fornece. Estas regras pré-configuradas contêm várias assinaturas incorporadas que o Cloud Armor usa para avaliar os pedidos recebidos. Adiciona estas regras pré-configuradas a regras novas ou existentes através da referência da linguagem de regras personalizadas.

Para mais informações, consulte as regras pré-configuradas.

gcloud

  1. Execute o comando gcloud compute security-policies list-preconfigured-expression-sets:

    gcloud compute security-policies list-preconfigured-expression-sets
    

    O exemplo seguinte mostra a forma da saída do comando:

    EXPRESSION_SET
    expression-set-1
       RULE_ID                SENSITIVITY
       expression-set-1-id-1  sensitivity-value-1
       expression-set-1-id-2  sensitivity-value-2
    expression-set-2
       alias-1
       RULE_ID                SENSITIVITY
       expression-set-2-id-1  sensitivity-value-1
       expression-set-2-id-2  sensitivity-value-2
    

    O exemplo seguinte inclui uma amostra da saída real do comando. Tenha em atenção que o resultado real incluiria todas as regras indicadas em Ajustar as regras do WAF do Cloud Armor.

    gcloud compute security-policies list-preconfigured-expression-sets
    
    EXPRESSION_SET
    sqli-canary
        RULE_ID                          SENSITIVITY
        owasp-crs-v030001-id942110-sqli  2
        owasp-crs-v030001-id942120-sqli  2
        …
    xss-canary
        RULE_ID                         SENSITIVITY
        owasp-crs-v030001-id941110-xss  1
        owasp-crs-v030001-id941120-xss  1
    …
    sourceiplist-fastly
    sourceiplist-cloudflare
    sourceiplist-imperva
    

O que se segue?