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

Saiba como criar e configurar uma política hierárquica de firewall para permitir o tráfego de saída proveniente de uma nuvem privada virtual (VPC) específica rede da 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 mostra um exemplo de como criar duas VPCs redes VPC, criando instâncias de máquina virtual (VM) na VPC definir uma política hierárquica de firewall com regras de firewall e, em seguida, e testar a política de firewall.

Antes de começar

Criar uma pasta

Crie uma pasta na sua organização.

  1. No console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Clique em Criar pasta.

  3. Em Nome da pasta, insira test-folder.

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

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

  6. Clique em Criar.

Crie um projeto

Crie um projeto na pasta que você criou na seção anterior.

  1. No console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Clique em Criar projeto.

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

  4. Selecione uma conta de faturamento para o projeto.

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

  6. No campo Local, clique em Procurar e expanda o recurso da sua organização. e selecione test-folder.

  7. Clique em Criar.

Criar duas redes VPC personalizadas com sub-redes IPv4.

Criar duas redes VPC de modo personalizado, myvpc com uma conexão somente IPv4 sub-rede e test-vpc com duas sub-redes somente IPv4, no projeto que você criou na seção anterior.

  1. No console do Google Cloud, na página do seletor de projetos, escolha test-project.

    Acessar o seletor de projetos

  2. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  3. Clique em Criar rede VPC.

  4. Em Nome, insira myvpc.

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

  6. Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para uma sub-rede:

    • Nome: insira myvpc-subnet-1.
    • Região: selecione us-central1.
    • Intervalo IPv4: insira 10.0.0.0/24.
  7. Clique em Concluído e em Criar.

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

  9. Em Nome, insira test-vpc.

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

  11. Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para a sub-rede e clique em Concluído:

    • Nome: insira testvpc-subnet-1.
    • Região: selecione us-central1.
    • Intervalo IPv4: insira 10.0.0.0/16.
  12. Para adicionar outra sub-rede à rede test-vpc, clique em Adicionar sub-rede.

  13. Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para a sub-rede e clique em Concluído:

    • Nome: insira testvpc-subnet-ext.
    • Região: selecione us-central1.
    • Intervalo IPv4: insira 192.168.1.0/24.
  14. Clique em Criar.

Criar VMs

Crie três VMs nas sub-redes que você configurou na seção anterior.

Criar uma VM na rede myvpc

Crie uma VM sem um endereço IP externo na rede myvpc.

  1. No Console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Clique em Criar instância.

  3. Em Nome, insira myvpc-vm.

  4. Em Região, selecione us-central1 (Iowa).

  5. Expanda Opções avançadas e depois Rede.

  6. Na seção Interfaces de rede, expanda a interface de rede atual e especifique os seguintes parâmetros de configuração:

    • Rede: Selecione myvpc.
    • Sub-rede: selecione subnet-1 IPv4 (10.0.0.0/24).
    • Endereço IPv4 externo: selecione Nenhum.
  7. Clique em Concluído.

  8. Clique em Criar.

Criar duas VMs na rede test-vpc

Crie duas VMs, uma sem um endereço IP externo e outra com um endereço IP externo. Ao criar a VM com um endereço IP externo, transmita um script de inicialização para instalar e iniciar um servidor da Web Apache.

Crie uma VM sem um endereço IP externo:

  1. No Console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Clique em Criar instância.

  3. Em Nome, insira testvpc-vm.

  4. Em Região, selecione us-central1 (Iowa).

  5. Expanda Opções avançadas e depois Rede.

  6. Na seção Interfaces de rede, expanda a interface de rede atual e especifique os seguintes parâmetros de configuração:

    • Rede: selecione test-vpc.
    • Sub-rede: selecione testvpc-subnet-1 IPv4 (10.0.0.0/16).
    • Endereço IPv4 externo: selecione Nenhum.
  7. Clique em Concluído.

  8. Clique em Criar.

Crie uma VM com um endereço IP externo temporário e transmita um script de inicialização para instalar e iniciar um servidor da Web Apache:

  1. Clique em Criar instância.
  2. Em Nome, insira testvpc-apache-vm.
  3. Em Região, selecione us-central1 (Iowa).
  4. Expanda Opções avançadas e depois Rede.
  5. Na seção Interfaces de rede, expanda a interface de rede atual e especifique os seguintes parâmetros de configuração:
    • Rede: selecione test-vpc.
    • Sub-rede: selecione testvpc-subnet-ext IPv4 (192.168.1.0/24).
    • Endereço IPv4 externo: selecione Temporário.
  6. Expanda Gerenciamento.
  7. Na seção Metadados, insira o script a seguir no campo Script de inicialização:

      #! /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 implanta e inicia um servidor da Web Apache nesta VM.

  8. Clique em Concluído.

  9. Clique em Criar.

  10. Anote o endereço IP externo temporário atribuído a essa VM pela Instâncias de VM. Você vai precisar desse endereço IP externo mais tarde.

