Configure uma política de firewall de rede global para ativar o tráfego de entrada

Numa rede da nuvem virtual privada (VPC) personalizada com várias sub-redes, por predefinição, o tráfego de saída é permitido, mas o tráfego de entrada é recusado. Para ativar o tráfego de entrada e permitir que as instâncias de VMs em sub-redes diferentes comuniquem entre si, pode criar uma política de firewall de rede global na firewall de nova geração da nuvem na rede VPC, que permite o tráfego de entrada de um intervalo de endereços IP específico da sub-rede.

Este tutorial descreve como configurar uma política de firewall de rede global para permitir o tráfego interno entre sub-redes de VMs numa rede VPC personalizada.

Crie uma rede VPC personalizada com sub-redes

Nesta secção, cria uma rede VPC no modo personalizado com duas sub-redes IPv4.

Consola

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

    Aceda a redes de VPC

  2. Clique em Criar rede de VPC.

  3. Em Nome, introduza vpc-fw-rules.

  4. Em Descrição, introduza VPC network for the firewall rules tutorial.

  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 para uma sub-rede:

    • Nome: subnet-fw-rules-server
    • Região: us-central1 (Iowa)
    • Intervalo IPv4: 10.0.0.0/24
    • Acesso privado ao Google: ativado
  7. Clique em Concluído.

  8. Clique em Adicionar sub-rede e especifique os seguintes parâmetros de configuração:

    • Nome: subnet-fw-rules-client
    • Região: us-central1 (Iowa)
    • Intervalo IPv4: 192.168.10.0/24
    • Acesso privado ao Google: ativado
  9. Clique em Concluído.

  10. Clique em Criar.

gcloud

  1. Para criar uma rede VPC, execute o seguinte comando:

    gcloud compute networks create vpc-fw-rules \
      --subnet-mode=custom \
      --description="VPC network for the firewall rules tutorial"
    
  2. Opcional: na caixa de diálogo Autorizar Cloud Shell, clique em Autorizar.

  3. Para criar uma sub-rede, execute o seguinte comando:

    gcloud compute networks subnets create subnet-fw-rules-server \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=10.0.0.0/24 \
      --enable-private-ip-google-access
    
  4. Para criar outra sub-rede, execute o seguinte comando:

    gcloud compute networks subnets create subnet-fw-rules-client \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=192.168.10.0/24 \
      --enable-private-ip-google-access
    

Por predefinição, a rede VPC tem duas regras IPv4 implícitas:

  • Uma regra de saída allow com o destino 0.0.0.0/0 e a prioridade mais baixa possível (65535) que permite que qualquer instância envie tráfego para qualquer destino, exceto para o tráfego bloqueado por Cloud de Confiance by S3NS.
  • Um denyingresso0.0.0.0/0 com origem 0.0.0.0/0 e a prioridade mais baixa possível (65535) que protege todas as instâncias bloqueando as ligações recebidas às mesmas.

Para mais informações, consulte as regras implícitas.

Crie VMs de cliente e servidor

Nesta secção, cria duas VMs Linux sem endereços IP externos nas sub-redes da rede VPC que criou na secção anterior.

Crie a VM do servidor

Consola

Para criar a VM do servidor, siga estes passos:

  1. Na Cloud de Confiance 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 vm-fw-rules-server.
    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: vpc-fw-rules
      • Subnetwork: subnet-fw-rules-server IPv4 (10.0.0.0/24)
      • Endereço IPv4 externo: Nenhum
    2. Clique em Concluído.
  4. Clique em Criar.

gcloud

Para criar a VM do servidor, execute o seguinte comando:

gcloud compute instances create vm-fw-rules-server \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-server \
    --stack-type=IPV4_ONLY \
    --no-address

Crie a VM do cliente

Consola

Para criar a VM do cliente, siga estes passos:

  1. Na Cloud de Confiance 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 vm-fw-rules-client.
    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: vpc-fw-rules
      • Subnetwork: subnet-fw-rules-client IPv4 (192.168.10.0/24)
      • Endereço IPv4 externo: Nenhum
    2. Clique em Concluído.
  4. Clique em Criar.

gcloud

Para criar a VM do cliente, execute o seguinte comando:

gcloud compute instances create vm-fw-rules-client \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-client \
    --stack-type=IPV4_ONLY \
    --no-address

Crie um Cloud Router e um gateway do Cloud NAT

