Configurar grupos de endereços

Os grupos de endereços permitem combinar vários endereços IP e intervalos de endereços IP em uma única unidade lógica nomeada, que você pode usar em vários produtos. Isso documento que mostra como usar grupos de endereços com os controles de segurança do Google Cloud Armor políticas. Você precisa de uma assinatura ativa do Google Cloud Armor Enterprise para usar grupos de endereços.

Papéis IAM

Para criar e gerenciar um grupo de endereços, é necessário ter o papel de Administrador de rede (compute.networkAdmin) ou de Administrador de segurança (compute.securityAdmin). Também é possível definir um papel personalizado com um conjunto equivalente de permissões.

Veja na tabela a seguir uma lista de permissões do Identity and Access Management (IAM) necessárias para executar um conjunto de tarefas em grupos de endereços.

Tarefa Nome do papel do IAM Permissões do IAM
Criar e gerenciar grupos de endereços compute.networkAdmin

compute.securityAdmin

networksecurity.addressGroups.*
Descobrir e ver grupos de endereços compute.networkUser networksecurity.addressGroups.list

networksecurity.addressGroups.get

networksecurity.addressGroups.use

Para mais informações sobre quais papéis incluem permissões do IAM específicas, consulte a Referência de permissões do IAM.

Criar ou modificar grupos de endereços

As seções a seguir explicam como criar grupos de endereços, adicionar e remover endereços de grupos de endereços e como excluí-los.

Criar um grupo de endereços

Ao criar um grupo de endereços, especifique a capacidade e o endereço IP dele versão usando as sinalizações --capacity e --type, respectivamente. Não é possível altere esses valores depois de criar o grupo de endereços.

Além disso, a capacidade máxima do Google Cloud Armor pode ser maior que a capacidade máxima de outros produtos, como o Cloud Next Generation Firewall. Portanto, se Para usar o mesmo grupo de endereços em mais de um produto, será necessário defina a capacidade como menor ou igual à capacidade máxima mais baixa entre esses produtos.

Console

  1. No console do Google Cloud, acesse a página Grupos de endereços.

    Acessar "Grupos de endereços"

  2. No menu do seletor de projetos, se disponível, escolha seu projeto.

  3. Clique em Criar grupo de endereços.

  4. Digite um nome no campo Nome.

  5. Opcional: no campo Descrição, adicione uma descrição.

  6. Em Escopo, escolha Global.

  7. Em Tipo, escolha IPv4 ou IPv6.

  8. Em Finalidade, escolha Cloud Armor. como alternativa, escolha Firewall e Cloud Armor, se você também planeja usar o grupo de endereços com as políticas de firewall de última geração do Cloud.

    Para mais informações sobre como escolher um propósito, consulte especificação do grupo de endereços.

  9. No campo Capacidade, insira a capacidade do grupo de endereços.

  10. No campo Endereços IP, liste os endereços ou intervalos de IP que que deseja incluir no grupo de endereços separados por vírgulas. Por exemplo, 1.1.1.0/24,1.2.0.0.

  11. Clique em Criar.

gcloud

Use o exemplo a seguir Comando gcloud beta network-security address-groups create para criar um grupo de endereços chamado GROUP_NAME com um capacidade de 1.000 endereços IPv4, que podem ser usados com Google Cloud Armor ou Cloud NGFW:

gcloud beta network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 1000 \
  --type IPv4 \
  --purpose DEFAULT,CLOUD_ARMOR

Como alternativa, é possível criar um grupo de endereços com uma capacidade maior definindo a finalidade exclusivamente para CLOUD_ARMOR. No exemplo a seguir, você cria um grupo de endereços com capacidade de 10.000 intervalos de endereços IP IPv6:

gcloud beta network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 10000 \
  --type IPv6 \
  --purpose CLOUD_ARMOR

Adicionar itens a um grupo de endereços

Depois de criar um grupo de endereços, é possível adicionar itens usando o console do Google Cloud ou o comando gcloud beta network-security address-groups add-items.

Console

  1. No console do Google Cloud, acesse a página Grupos de endereços.

    Acessar "Grupos de endereços"

  2. No menu do seletor de projetos, se disponível, escolha seu projeto.

  3. Para editar um grupo de endereços, clique no nome dele.

  4. Clique em Editar.

  5. No campo Endereços IP, adicione os novos itens ao campo separado por vírgulas lista de endereços IP. Se preferir, clique em Importar endereços para faça o upload de um arquivo CSV com uma lista de endereços IP.

  6. Clique em Salvar.