Criar um Cloud Router e um gateway NAT do Cloud

Na seção anterior, na rede myvpc, você criou o myvpc-vm sem nenhum endereço IP externo. Para permitir que a VM myvpc-vm acesse o servidor da Web Apache em execução na testvpc-apache-vm pela Internet pública, crie um Cloud Router e um gateway do Cloud NAT na mesma sub-rede em que você criou a VM myvpc-vm.

  1. No Console do Google Cloud, acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique em Primeiros passos ou Criar gateway Cloud NAT.

    Observação: se este for o primeiro gateway do Cloud NAT que você está criando, clique em Primeiros passos. Se você já tiver gateways, o Google Cloud exibirá o botão Criar gateway do Cloud NAT. Para criar outro gateway, clique em Criar gateway do Cloud NAT.

  3. Em Nome do gateway, digite myvpc-gateway.

  4. Em Tipo de NAT, selecione Public.

  5. Na seção Selecionar o Cloud Router, especifique os seguintes parâmetros de configuração:

    • Rede: selecione myvpc.
    • Região: selecione us-central1 (Iowa).
    • Cloud Router: clique em Criar novo roteador.
      1. Em Nome, insira myvpc-router.
      2. Clique em Criar.
  6. Clique em Criar.

Criar uma política de firewall hierárquica e adicionar regras de firewall

Crie uma política de firewall hierárquica e adicione as seguintes regras de política de firewall a ela:

  • Ative o IAP para todas as VMs em test-folder para permitir o acesso administrativo a elas.
  • Permita o tráfego de entrada para todas as VMs na rede test-vpc.
  • Delegar o tráfego de saída da rede myvpc para a próxima regra na hierarquia, que é a regra VPC firewall implied IPv4 rule egress all.
  • Negue o tráfego de saída originado de todas as outras redes VPC em test-folder.

Para criar uma política de firewall hierárquica, siga estas etapas:

  1. No console do Google Cloud, acesse a página do seletor de projetos e selecione test-folder.

    Acessar o seletor de projetos

  2. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acessar as políticas de firewall

  3. Clique em Criar política de firewall.

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

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

  6. Clique em Continuar.

  7. Na seção Adicionar regras, clique em Continuar. Você vai adicionar o parâmetro nas próximas seções deste guia de início rápido.

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

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

  10. Clique em Criar.

Adicione uma regra de firewall para ativar o IAP em todas as VMs no test-folder

Para permitir que o IAP se conecte a todas as VMs na test-folder, uma regra na política hierárquica de firewall com o seguinte características:

  • Aplica-se a todas as VMs no test-folder que você quer que sejam acessíveis usando o encaminhamento de TCP do IAP.
  • permite o tráfego de entrada do intervalo de IP 35.235.240.0/20. Esse intervalo contém todos os endereços IP que o IAP usa para o encaminhamento de TCP.
  • Uma conexão com todas as portas que você quer que estejam acessíveis usando o encaminhamento de TCP do IAP. Por exemplo, a porta 22 para SSH.

Para adicionar a regra de firewall, siga estas etapas:

  1. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acesse as políticas de firewall

  2. Clique em fw-egress-specific-vpc e em fw-egress-specific-vpc.

  3. Em Prioridade, digite 100.

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

  5. Em Direção de tráfego, selecione Entrada.

  6. Em Ação se houver correspondência, selecione Permitir.

  7. Na seção Origem, em Intervalos de IP, insira 35.235.240.0/20.

  8. Na seção Protocolos e portas, selecione Portas e protocolos especificados.

  9. Marque a caixa de seleção TCP e, em TCP, insira 22.

  10. Clique em Criar.

Adicione uma regra de firewall para permitir a entrada de tráfego na rede test-vpc

Adicionar uma regra de firewall para permitir o tráfego HTTP de entrada da Web na porta TCP 80 para todas as VMs na rede test-vpc:

  1. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acesse as políticas de firewall

  2. Clique em fw-egress-specific-vpc e em fw-egress-specific-vpc.

  3. Em Prioridade, digite 200.

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

  5. Em Direção de tráfego, selecione Entrada.

  6. Em Ação se houver correspondência, selecione Permitir.

  7. Na seção Destino, clique em Adicionar rede.

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

  9. Na seção Origem, em Intervalos de IP, insira 0.0.0.0/0.

  10. Na seção Protocolos e portas, selecione Portas e protocolos especificados.

  11. Marque a caixa de seleção TCP e, em TCP, insira 80.

  12. Clique em Criar.

