Configurar políticas de segurança do Google Cloud Armor

Use estas instruções para criar políticas de segurança do Google Cloud Armor para filtrar o tráfego de entrada para os seguintes destinos:

  • Balanceador de carga de aplicativo externo global
  • Balanceador de carga de aplicativo clássico
  • Balanceador de carga de aplicativo externo regional
  • Balanceador de carga de aplicativo interno regional
  • Balanceador de carga de rede de proxy externo
  • Balanceador de carga de rede de proxy clássico
  • Balanceador de carga de rede de passagem externa
  • Encaminhamento de protocolo
  • VMs com endereços IP públicos

Para informações conceituais sobre políticas de segurança, consulte a visão geral da política de segurança do Google Cloud Armor.

Antes de começar

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

  • Familiarize-se com os conceitos de balanceador de carga de aplicativo externo.

  • Examine seus serviços de back-end atuais para determinar quais ainda não têm uma política de segurança anexada. Esses serviços e os back-ends associados não são protegidos pelo Google Cloud Armor. Para adicionar a proteção fornecida pelo Google Cloud Armor, use as instruções neste documento para anexar uma política de segurança recém-criada ou existente ao serviço de back-end.

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

Criar políticas de segurança

É possível configurar expressões, regras e políticas de segurança do Google Cloud Armor usando o Console do Google Cloud, a Google Cloud CLI ou a API REST. Ao usar a CLI gcloud para criar políticas de segurança, use a sinalização --type para especificar se a política de segurança é de back-end ou de borda.

Se você não estiver familiarizado com a configuração da política de segurança, recomendamos que você consulte exemplos de políticas de segurança.

Exemplos de expressões

Veja a seguir expressões de exemplo. Para mais informações sobre expressões, consulte a referência de linguagem de regras personalizadas do Google Cloud Armor.

Se você estiver configurando uma regra ou expressão que usa códigos de país ou região ISO 3166-1 Alfa 2, o Google Cloud Armor vai tratar cada código de maneira independente. As regras e expressões do Google Cloud Armor usam explicitamente esses códigos de região para permitir ou negar solicitações.

  • A expressão a seguir corresponde a solicitações do endereço IP 1.2.3.4 e contém a string example no cabeçalho do user agent:

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

    Como alternativa, é possível faz a correspondência com o intervalo de endereços IP de um cabeçalho de endereço IP de cliente personalizado usando o 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 a seguir corresponde a solicitações que têm um cookie com um valor específico:

    has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
    
  • A expressão a seguir corresponde a solicitações da região AU:

    origin.region_code == 'AU'
    
  • A expressão a seguir corresponde a solicitações 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 a seguir corresponde a solicitações com um caminho de variável numerada para um arquivo específico caso o URI corresponda a uma expressão regular:

    request.path.matches('/path/[0-9]+/target_file.html')
    
  • A expressão a seguir faz a correspondência com solicitações se o valor decodificado 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 expressão a seguir usa uma correspondência pré-configurada do conjunto de expressões contra ataques SQLi:

    evaluatePreconfiguredExpr('sqli-stable')
    

Gerenciar políticas de segurança

Use as seções a seguir para listar as políticas de segurança no seu projeto, atualizar as políticas de segurança, excluir suas políticas de segurança ou testar suas políticas de segurança.

Listar políticas de segurança

Use estas instruções para listar todas as políticas de segurança do Google Cloud Armor no projeto atual ou em um projeto especificado.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

  2. Para visualizar uma política específica, acesse a lista de políticas e clique no nome dela na lista de Políticas de segurança.

gcloud

gcloud compute security-policies list

Exemplo:

gcloud compute security-policies list
NAME
my-policy

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

Atualizar políticas de segurança

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

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google 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 da política que você quer atualizar.

    • Para atualizar a descrição da política da ação da regra padrão, selecione Editar, faça as alterações e clique em Atualizar.
    • Para adicionar uma regra, selecione Adicionar regra e siga as instruções em Como 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 clique em Adicionar.

gcloud

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

Excluir políticas de segurança

Use estas instruções para excluir uma política de segurança do Google Cloud Armor. Remova todos os serviços de back-end da política antes de excluí-la.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

  2. Na página Políticas de segurança, ao lado do nome da política que você quer excluir, marque a caixa de seleção.

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

gcloud

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

gcloud compute security-policies delete NAME

Testar políticas de segurança

Recomendamos que você implante todas as novas regras no modo de visualização e examine os registros de solicitação para verificar se as políticas e as regras estão se comportando conforme o esperado.

Gerenciar regras da política de segurança

Use as seções a seguir para listar regras de política de segurança, adicionar regras, atualizar ou excluir regras.

Listar as regras em uma política de segurança

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

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

  2. Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida, e as regras da política são listadas na guia Regras no meio da página.

gcloud

Use o seguinte comando gcloud para listar todas as regras em somente uma política de segurança, junto com uma descrição da política:

gcloud compute security-policies describe NAME \

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 comando a seguir descreve a regra com prioridade 1.000 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

Adicionar regras a uma política de segurança

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

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

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

  3. No meio da página, clique na guia Regras.

  4. Clique em Adicionar regra.

  5. Opcional: insira uma descrição para a regra.

  6. Selecione o modo:

    • Modo básico: permita ou negue o tráfego com base em endereços IP ou intervalos de IP.
    • Modo avançado: permite ou nega tráfego com base em expressões de regra.
  7. No campo Correspondência, especifique as condições sob as quais a regra se aplica:

    • Modo básico: insira de um (1) a cinco (5) intervalos de endereços IP para que correspondam à regra.
    • Modo avançado: insira uma expressão ou subexpressões a serem avaliadas em relação às solicitações recebidas. Para saber mais sobre como gravar as expressões e ler os exemplos a seguir, consulte a referência da linguagem de regras personalizadas.

      • A expressão a seguir corresponde a solicitações do endereço IP 1.2.3.4 e contém a string example no cabeçalho do user agent:

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

        has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
        
      • A expressão a seguir corresponde a solicitações da região AU:

        origin.region_code == 'AU'
        
      • A expressão a seguir corresponde a solicitações 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 a seguir corresponde a solicitações se o URI corresponder a uma expressão regular:

        request.path.matches('/example_path/')
        
      • A expressão a seguir faz a correspondência com solicitações se o valor decodificado 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 expressão a seguir usa um conjunto de expressões pré-configuradas para corresponder aos ataques SQLi:

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

  9. Se você estiver configurando uma regra de negação, selecione uma mensagem Status negado.

  10. Se você quiser ativar o modo de visualização da regra, marque a caixa de seleção Ativar.

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

  12. Clique em Add.

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 comando a seguir 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 prioridade 1.000 e faz parte de uma política chamada 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 sinalização --expression para especificar uma condição na referência da linguagem de regras personalizadas. O comando a seguir adiciona uma regra para permitir o tráfego do endereço IP 1.2.3.4 e contém a string example no cabeçalho do user agent:

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 a seguir adiciona uma regra para bloquear solicitações se o cookie da solicitação 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 comando a seguir adiciona uma regra para bloquear solicitações 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 comando a seguir adiciona uma regra para bloquear solicitações da região AU que não estão 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 a seguir adiciona uma regra para bloquear solicitações com um URI que corresponda 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 a seguir adiciona uma regra para bloquear solicitações se o valor decodificado 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 comando a seguir adiciona uma regra que usa um conjunto de expressões pré-configuradas para mitigar ataques SQLi:

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

Atualizar uma única regra em uma política de segurança

Use estas instruções para atualizar apenas uma regra em uma política de segurança do Google Cloud Armor. Para atualizar atomicamente várias regras, consulte Como atualizar atomicamente várias regras em uma política de segurança.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

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

  3. No meio da página, clique na guia Regras.

  4. Ao lado da regra que você quer atualizar, clique em Editar. A página Editar regra é exibida.

  5. Faça as mudanças e clique em Atualizar.

gcloud

Use este comando para atualizar uma regra com a prioridade especificada em uma política de segurança designada. Só é possível atualizar uma política de segurança por vez usando este 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 a seguir atualiza uma regra com prioridade 1.111 para permitir o 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 esse comando, consulte gcloud compute security-policies rules update.

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

Atualizar atomicamente várias regras em uma política de segurança

Uma atualização atômica aplica alterações em várias regras em apenas uma atualização. Se você atualizar as regras uma por uma, talvez veja um comportamento não intencional porque as regras novas e antigas podem estar funcionando juntas por um curto período.

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