gcloud

No exemplo a seguir, você adiciona os endereços IP 192.168.1.2. 192.168.1.8 e 192.168.1.9 ao grupo de endereços GROUP_NAME. Forneça uma lista de itens separada por vírgulas com a sinalização --item:

gcloud beta network-security address-groups add-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Remover itens de um grupo de endereços

É possível remover itens de um grupo de endereços usando o console do Google Cloud ou o comando gcloud beta network-security address-groups remove-items.

Console

  1. No console do Google Cloud, acesse a página Grupos de endereços.

    Acessar "Grupos de endereços"

  2. No menu do seletor de projetos, se disponível, escolha seu projeto.

  3. Para editar um grupo de endereços, clique no nome dele.

  4. Clique em Editar.

  5. No campo Endereços IP, exclua os itens que você quer remover. da lista separada por vírgulas de endereços IP.

  6. Clique em Salvar.

gcloud

O comando a seguir remove os endereços IP 192.168.1.2, 192.168.1.8, e 192.168.1.9 que você adicionou no comando anterior:

gcloud beta network-security address-groups remove-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Excluir um grupo de endereços

Não é possível excluir um grupo de endereços se ele for referenciado por um recurso, incluindo uma política de firewall ou de segurança. Siga estas etapas para excluir um endereço grupo:

Console

  1. No console do Google Cloud, acesse a página Grupos de endereços.

    Acessar "Grupos de endereços"

  2. No menu do seletor de projetos, se disponível, escolha seu projeto.

  3. Marque a caixa de seleção ao lado do grupo de endereços que você quer excluir. Certifique-se de que o grupo de endereços selecionado não esteja referenciado por nenhum firewall ou política de segurança.

  4. Clique em Excluir, depois em Excluir novamente para confirmar.

gcloud

O exemplo a seguir usa Comando gcloud beta network-security address-groups delete para excluir um grupo de endereços chamado GROUP_NAME.

gcloud beta network-security address-groups delete GROUP_NAME \
  --location global

Usar grupos de endereços com políticas de segurança

Depois de criar um grupo de endereços e adicionar endereços IP a ele, você poderá usá-lo com qualquer política de segurança de back-end atual do Google Cloud Armor. A os exemplos a seguir mostram duas maneiras diferentes de usar grupos de endereços.

Negar um grupo de endereços IP

Para este exemplo, imagine que você tem um grupo de endereços IP chamado BAD_IPS com 10.000 endereços IP que são maliciosos. Você pode negar todos esses endereços IP usando uma única política deny com a seguinte condição de correspondência:

evaluateAddressGroup('BAD_IPS', origin.ip)

Reutilizar um grupo de intervalos de endereços IP em várias políticas de segurança

Para este exemplo, imagine que você tem a mesma lista de 10.000 endereços IP que no exemplo anterior, mas que alguns dos endereços IP são conhecidos como rastreadores da Web. Você quer bloquear todos estes endereços IP em alguns back-ends serviços, mas permite que os rastreadores da Web acessem outros serviços de back-end para melhorar otimização de mecanismos de pesquisa (SEO). Siga as etapas abaixo para negar todos os dá acesso a BACKEND_SERVICE_1, ao mesmo tempo em que permite o acesso 66.249.77.32/27 e 66.249.77.64/27 para acessar BACKEND_SERVICE_2:

  1. Crie uma política de segurança de back-end chamada POLICY_1 e anexe-a para BACKEND_SERVICE_1.
  2. Em POLICY_1, crie uma regra deny com a seguinte correspondência condição:

    evaluateAddressGroup('BAD_IPS', origin.ip)
    
  3. Crie uma segunda política de segurança de back-end chamada POLICY_2 e anexar ao arquivo BACKEND_SERVICE_2.

  4. Em POLICY_2, crie uma regra deny com a seguinte correspondência que exclui 66.249.77.32/27 e 66.249.77.64/27:

    evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
    

Usar um grupo de endereços para corresponder aos endereços IP dos usuários

Para este exemplo, imagine que você tem um grupo de endereços IP chamado BAD_IPS com 10.000 endereços IP que são maliciosos. Em Além disso, use um proxy upstream, que inclui informações sobre os clientes de origem no cabeçalho. É possível negar todos esses endereços IP uma única regra de política de segurança deny com a seguinte correspondência condição:

evaluateAddressGroup('BAD_IPS', origin.user_ip)

Para mais informações sobre endereços IP de usuários, consulte atributos de linguagem das regras.

A seguir