Na secção anterior, criou duas VMs Linux sem endereços IPv4 públicos. Para permitir que essas VMs acedam à Internet pública, crie um Cloud Router e um gateway Cloud NAT.

Consola

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

    Aceda ao Cloud NAT

  2. Clique em Começar ou Criar gateway de NAT da nuvem.

  3. Em Nome da gateway, introduza gateway-fw-rules.

  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: vpc-fw-rules
    • Região: us-central1
    • Cloud Router: criar novo router.
      1. Em Nome, introduza router-fw-rules.
      2. Clique em Criar.
  6. Clique em Criar.

gcloud

  1. Para criar um Cloud Router, execute o seguinte comando:

    gcloud compute routers create router-fw-rules \
      --network=vpc-fw-rules \
      --region=us-central1
    
  2. Para criar um gateway NAT da Cloud, execute o seguinte comando:

    gcloud compute routers nats create gateway-fw-rules \
      --router=router-fw-rules \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

Crie uma política de firewall de rede global

Nesta secção, cria uma política de firewall de rede global com o seguinte:

  • Uma regra de saída com 0.0.0.0./0 como destino.
  • Registo ativado. O registo de regras de firewall permite-lhe auditar, validar e analisar os efeitos das suas regras de firewall.

Consola

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

    Aceder a Políticas de firewall

  2. Clique em Criar política de firewall.

  3. Na secção Configurar política, em Nome da política, introduza fw-policy.

  4. Em Âmbito de implementação, selecione Global e clique em Continuar.

  5. Para criar regras para a sua política, na secção Adicionar regras, clique em Adicionar regra.

    1. Para Prioridade, introduza 65534.
    2. Para Direção do tráfego, selecione Saída.
    3. Para Registos, selecione Ativar.
    4. Na secção Segmentar, para Tipo de segmentação, selecione Todas as instâncias na rede.
    5. Na secção Destino, para Intervalos de IPs, introduza 0.0.0.0/0.
    6. Na secção Protocolo e portas, selecione Permitir tudo.
    7. Clique em Criar.
  6. Clique em Continuar.

  7. Para associar uma rede VPC à política, na secção Associar política a redes VPC, clique em Associar.

  8. Selecione a caixa de verificação de vpc-fw-rules e clique em Associar.

  9. Clique em Continuar.

  10. Clique em Criar.

gcloud

  1. Para criar uma política de firewall, execute o seguinte comando:

    gcloud compute network-firewall-policies create fw-policy \
        --global
    
  2. Para criar uma regra de firewall que permita o tráfego para todos os destinos e ative os registos, execute o seguinte comando:

    gcloud compute network-firewall-policies rules create 65534 \
        --firewall-policy=fw-policy \
        --direction=EGRESS \
        --action=ALLOW \
        --dest-ip-ranges=0.0.0.0/0 \
        --layer4-configs=all \
        --global-firewall-policy \
        --enable-logging
    
  3. Para associar a política de firewall à rede VPC, execute o seguinte comando:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy \
        --network=vpc-fw-rules \
        --name=pol-association-fw-rules \
        --global-firewall-policy
    

Adicione uma regra de firewall para o IAP

Na secção anterior, criou VMs Linux sem endereços IP externos. Nesta secção, ativa o Identity-Aware Proxy (IAP) para permitir o acesso administrativo às instâncias de VM que não têm endereços IP externos.

Para permitir que o IAP se ligue às suas instâncias de VM, crie uma regra de firewall que:

  • aplica-se a todas as instâncias de VM às quais quer que seja possível aceder através do IAP.
  • permite o tráfego de entrada do intervalo de IP 35.235.240.0/20. Este intervalo contém todos os endereços IP que o IAP usa para o encaminhamento TCP.

    Para VMs IPv6, use o seguinte intervalo de IP: 2600:2d00:1:7::/64.

  • permite ligações a todas as portas que quer que sejam acessíveis por através do encaminhamento TCP do IAP, por exemplo, a porta 22 para SSH e a porta 3389 para RDP.

Consola

