Para centralizar o gerenciamento e aplicar consistentemente as políticas de segurança nas redes de nuvem privada virtual (VPC), migre as regras de firewall da VPC que usam tags de rede e contas de serviço de origem para uma política de firewall de rede global. Assim, você pode reduzir sua superfície de ataque, otimizar as configurações de firewall e restringir os limites de segurança identificando e corrigindo regras permissivas demais.
Este documento é destinado a administradores de rede, engenheiros de segurança e arquitetos de segurança que configuram e gerenciam políticas de segurança de rede.
Para migrar regras que não usam tags de rede ou contas de serviço, consulte Migrar regras de firewall da VPC que não usam tags de rede e contas de serviço.
Para concluir essa migração, faça o seguinte:
- Avalie o ambiente.
- Liste tags de rede e contas de serviço atuais.
- Crie tags seguras para cada tag de rede e conta de serviço de origem.
- Associe as tags de rede e as contas de serviço às tags seguras que você criar.
- Vincule tags seguras a instâncias de máquina virtual (VM).
- Migre regras de firewall da VPC para uma política de firewall de rede global.
- Analise a nova política de firewall de rede.
- Conclua as tarefas de pós-migração.
Antes de começar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Compute Engine API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Verifique se você tem o papel de administrador de segurança do Compute (
roles/compute.securityAdmin).
Avaliar o ambiente
Antes de migrar as regras de firewall da VPC para uma política de firewall de rede global, avalie o ambiente atual e os papéis e permissões do gerenciamento de identidade e acesso (IAM):
- Identifique o número de regras de firewall da VPC na sua rede VPC.
- Anote as prioridades associadas a cada regra de firewall da VPC.
- Verifique se você tem as permissões e os papéis do IAM necessários para criar, associar, modificar e visualizar políticas globais de firewall de rede.
Verifique se você tem as permissões e os papéis do IAM necessários para criar, atualizar e excluir definições seguras de tags.
Confira na tabela a seguir um resumo dos vários papéis necessários para criar e gerenciar tags seguras:
Nome do papel Tarefas realizadas Função de administrador de tags ( roles/resourcemanager.tagAdmin)Criar, atualizar e excluir definições de tags. Para mais informações, consulte Administrar tags. Papel de visualizador de tags ( roles/resourcemanager.tagViewer)Conferir definições de tags e tags anexadas aos recursos. Função de Usuário de Tags ( roles/resourcemanager.tagUser)Adicionar e remover tags anexadas a recursos
Listar tags de rede e contas de serviço atuais
Determine se as regras de firewall da VPC usam tags de rede ou contas de serviço e crie um arquivo JSON para salvar os detalhes dessas contas.
Para exportar as tags de rede e as contas de serviço na sua rede para um arquivo JSON de mapeamento, use o comando gcloud beta compute firewall-rules migrate com a flag --export-tag-mapping:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--export-tag-mapping \
--tag-mapping-file=TAG_MAPPING_FILE
Substitua:
NETWORK_NAME: o nome da rede VPC que contém as regras de firewall da VPC que você quer migrar.TAG_MAPPING_FILE: o nome do arquivo JSON de mapeamento.
Se as regras de firewall da VPC tiverem apenas contas de serviço, o arquivo JSON gerado terá apenas contas de serviço. Da mesma forma, se as regras de firewall da VPC tiverem apenas tags de rede, o arquivo JSON gerado terá apenas tags de rede. As contas de serviço têm o prefixo sa, e as tags de rede não têm prefixo.
Por exemplo, o arquivo JSON gerado a seguir contém uma tag de rede
sql-server e uma conta de serviço example@example.com.
{"sql-server": null, "sa:example@example.com": null}
Criar tags seguras
Com base nas tags de rede e nas contas de serviço de origem listadas no arquivo de mapeamento, é preciso criar as tags seguras correspondentes na rede.
As novas tags seguras substituem as tags de rede e as contas de serviço, preservando a configuração de rede original após a migração.
Como um principal com o papel de administrador de tags, crie o par de chave-valor de tag segura correspondente para cada tag de rede e conta de serviço.
Para criar uma chave e um valor de tag segura para cada tag de rede e conta de serviço, use os comandos gcloud resource-manager tags keys create e gcloud resource-manager tags values create:
gcloud resource-manager tags keys create TAG_KEY \
--parent=organizations/ORGANIZATION_ID \
--purpose=GCE_FIREWALL \
--purpose-data=network=PROJECT_ID/NETWORK_NAME
gcloud resource-manager tags values create TAG_VALUE \
--parent=ORGANIZATION_ID/TAG_KEY
Substitua:
TAG_KEY: o nome da chave de tag segura.ORGANIZATION_ID: o ID da organização.PROJECT_ID: o ID do projeto.NETWORK_NAME: o nome da rede VPC.TAG_VALUE: o valor a ser atribuído à chave de tag segura.
Por exemplo, se você tiver uma regra de firewall da VPC com uma tag de rede chamada sql-server, crie um par de chave-valor de tag segura correspondente de sql-server:production.
gcloud resource-manager tags keys create sql-server \
--parent=organizations/123456 \
--purpose=GCE_FIREWALL \
--purpose-data=network=test-project/test-network
gcloud resource-manager tags values create production \
--parent=123456/sql-server
Associar tags de rede e contas de serviço a tags seguras
Depois de criar tags seguras controladas pelo IAM para cada tag de rede e conta de serviço usadas pelas regras de firewall da VPC, associe as tags seguras às tags de rede e contas de serviço correspondentes no arquivo JSON de mapeamento.
Edite o arquivo JSON para associar as tags de rede e as contas de serviço às tags seguras correspondentes.
{"sql-server": "tagValues/yyyyy", "sa:example@example.com": "tagValues/zzzzz"}
Por exemplo, o arquivo JSON a seguir associa a tag de rede sql-server ao valor da tag segura da chave sql-server e a conta de serviço example@example.com ao valor da tag segura da chave example@example.com:
{"sql-server": "tagValues/production", "sa:example@example.com": "tagValues/example"}
Vincular tags seguras a VMs
Com base no arquivo JSON de mapeamento de tags, vincule as tags seguras recém-criadas às VMs a que as tags de rede atuais estão anexadas:
Como o principal com o papel de administrador de tags, realize as seguintes tarefas:
- Analise as permissões necessárias para anexar tags seguras aos recursos do Cloud de Confiance by S3NS .
- Atribua o papel Usuário de Tags ao principal que usa as tags seguras e as vincula às VMs.
Como um principal com o papel de Usuário de Tags, vincule as tags seguras a instâncias de VM usando o comando
gcloud beta compute firewall-rules migratecom a flag--bind-tags-to-instances:gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --bind-tags-to-instances \ --tag-mapping-file=TAG_MAPPING_FILESubstitua:
NETWORK_NAME: o nome da rede VPC.TAG_MAPPING_FILE: o nome do arquivo JSON de mapeamento.
Migrar regras de firewall da VPC para uma política de firewall de rede global
Para migrar regras de firewall da VPC para uma política de firewall de rede
global, use o comando gcloud beta compute firewall-rules migrate:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--tag-mapping-file=TAG_MAPPING_FILE
Substitua:
NETWORK_NAME: o nome da rede VPC que contém as regras de firewall da VPC que você quer migrar.POLICY_NAME: o nome da política de firewall de rede global a ser criada durante a migração.TAG_MAPPING_FILE: o nome do arquivo JSON de mapeamento.
Excluir regras de firewall da migração
Para excluir regras de firewall específicas da migração, use o comando gcloud beta compute
firewall-rules migrate com a flag --exclusion-patterns-file:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
Substitua:
NETWORK_NAME: o nome da rede VPC que contém as regras de firewall da VPC que você quer migrar.POLICY_NAME: o nome da política de firewall de rede global a ser criada durante a migração.EXCLUSION_PATTERNS_FILE: o nome do arquivo que contém expressões regulares que definem padrões de nomenclatura de firewall da VPC a serem excluídos da migração. Especifique o caminho completo do arquivo. As regras de firewall que correspondem aos padrões especificados são ignoradas.Ao definir os padrões de exclusão, considere o seguinte:
- Cada expressão regular precisa estar em uma linha separada e representar um único padrão de nomenclatura de firewall.
- As expressões regulares não contêm espaços em branco no início ou no fim.
Ver regras de firewall excluídas
Com base nos padrões de nomenclatura de regras de firewall excluídas, a ferramenta de migração não
migra algumas regras de firewall, como as do Google Kubernetes Engine (GKE). Para exportar a lista de padrões de nomenclatura de regras de firewall excluídos,
use o comando gcloud beta compute firewall-rules migrate com as flags
--export-exclusion-patterns e --exclusion-patterns-file.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
--export-exclusion-patterns
Substitua:
NETWORK_NAME: o nome da rede VPC que contém as regras de firewall da VPC que você quer migrar.POLICY_NAME: o nome da política de firewall de rede global a ser criada durante a migração.EXCLUSION_PATTERNS_FILE: o caminho do arquivo em que os seguintes padrões de nomenclatura de regras de firewall excluídas são exportados.gke-(.+)-ipv6-all gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd)) k8s-fw-(l7-)?(.+) k8s-(.+)-((node)|(http)|(node-http))-hc (.+)-hc k8s2-(.+)-(.+)-(.+)-(.+)(-fw)? k8s2-(.+)-l4-shared-hc-fw gke((gw)|(mcg))1-l7-(.+)-(.+)
Para migrar regras de firewall excluídas que correspondem a um padrão específico,
remova o padrão da lista exportada e execute o comando gcloud beta compute
firewall-rules migrate com a flag --exclusion-patterns-file.
Forçar a migração preservando a ordem de avaliação
Durante a migração, se a ordem de avaliação de uma regra de firewall excluída ficar entre as ordens de avaliação das regras de firewall especificadas pelo usuário, a migração vai falhar.Isso acontece porque as regras de firewall excluídas não são migradas, e a ferramenta de migração não consegue preservar a ordem de avaliação original das regras definidas pelo usuário na nova política de firewall de rede.
Por exemplo, se as regras de firewall tiverem as seguintes prioridades, a migração vai falhar.
- Uma regra especificada pelo usuário com prioridade 100
- Uma regra excluída com prioridade 200
- Uma regra especificada pelo usuário com prioridade 300
Para forçar a migração das regras especificadas pelo usuário
preservando a ordem de avaliação original e ignorando
regras de firewall excluídas, use o comando
gcloud beta compute firewall-rules migrate com a flag --force.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--force
Substitua:
NETWORK_NAME: o nome da rede VPC que contém as regras de firewall da VPC que você quer migrar.POLICY_NAME: o nome da política de firewall de rede global a ser criada durante a migração.
Analisar a nova política de firewall de rede global
Antes de associar a política recém-criada a uma rede VPC, o Google recomenda que você revise a política para garantir que o processo de migração tenha sido concluído sem erros.
Confirme o seguinte:
A configuração das regras da política de firewall está correta, e os seguintes componentes de regras foram migrados adequadamente para cada regra:
- Prioridade relativa
- Direção do tráfego
- Ação se houver correspondência
- Configurações de registro
- Parâmetros de destino
- Parâmetros de origem (para regras de entrada)
- Parâmetros de destino (para regras de saída)
- Restrições de protocolo e porta
Verifique se as tags seguras estão anexadas à VM correta. Para verificar isso, use o comando
gcloud resource-manager tags bindings list:gcloud resource-manager tags bindings list \ --location=ZONE_ID \ --parent=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_ID/instances/INSTANCE_NAME \ --effectiveSubstitua:
ZONE_ID: a zona da VM.PROJECT_ID: o ID do projeto.INSTANCE_NAME: o nome da VM.
Tarefas pós-migração
Para ativar e usar a nova política de firewall de rede global, conclua as tarefas pós-migração. Para mais informações, consulte Tarefas de pós-migração.
A seguir
- Saiba mais sobre como migrar regras de firewall da VPC.
- Migre as regras de firewall da VPC sem dependências.