Saiba como criar e configurar uma política de firewall hierárquica para permitir tráfego de saída originário de uma rede de nuvem privada virtual (VPC) específica na sua pasta para um endereço IP específico como destino. A política de firewall bloqueia todo o outro tráfego de saída proveniente da sua pasta. A página explica um exemplo de criação de duas redes VPC, criação de instâncias de máquinas virtuais (VM) nas redes VPC, configuração de uma política de firewall hierárquica com regras de firewall e, em seguida, teste da política de firewall.
Antes de começar
- Certifique-se de que tem acesso a um recurso da organização.
- Certifique-se de que tem as seguintes funções de gestão de identidade e de acesso (IAM):
-
Função de administrador da organização
(roles/resourcemanager.organizationAdmin)
-
Função de administrador da pasta
(roles/resourcemanager.folderAdmin)
-
Função de criador do projeto
(roles/resourcemanager.projectCreator)
-
Função Project Deleter
(roles/resourcemanager.projectDeleter)
-
Função de administrador de rede de computação (
roles/compute.networkAdmin
) -
Função de administrador da política de firewall da organização do Compute (
roles/compute.orgFirewallPolicyAdmin
)
-
Função de administrador da organização
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
Criar pasta
Crie uma pasta na sua organização.
Na Google Cloud consola, aceda à página Gerir recursos.
Clique em Criar pasta.
Para Nome da pasta, introduza
test-folder
.Na lista Organização, selecione o nome do recurso da sua organização.
No campo Localização, clique em Procurar e, de seguida, selecione o recurso da sua organização.
Clique em Criar.
Criar um projeto
Crie um projeto na pasta que criou na secção anterior.
Na Google Cloud consola, aceda à página Gerir recursos.
Clique em Criar projeto.
Em Nome do projeto, introduza
test-project
.Selecione uma conta de faturação para o projeto.
Na lista Organização, selecione o nome do recurso da sua organização.
No campo Localização, clique em Procurar, expanda o nome do recurso da sua organização e, de seguida, selecione test-folder.
Clique em Criar.
Crie duas redes VPC personalizadas com sub-redes IPv4
Crie duas redes VPC no modo personalizado: myvpc
com uma sub-rede apenas IPv4 e test-vpc
com duas sub-redes apenas IPv4, no projeto que criou na secção anterior.
Na Google Cloud consola, na página do seletor de projetos, selecione test-project.
Na Google Cloud consola, aceda à página Redes VPC.
Clique em Criar rede de VPC.
Em Nome, introduza
myvpc
.Para o Modo de criação de sub-rede, selecione Personalizado.
Na secção Nova sub-rede, especifique os seguintes parâmetros de configuração de uma sub-rede:
- Nome: introduza
myvpc-subnet-1
. - Região: selecione us-central1.
- Intervalo IPv4: introduza
10.0.0.0/24
.
- Nome: introduza
Clique em Concluído e, de seguida, em Criar.
Para criar outra rede de VPC, clique em Criar rede de VPC.
Em Nome, introduza
test-vpc
.Para o Modo de criação de sub-rede, selecione Personalizado.
Na secção Nova sub-rede, especifique os seguintes parâmetros de configuração da sub-rede e, de seguida, clique em Concluído:
- Nome: introduza
testvpc-subnet-1
. - Região: selecione us-central1.
- Intervalo IPv4: introduza
10.0.0.0/16
.
- Nome: introduza
Para adicionar outra sub-rede à rede
test-vpc
, clique em Adicionar sub-rede.Na secção Nova sub-rede, especifique os seguintes parâmetros de configuração da sub-rede e, de seguida, clique em Concluído:
- Nome: introduza
testvpc-subnet-ext
. - Região: selecione us-central1.
- Intervalo IPv4: introduza
192.168.1.0/24
.
- Nome: introduza
Clique em Criar.
Crie VMs
Crie três VMs nas sub-redes que configurou na secção anterior.
Crie uma VM na rede myvpc
Crie uma VM sem um endereço IP externo na rede myvpc
.
Na Google Cloud consola, aceda à página Criar uma instância.
No painel Configuração da máquina, faça o seguinte:
- Em Nome, introduza
myvpc-vm
. - Para Região, selecione
us-central1 (Iowa)
.
- Em Nome, introduza
No menu de navegação, clique em Rede.
- Na secção Interfaces de rede, clique em
default
e especifique os seguintes parâmetros de configuração:- Rede:
myvpc
- Subnetwork:
subnet-1 IPv4 (10.0.0.0/24)
- Endereço IPv4 externo: Nenhum
- Rede:
- Clique em Concluído.
- Na secção Interfaces de rede, clique em
Clique em Criar.
Crie duas VMs na rede test-vpc
Crie duas VMs, uma sem um endereço IP externo e outra com um endereço IP externo. Quando cria a VM com um endereço IP externo, transmite um script de arranque para instalar e iniciar um servidor Web Apache nessa VM.
Crie uma VM sem um endereço IP externo:
Na Google Cloud consola, aceda à página Criar uma instância.
No painel Configuração da máquina, faça o seguinte:
- Em Nome, introduza
testvpc-vm
. - Para Região, selecione
us-central1 (Iowa)
.
- Em Nome, introduza
No menu de navegação, clique em Rede.
- Na secção Interfaces de rede, clique em
default
e especifique os seguintes parâmetros de configuração:- Rede:
test-vpc
- Subnetwork:
testvpc-subnet-1 IPv4 (10.0.0.0/16)
- Endereço IPv4 externo: Nenhum
- Rede:
- Clique em Concluído.
- Na secção Interfaces de rede, clique em
Clique em Criar.
Crie uma VM com um endereço IP externo efémero e transmita um script de arranque para instalar e iniciar um servidor Web Apache:
Na Google Cloud consola, aceda à página Criar uma instância.
No painel Configuração da máquina, faça o seguinte:
- Em Nome, introduza
testvpc-apache-vm
. - Para Região, selecione
us-central1 (Iowa)
.
- Em Nome, introduza
No menu de navegação, clique em Rede.
- Na secção Interfaces de rede, clique em
default
e especifique os seguintes parâmetros de configuração:- Rede:
test-vpc
- Subnetwork:
testvpc-subnet-ext IPv4 (192.168.1.0/24)
- Endereço IPv4 externo: efémero
- Rede:
- Clique em Concluído.
- Na secção Interfaces de rede, clique em
No menu de navegação, clique em Avançadas e introduza o seguinte script no campo Script de arranque:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Read VM network configuration: md_vm="http://169.254.169.254/computeMetadata/v1/instance/" vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )" filter="{print \$NF}" vm_network="$(curl $md_vm/network-interfaces/0/network \ -H "Metadata-Flavor:Google" | awk -F/ "${filter}")" vm_zone="$(curl $md_vm/zone \ -H "Metadata-Flavor:Google" | awk -F/ "${filter}")" # Apache configuration: echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \ tee /var/www/html/index.html systemctl restart apache2
O script anterior implementa e inicia um servidor Web Apache nesta VM.
Clique em Criar.
Tome nota do endereço IP externo efémero atribuído a esta VM na página Instâncias de VM. Vai precisar deste endereço IP externo mais tarde.
Crie um Cloud Router e um gateway do Cloud NAT
Na secção anterior, na rede myvpc
, criou a myvpc-vm
VM sem um endereço IP externo. Para permitir que a VM myvpc-vm
aceda ao servidor Web Apache em execução no testvpc-apache-vm
através da Internet pública, crie um Cloud Router e um gateway Cloud NAT na mesma sub-rede onde criou a VM myvpc-vm
.
Na Google Cloud consola, aceda à página Cloud NAT.
Clique em Começar ou Criar gateway de NAT da nuvem.
Nota: se esta for a primeira gateway NAT da nuvem que está a criar, clique em Começar. Se já tiver gateways existentes, Google Cloud é apresentado o botão do gateway Criar Cloud NAT. Para criar outro gateway, clique em Criar gateway de NAT do Google Cloud.
Em Nome da gateway, introduza
myvpc-gateway
.Para Tipo de NAT, selecione Público.
Na secção Selecionar router na nuvem, especifique os seguintes parâmetros de configuração:
- Rede: selecione myvpc.
- Região: selecione us-central1 (Iowa).
- Cloud Router: clique em Criar novo router.
- Em Nome, introduza
myvpc-router
. - Clique em Criar.
- Em Nome, introduza
Clique em Criar.
Crie uma política de firewall hierárquica e adicione regras de firewall
Crie uma política de firewall hierárquica e adicione-lhe as seguintes regras de política de firewall:
- Ative o IAP para todas as VMs em
test-folder
para ativar o acesso administrativo às VMs. - Permitir tráfego de entrada para todas as VMs na rede
test-vpc
. - Delegar o tráfego de saída da rede
myvpc
à regra seguinte na hierarquia, que é a regraVPC firewall implied IPv4 rule egress all
. - Recuse o tráfego de saída proveniente de todas as outras redes de VPC em
test-folder
.
Para criar uma política de firewall hierárquica, siga estes passos:
Na Google Cloud consola, aceda à página do seletor de projetos e selecione test-folder.
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em Criar política de firewall.
Na secção Configurar política, em Nome da política, introduza
fw-egress-specific-vpc
.Em Descrição, introduza
example-firewall-policy
.Clique em Continuar.
Na secção Adicionar regras, clique em Continuar. Vai adicionar as regras de firewall nas secções subsequentes deste início rápido.
Na secção Associar política a recursos, clique em Adicionar.
Expanda a sua organização, selecione test-folder e, de seguida, clique em Adicionar.
Clique em Criar.
Adicione uma regra de firewall para ativar a IAP em todas as VMs no test-folder
Para permitir que o IAP se ligue a todas as VMs no test-folder
, precisa de uma regra de firewall na política de firewall hierárquica com as seguintes características:
- Aplica-se a todas as VMs no
test-folder
que quer que sejam acessíveis através do encaminhamento TCP do IAP. - Permite o tráfego de entrada do intervalo de endereços IP
35.235.240.0/20
. Este intervalo contém todos os endereços IP que o IAP usa para o encaminhamento TCP. - Permite ligações a todas as portas que quer que sejam acessíveis através do encaminhamento TCP do IAP, por exemplo, a porta
22
para SSH.
Para adicionar a regra de firewall, siga estes passos:
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.
Para Prioridade, introduza
100
.Em Descrição, introduza
enable-iap
.Para Direção do tráfego, selecione Entrada.
Para Ação em caso de correspondência, selecione Permitir.
Na secção Origem, para Intervalos IP, introduza
35.235.240.0/20
.Na secção Protocolos e portas, selecione Protocolos e portas especificados.
Selecione a caixa de verificação TCP e, para Portas, introduza
22
.Clique em Criar.
Adicione uma regra de firewall para permitir o tráfego de entrada na rede test-vpc
Adicione uma regra de firewall para permitir o tráfego Web HTTP recebido na porta TCP 80 a todas as VMs na rede test-vpc
:
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.
Para Prioridade, introduza
200
.Em Descrição, introduza
allow-ingress-testvpc
.Para Direção do tráfego, selecione Entrada.
Para Ação em caso de correspondência, selecione Permitir.
Na secção Segmento, clique em Adicionar rede.
Selecione o projeto de teste que contém a rede
test-vpc
e, de seguida, selecione test-vpc como a rede.Na secção Origem, para Intervalos IP, introduza
0.0.0.0/0
.Na secção Protocolos e portas, selecione Protocolos e portas especificados.
Selecione a caixa de verificação TCP e, para Portas, introduza
80
.Clique em Criar.
Adicione uma regra de firewall para delegar o tráfego de saída da rede myvpc
para a regra seguinte na hierarquia
Adicione uma regra de firewall que use a ação goto_next
para delegar o tráfego de saída
da rede myvpc
para a regra seguinte na firewall, que é a regra de firewall de VPC
de saída permitida IPv4 implícita.
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.
Para Prioridade, introduza
300
.Em Descrição, introduza
delegate-egress-myvpc
.Em Direção do trânsito, selecione Saída.
Em Ação na correspondência, selecione Aceder ao seguinte.
Na secção Segmento, clique em Adicionar rede.
Selecione o nome do projeto de teste que contém
myvpc
e, de seguida, selecionemyvpc
como a rede.Na secção Destino, para Intervalos de IP, introduza o endereço IP externo efémero da VM que executa o servidor Web Apache. Tomou nota deste endereço IP na secção Crie duas VMs na rede
test-vpc
.Clique em Criar.
Adicione uma regra de firewall para negar o tráfego de saída proveniente de todas as outras redes de VPC
Por último, adicione uma regra de firewall que negue a saída de tráfego de todas as outras redes de VPC em test-folder
.
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.
Para Prioridade, introduza
400
.Em Descrição, introduza
block-egress-all-traffic
.Em Direção do trânsito, selecione Saída.
Para Ação em caso de correspondência, selecione Recusar.
Na secção Destino, para Intervalos de IPs, introduza
0.0.0.0/0
.Clique em Criar.
Teste a política de firewall hierárquica
Depois de configurar a política de firewall hierárquica, siga estes passos para testar a política:
Aceda à Google Cloud consola.
No seletor de projetos na parte superior da página, selecione
test-project
onde criou as redes de VPC.Na Google Cloud consola, aceda à página Instâncias de VM.
Na coluna Ligar para
myvpc-vm
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde que a ligação seja estabelecida.
Para verificar se o tráfego de saída para
testvpc-apache-vm
a partir demyvpc
é permitido, execute o seguinte comando:curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
O comando anterior devolve o conteúdo que especificou para a página
index.html
do servidor Web Apache, o que significa que as ligações de saída demyvpc
são permitidas.Para verificar se o tráfego de saída está bloqueado a partir de qualquer outra rede VPC na organização, faça o seguinte:
Na Google Cloud consola, aceda à página Instâncias de VM.
Na coluna Ligar para
testvpc-vm
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde que a ligação seja estabelecida.
Para verificar se o tráfego de saída de
testvpc-vm
paratestvpc-apache-vm
está bloqueado, execute o seguinte comando:curl <internal_IP_testvpc_apache_vm> -m 2
O comando anterior devolve uma mensagem
Connection timed out
, o que é esperado, porque criou uma regra de firewall para negar o tráfego de saída de todas as redes da VPC na organização, exceto demyvpc
.
Limpar
Para evitar incorrer em custos na sua conta Google Cloud pelos recursos usados neste início rápido, elimine os recursos individuais e, em seguida, elimine o projeto e a pasta.
Para eliminar os recursos criados neste início rápido, conclua as seguintes tarefas.
Elimine a política de firewall hierárquica
Aceda à Google Cloud consola.
No seletor de projetos na parte superior da página, selecione
test-folder
onde criou os recursos para este início rápido.Na Google Cloud consola, aceda à página Políticas de firewall.
Na secção Políticas de firewall associadas a este nó ou herdadas pelo nó, clique em fw-egress-specific-vpc.
Clique no separador Associações.
Selecione a caixa de verificação test-folder e clique em Remover associação.
Na caixa de diálogo Remover associação com
test-folder
, clique em Eliminar.Clique em Eliminar.
Na caixa de diálogo Eliminar
fw-egress-specific-vpc
, clique em Eliminar
Elimine as VMs
Aceda à Google Cloud consola.
No selecionador de projetos na parte superior da página, selecione test-project.
Na Google Cloud consola, aceda à página Instâncias de VM.
Selecione as caixas de verificação para myvpc-vm, testvpc-vm e testvpc-apache-vm.
Clique em Eliminar.
Na caixa de diálogo Eliminar 3 instâncias, clique em Eliminar.
Elimine o Cloud Router e o gateway do Cloud NAT
Na Google Cloud consola, aceda à página Routers na nuvem.
Selecione a caixa de verificação myvpc-router.
Clique em Eliminar.
Na caixa de diálogo Eliminar
myvpc-router
, clique em Eliminar.
Quando elimina um Cloud Router, o gateway de Cloud NAT associado também é eliminado.
Elimine a rede de VPC e as respetivas sub-redes
Na Google Cloud consola, aceda à página Redes VPC.
Na coluna Nome, clique em myvpc.
Clique em Eliminar rede de VPC.
Na caixa de diálogo Eliminar uma rede, clique em Eliminar.
Da mesma forma, elimine a rede
test-vpc
.
Quando elimina uma rede VPC, as respetivas sub-redes também são eliminadas.
Elimine o projeto
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Eliminar a pasta
Na Google Cloud consola, aceda à página Gerir recursos.
Se a pasta que planeia eliminar estiver anexada a uma organização, expanda a lista Organização na coluna Nome.
Na lista de pastas, selecione test-folder e, de seguida, clique em Eliminar.
Na caixa de diálogo, escreva o ID da pasta e, de seguida, clique em Eliminar mesmo assim para eliminar o projeto.
O que se segue?
- Para ver os conceitos das políticas de firewall, consulte a vista geral das políticas de firewall.
- Para ver os conceitos das regras de políticas de firewall, consulte a vista geral das regras de políticas de firewall.
- Para criar, atualizar, monitorizar e eliminar regras de firewall de VPC, consulte o artigo Use regras de firewall de VPC.
- Para determinar os custos, consulte os preços do NGFW da nuvem.