Adicione uma regra de firewall para delegar o tráfego de saída da rede myvpc para a próxima regra 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 próxima regra no firewall, que é a regra de firewall da VPC permissão de saída IPv4 implícita.

  1. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acesse as políticas de firewall

  2. Clique em fw-egress-specific-vpc e em fw-egress-specific-vpc.

  3. Em Prioridade, digite 300.

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

  5. Em Direção do tráfego, selecione Saída.

  6. Em Ação se houver correspondência, selecione Ir para próximo.

  7. Na seção Destino, clique em Adicionar rede.

  8. Selecione o nome do projeto de teste que contém myvpc e depois escolha myvpc como a rede.

  9. Na seção Destino, em Intervalos de IP, insira o endereço IP externo temporário da VM que executa o servidor da Web Apache. Você notou esse endereço IP na seção Criar duas VMs na rede test-vpc.

  10. Clique em Criar.

Adicione uma regra de firewall para negar o tráfego de saída originado de todas as outras redes VPC

Por fim, adicione uma regra de firewall que negue o tráfego de saída de todas as outras redes VPC em test-folder.

  1. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acesse as políticas de firewall

  2. Clique em fw-egress-specific-vpc e em fw-egress-specific-vpc.

  3. Em Prioridade, digite 400.

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

  5. Em Direção do tráfego, selecione Saída.

  6. Em Ação se houver correspondência, selecione Negar.

  7. Na seção Destino, em Intervalos de IP, digite 0.0.0.0/0.

  8. Clique em Criar.

Testar a política de firewall hierárquica

Após configurar a política hierárquica de firewall, siga estas etapas: para testar a política:

  1. Acesse o console do Google Cloud.

    Acessar o Console do Google Cloud

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

  3. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  4. Na coluna Conectar de myvpc-vm, clique em SSH.

  5. Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.

  6. Para verificar se o tráfego de saída para testvpc-apache-vm de myvpc é permitido, execute o seguinte comando:

    curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
    

    O comando anterior retorna o conteúdo especificado para a página index.html do servidor da Web Apache, o que significa que as conexões de saída de myvpc são permitidas.

  7. Para verificar se o tráfego de saída está bloqueado em qualquer outra rede VPC da organização, faça o seguinte:

    1. No console do Google Cloud, acesse a página Instâncias de VMs.

      Acessar instâncias de VM

    2. Na coluna Conectar de testvpc-vm, clique em SSH.

    3. Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser 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 retorna uma mensagem Connection timed out, o que é esperado porque você criou uma regra de firewall para negar o tráfego de saída de todas as redes VPC na organização, exceto myvpc.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, exclua os recursos individuais e, em seguida, o projeto e a pasta.

Para excluir os recursos criados neste guia de início rápido, conclua as tarefas a seguir.

Excluir a política hierárquica de firewall

  1. Acesse o console do Google Cloud.

    Acessar o Console do Google Cloud

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

  3. No Console do Google Cloud, acesse a página políticas de Firewall.

    Acesse as políticas de firewall

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

  5. Clique na guia Associações.

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

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

  8. Clique em Excluir.

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

Excluir as VMs

  1. Acesse o console do Google Cloud.

    Acessar o Console do Google Cloud

  2. No seletor de projeto na parte superior da página, escolha test-project.

  3. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  4. Marque as caixas de seleção myvpc-vm, myvpc-vm e myvpc-vm.

  5. Clique em Excluir.

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

Excluir o Cloud Router e o gateway NAT do Cloud

  1. No Console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Marque a caixa de seleção de myvpc-router.

  3. Clique em Excluir.

  4. Na caixa de diálogo Excluir myvpc-router, clique em Excluir.

Quando você exclui um Cloud Router, o gateway do Cloud NAT associado também é excluído.

Excluir a rede VPC e as sub-redes dela

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Na coluna Nome, clique em myvpc.

  3. Clique em Excluir rede VPC.

  4. Na caixa de diálogo Excluir uma rede, clique em Excluir.

    Da mesma forma, exclua a rede test-vpc.

Quando você exclui uma VPC, as sub-redes dela também são excluídas.

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

Exclua a pasta

  1. No console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Se a pasta que você planeja excluir estiver anexado a uma organização, expanda a lista Organização na coluna Nome.

  3. Na lista de pastas, selecione test-folder e depois clique em Excluir.

  4. Na caixa de diálogo, digite o ID da pasta e clique em Excluir mesmo assim para excluir o projeto.

A seguir