gcloud

  1. Exporte a política para atualização, conforme o exemplo a seguir:

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

    A política exportada ficará parecida com o exemplo:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: deny(404)
      description: my-rule-1
      match:
        expr:
          expression: evaluatePreconfiguredExpr('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, você pode alterar 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: evaluatePreconfiguredExpr('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 Google Cloud Armor e especifique o nome e o formato modificados do arquivo, conforme o exemplo a seguir:

    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 o exemplo a seguir:

    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 o exemplo a seguir:

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

    gcloud compute security-policies delete my-policy
    

Excluir regras de uma política de segurança

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

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

  2. Clique no nome da política de segurança. A página Detalhes da política é exibida.

  3. No meio da página, na guia Regras, marque a caixa de seleção ao lado da regra a ser excluída.

  4. Clique em Excluir.

gcloud

Use este comando para remover uma regra com a prioridade especificada de uma política de segurança designada. É possível modificar somente uma política de segurança por vez, mas excluir várias regras de uma só vez:

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

Exemplo:

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

Anexar e remover políticas de segurança

Use as seções a seguir para anexar e remover políticas de segurança de serviços de back-end e buckets de back-end.

Anexar 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 Google Cloud Armor a um serviço de back-end. Uma política de segurança pode ser anexada a mais de um serviço de back-end, mas um serviço de back-end pode ter apenas um de cada tipo de política de segurança anexado a ele.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

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

  3. No meio da página, clique na guia Destinos.

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

  5. Clique em Adicionar destino.

  6. Na lista Destino, selecione uma opção e clique em Adicionar.

gcloud

Ao 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 sinalização --security-policy:

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

Ao anexar uma política de segurança de borda a um serviço de back-end, use o comando gcloud compute backend-services e a sinalização --edge-security-policy:

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

Remover 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 do back-end do Google Cloud Armor ou uma política de segurança da extremidade de um serviço de back-end.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

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

  3. No meio da página, clique na guia Destinos.

  4. Selecione o serviço de back-end de destino do qual você quer remover a política.

  5. Clique em Remover.

  6. Na mensagem Remover destino, clique em Remover.

gcloud

Ao remover uma política de segurança de back-end, use o comando gcloud compute backend-services e a sinalização --security-policy:

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

Ao remover uma política de segurança de borda, use o comando gcloud compute backend-services e a sinalização --edge-security-policy:

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

Anexar 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 borda do Google Cloud Armor a um bucket de back-end. É possível anexar uma política de segurança de borda a mais de um bucket de back-end.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

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

  3. No meio da página, clique na guia Destinos.

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

  5. Clique em Adicionar destino.

  6. Na lista Destino, selecione uma opção e clique em Adicionar.

gcloud

Ao anexar uma política de segurança de borda a um bucket de back-end, use o comando cloud compute backend-buckets e a sinalização --edge-security-policy:

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

Remover 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 borda do Google Cloud Armor de um bucket de back-end.

Console

  1. No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.

    Acessar as políticas do Google Cloud Armor

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

  3. No meio da página, clique na guia Destinos.

  4. Selecione o serviço de back-end de destino do qual você quer remover a política.

  5. Clique em Remover.

  6. Na mensagem Remover destino, clique em Remover.

gcloud

Ao remover uma política de segurança de borda de um bucket de back-end, use o comando cloud compute backend-buckets e a sinalização --edge-security-policy:

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

Políticas de segurança de importação e exportação

Use as seções a seguir para importar e exportar políticas de segurança como arquivos YAML ou JSON.

Importar políticas de segurança

É possível importar políticas de segurança do Google Cloud Armor de um arquivo YAML ou JSON usando a Google Cloud CLI. Não é possível usar o comando import para atualizar as regras de uma política existente. Em vez disso, você precisa atualizar as regras individualmente usando o procedimento Como atualizar uma única regra em uma política de segurança. Se preferir, atualize todas de uma vez com o procedimento Como atualizar atomicamente várias regras em uma 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 você está importando. Se você não informar o formato do arquivo, o formato correto vai ser presumido com base na estrutura do arquivo. Se a estrutura for inválida, você verá um erro.

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

Por exemplo, o comando a seguir atualiza a política my-policy importando o arquivo 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 ao importá-la, o Google Cloud Armor mostrará um erro. Isso significa que a política foi alterada desde a última vez em que você a exportou. Para corrigir isso, use o comando describe na política para conseguir a impressão digital mais recente. Mescle as diferenças entre a política descrita e sua política. Depois, substitua a impressão digital desatualizada pela mais recente.

Exportar políticas de segurança

É possível exportar uma política de segurança do Google Cloud Armor como um arquivo YAML ou JSON usando a Google Cloud CLI. A exportação de uma política permite recuperar uma cópia dela, que você pode modificar ou salvar no controle de origem.

gcloud

  1. No comando a seguir, NAME é o nome da política de segurança. Os formatos de arquivo válidos são YAML e JSON. Se você não fornecer o formato do arquivo, o Google Cloud Armor vai usar o YAML padrão.

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

    No exemplo a seguir, a política de segurança my-policy é exportada para o arquivo my-file no formato YAML:

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

    O exemplo a seguir 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. É possível modificar o arquivo exportado com qualquer editor de texto e importá-lo de volta para o Google Cloud usando o comando import.

Listar regras pré-configuradas disponíveis

Liste regras pré-configuradas para conferir as regras de proteção de aplicativos predefinidas e as assinaturas, como o Conjunto de regras principais do ModSecurity fornecido pelo Google Cloud Armor. Essas regras pré-configuradas contêm várias assinaturas internas que o Google Cloud Armor usa para avaliar as solicitações recebidas. Adicione essas regras pré-configuradas a regras novas ou atuais usando a referência da linguagem de regras personalizadas.

Saiba mais em 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 a seguir mostra o formato de 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 a seguir inclui uma amostra da saída real do comando. A saída real incluiria todas as regras listadas em Como ajustar as regras do WAF do Google 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
    

A seguir