Configure uma política de firewall hierárquica para permitir o tráfego de saída de uma rede da VPC específica

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

Criar pasta

Crie uma pasta na sua organização.

  1. Na Google Cloud consola, aceda à página Gerir recursos.

    Aceda a Gerir recursos

  2. Clique em Criar pasta.

  3. Para Nome da pasta, introduza test-folder.

  4. Na lista Organização, selecione o nome do recurso da sua organização.

  5. No campo Localização, clique em Procurar e, de seguida, selecione o recurso da sua organização.

  6. Clique em Criar.

Criar um projeto

Crie um projeto na pasta que criou na secção anterior.

  1. Na Google Cloud consola, aceda à página Gerir recursos.

    Aceda a Gerir recursos

  2. Clique em Criar projeto.

  3. Em Nome do projeto, introduza test-project.

  4. Selecione uma conta de faturação para o projeto.

  5. Na lista Organização, selecione o nome do recurso da sua organização.

  6. No campo Localização, clique em Procurar, expanda o nome do recurso da sua organização e, de seguida, selecione test-folder.

  7. 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.

  1. Na Google Cloud consola, na página do seletor de projetos, selecione test-project.

    Aceder ao seletor de projetos

  2. Na Google Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  3. Clique em Criar rede de VPC.

  4. Em Nome, introduza myvpc.

  5. Para o Modo de criação de sub-rede, selecione Personalizado.

  6. 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.
  7. Clique em Concluído e, de seguida, em Criar.

  8. Para criar outra rede de VPC, clique em Criar rede de VPC.

  9. Em Nome, introduza test-vpc.

  10. Para o Modo de criação de sub-rede, selecione Personalizado.

  11. 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.
  12. Para adicionar outra sub-rede à rede test-vpc, clique em Adicionar sub-rede.

  13. 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.
  14. 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.

  1. Na Google Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. No painel Configuração da máquina, faça o seguinte:

    1. Em Nome, introduza myvpc-vm.
    2. Para Região, selecione us-central1 (Iowa).
  3. No menu de navegação, clique em Rede.

    1. 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
    2. Clique em Concluído.
  4. 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:

  1. Na Google Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. No painel Configuração da máquina, faça o seguinte:

    1. Em Nome, introduza testvpc-vm.
    2. Para Região, selecione us-central1 (Iowa).
  3. No menu de navegação, clique em Rede.

    1. 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
    2. Clique em Concluído.
  4. 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:

  1. Na Google Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. No painel Configuração da máquina, faça o seguinte:

    1. Em Nome, introduza testvpc-apache-vm.
    2. Para Região, selecione us-central1 (Iowa).
  3. No menu de navegação, clique em Rede.

    1. 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
    2. Clique em Concluído.
  4. 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.

  5. Clique em Criar.

  6. 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.

  1. Na Google Cloud consola, aceda à página Cloud NAT.

    Aceda ao Cloud NAT

  2. 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.

  3. Em Nome da gateway, introduza myvpc-gateway.

  4. Para Tipo de NAT, selecione Público.

  5. 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.
      1. Em Nome, introduza myvpc-router.
      2. Clique em Criar.
  6. 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 regra VPC 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:

  1. Na Google Cloud consola, aceda à página do seletor de projetos e selecione test-folder.

    Aceder ao seletor de projetos

  2. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  3. Clique em Criar política de firewall.

  4. Na secção Configurar política, em Nome da política, introduza fw-egress-specific-vpc.

  5. Em Descrição, introduza example-firewall-policy.

  6. Clique em Continuar.

  7. Na secção Adicionar regras, clique em Continuar. Vai adicionar as regras de firewall nas secções subsequentes deste início rápido.

  8. Na secção Associar política a recursos, clique em Adicionar.

  9. Expanda a sua organização, selecione test-folder e, de seguida, clique em Adicionar.

  10. 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:

  1. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.

  3. Para Prioridade, introduza 100.

  4. Em Descrição, introduza enable-iap.

  5. Para Direção do tráfego, selecione Entrada.

  6. Para Ação em caso de correspondência, selecione Permitir.

  7. Na secção Origem, para Intervalos IP, introduza 35.235.240.0/20.

  8. Na secção Protocolos e portas, selecione Protocolos e portas especificados.

  9. Selecione a caixa de verificação TCP e, para Portas, introduza 22.

  10. 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:

  1. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.

  3. Para Prioridade, introduza 200.

  4. Em Descrição, introduza allow-ingress-testvpc.

  5. Para Direção do tráfego, selecione Entrada.

  6. Para Ação em caso de correspondência, selecione Permitir.

  7. Na secção Segmento, clique em Adicionar rede.

  8. Selecione o projeto de teste que contém a rede test-vpc e, de seguida, selecione test-vpc como a rede.

  9. Na secção Origem, para Intervalos IP, introduza 0.0.0.0/0.

  10. Na secção Protocolos e portas, selecione Protocolos e portas especificados.

  11. Selecione a caixa de verificação TCP e, para Portas, introduza 80.

  12. 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.

  1. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.

  3. Para Prioridade, introduza 300.

  4. Em Descrição, introduza delegate-egress-myvpc.

  5. Em Direção do trânsito, selecione Saída.

  6. Em Ação na correspondência, selecione Aceder ao seguinte.

  7. Na secção Segmento, clique em Adicionar rede.

  8. Selecione o nome do projeto de teste que contém myvpc e, de seguida, selecione myvpc como a rede.

  9. 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.

  10. 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.

  1. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Clique em fw-egress-specific-vpc e, de seguida, em Adicionar regra.

  3. Para Prioridade, introduza 400.

  4. Em Descrição, introduza block-egress-all-traffic.

  5. Em Direção do trânsito, selecione Saída.

  6. Para Ação em caso de correspondência, selecione Recusar.

  7. Na secção Destino, para Intervalos de IPs, introduza 0.0.0.0/0.

  8. 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:

  1. Aceda à Google Cloud consola.

    Aceda à Google Cloud consola

  2. No seletor de projetos na parte superior da página, selecione test-project onde criou as redes de VPC.

  3. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  4. Na coluna Ligar para myvpc-vm, clique em SSH.

  5. Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde que a ligação seja estabelecida.

  6. Para verificar se o tráfego de saída para testvpc-apache-vm a partir de myvpc é 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 de myvpc são permitidas.

  7. 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:

    1. Na Google Cloud consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Na coluna Ligar para testvpc-vm, clique em SSH.

    3. Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde que a ligação seja estabelecida.

    4. Para verificar se o tráfego de saída de testvpc-vm para testvpc-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 de myvpc.

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

  1. Aceda à Google Cloud consola.

    Aceda à Google Cloud consola

  2. No seletor de projetos na parte superior da página, selecione test-folder onde criou os recursos para este início rápido.

  3. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  4. Na secção Políticas de firewall associadas a este nó ou herdadas pelo nó, clique em fw-egress-specific-vpc.

  5. Clique no separador Associações.

  6. Selecione a caixa de verificação test-folder e clique em Remover associação.

  7. Na caixa de diálogo Remover associação com test-folder, clique em Eliminar.

  8. Clique em Eliminar.

  9. Na caixa de diálogo Eliminar fw-egress-specific-vpc, clique em Eliminar

Elimine as VMs

  1. Aceda à Google Cloud consola.

    Aceda à Google Cloud consola

  2. No selecionador de projetos na parte superior da página, selecione test-project.

  3. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  4. Selecione as caixas de verificação para myvpc-vm, testvpc-vm e testvpc-apache-vm.

  5. Clique em Eliminar.

  6. Na caixa de diálogo Eliminar 3 instâncias, clique em Eliminar.

Elimine o Cloud Router e o gateway do Cloud NAT

  1. Na Google Cloud consola, aceda à página Routers na nuvem.

    Aceda a Cloud Routers

  2. Selecione a caixa de verificação myvpc-router.

  3. Clique em Eliminar.

  4. 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

  1. Na Google Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Na coluna Nome, clique em myvpc.

  3. Clique em Eliminar rede de VPC.

  4. 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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Eliminar a pasta

  1. Na Google Cloud consola, aceda à página Gerir recursos.

    Aceda a Gerir recursos

  2. Se a pasta que planeia eliminar estiver anexada a uma organização, expanda a lista Organização na coluna Nome.

  3. Na lista de pastas, selecione test-folder e, de seguida, clique em Eliminar.

  4. 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?