Para permitir o acesso RDP e SSH a todas as instâncias de VM na rede vpc-fw-rules, faça o seguinte:

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

    Aceder a Políticas de firewall

  2. Na secção Políticas de firewall de rede, clique em fw-policy.

  3. Clique em Criar regra.

  4. Para Prioridade, introduza 500.

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

  6. Para Registos, selecione Ativar.

  7. Na secção Segmentar, para Tipo de segmentação, selecione Todas as instâncias na rede.

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

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

  10. Selecione a caixa de verificação TCP e, em Portas, introduza 22 e 3389 separados por uma vírgula.

  11. Clique em Criar.

gcloud

Para permitir o acesso RDP e SSH a todas as instâncias de VM na rede vpc-fw-rules, execute o seguinte comando:

gcloud compute network-firewall-policies rules create 500 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=35.235.240.0/20 \
    --global-firewall-policy \
    --layer4-configs tcp:22,tcp:3389 \
    --enable-logging

Instale o servidor Apache

Nesta secção, instala o servidor Apache na VM do servidor.

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

    Aceder às instâncias de VM

  2. Na coluna Ligar da VM vm-fw-rules-server, clique em SSH.

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

  4. Para instalar o pacote apache2, na linha de comandos, execute o seguinte comando:

    sudo apt update && sudo apt -y install apache2
    

    Após a instalação do Apache, o sistema operativo inicia automaticamente o servidor Apache.

  5. Para verificar se o Apache está em execução, execute o seguinte comando:

    sudo systemctl status apache2 --no-pager
    
  6. Para substituir a página Web predefinida do servidor Web Apache, execute o seguinte comando:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    
  7. Feche a caixa de diálogo SSH no navegador.

Teste a ligação

Depois de instalar o servidor Apache na VM do servidor, estabeleça ligação à VM do servidor a partir da VM do cliente através do endereço IP interno da VM do servidor.

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

    Aceder às instâncias de VM

  2. Na coluna IP interno da VM vm-fw-rules-server, copie o endereço IP interno da VM.

  3. Na coluna Ligar da VM vm-fw-rules-client, clique em SSH.

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

  5. Para validar a associação, execute o seguinte comando:

    curl INTERNAL_IP -m 2
    

    Substitua INTERNAL_IP pelo endereço IP da VM vm-fw-rules-server.

    A mensagem Connection timed out é esperada porque cada VM cria uma regra de firewall de entrada implícita que nega todo o tráfego. Para permitir o tráfego, adicione uma regra de entrada à política de firewall.

  6. Feche a caixa de diálogo SSH no navegador.

Atualize a política de firewall de rede global para permitir tráfego interno

Nesta secção, atualiza a política de firewall de rede global para permitir o tráfego interno da sub-rede da VM do cliente.

Consola

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

    Aceder a Políticas de firewall

  2. Na secção Políticas de firewall de rede, clique em fw-policy.

  3. Clique em Criar regra.

  4. Para Prioridade, introduza 501.

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

  6. Para Registos, selecione Ativar.

  7. Na secção Segmentar, para Tipo de segmentação, selecione Todas as instâncias na rede.

  8. Na secção Origem, para Intervalos IP, introduza 192.168.10.0/24.

    Lembre-se de que o intervalo de IP 192.168.10.0/24 está atribuído a subnet-fw-rules-client.

  9. Na secção Destino, para Tipo de IP, selecione IPv4. Em Intervalos de IP, especifique 10.0.0.0/24.

    Lembre-se de que o intervalo de IP 10.0.0.0/24 é atribuído a subnet-fw-rules-server.

  10. Clique em Criar.

gcloud

Para atualizar a política de firewall, execute o seguinte comando:

gcloud compute network-firewall-policies rules create 501 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=192.168.10.0/24 \
    --dest-ip-ranges=10.0.0.0/24 \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

Teste a ligação

Depois de criar a política de firewall, estabeleça ligação à VM do servidor a partir da VM do cliente usando o endereço IP interno da VM do servidor.

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

    Aceder às instâncias de VM

  2. Na coluna IP interno da VM vm-fw-rules-server, copie o endereço IP interno da VM.

  3. Na coluna Ligar da VM vm-fw-rules-client, clique em SSH.

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

  5. Para validar a associação, execute o seguinte comando:

    curl INTERNAL_IP -m 2
    

    Substitua INTERNAL_IP pelo endereço IP da VM vm-fw-rules-server.

    A mensagem esperada é <!doctype html><html><body><h1>Hello World!</h1></body></html>.

  6. Feche a caixa de diálogo SSH no navegador.

Para ver os registos da firewall, consulte o artigo Ver registos.