Configurar uma política de firewall de rede global para permitir o tráfego de entrada

Em uma rede personalizada de nuvem privada virtual (VPC) com várias sub-redes, por padrão, o tráfego de saída é permitido, mas o de entrada é negado. Para ativar o tráfego de entrada e permitir que instâncias de VM em diferentes sub-redes se comuniquem entre si, crie uma política de firewall de rede global no Cloud Firewall de última geração na rede VPC, o que permite o tráfego de entrada de um intervalo de endereços IP específico da sub-rede.

Neste tutorial, descrevemos como configurar uma política de firewall de rede global para permitir o tráfego interno entre sub-redes da VM em uma rede VPC personalizada.

Criar uma rede VPC personalizada com sub-redes

Nesta seção, você cria uma rede VPC de modo personalizado com duas sub-redes IPv4.

Console

  1. No console do Cloud de Confiance , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique em Criar rede VPC.

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

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

  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:

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

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

    • Name: subnet-fw-rules-client
    • Região: us-central1 (Iowa)
    • Intervalo IPv4: 192.168.10.0/24
    • Acesso privado do 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 o Cloud Shell, clique em Autorizar.

  3. Para criar uma sub-rede, execute o comando a seguir.

    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 padrão, a rede VPC tem duas regras IPv4 implícitas:

  • Uma regra de saída allow com destino 0.0.0.0/0 e a menor prioridade possível (65535) que permite que qualquer instância envie tráfego para qualquer destino, exceto o tráfego bloqueado por Cloud de Confiance by S3NS.
  • Uma entrada deny com a origem 0.0.0.0/0 e a menor prioridade possível (65535) que protege todas as instâncias bloqueando a entrada de conexões.

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

Criar VMs de cliente e servidor

Nesta seção, você vai criar duas VMs do Linux sem endereços IP externo nas sub-redes da rede VPC criada na seção anterior.

Criar a VM do servidor

Console

Para criar a VM do servidor, siga estas etapas:

  1. No console do Cloud de Confiance , acesse a página Criar uma instância.

    Acesse "Criar uma instância"

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

    1. Em Nome, insira vm-fw-rules-server.
    2. Em Região, selecione us-central1 (Iowa).
  3. No menu de navegação, clique em Rede.

    1. Na seção Interfaces de rede, clique em default e especifique os seguintes parâmetros de configuração:
      • Rede: vpc-fw-rules
      • Sub-rede: 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

Criar a VM do cliente

Console

Para criar a VM do cliente, siga estas etapas:

  1. No console do Cloud de Confiance , acesse a página Criar uma instância.

    Acesse "Criar uma instância"

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

    1. Em Nome, insira vm-fw-rules-client.
    2. Em Região, selecione us-central1 (Iowa).
  3. No menu de navegação, clique em Rede.

    1. Na seção Interfaces de rede, clique em default e especifique os seguintes parâmetros de configuração:
      • Rede: vpc-fw-rules
      • Sub-rede: 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, 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

Criar um Cloud Router e um gateway NAT do Cloud

Na seção anterior, você criou duas VMs do Linux sem endereços IPv4 públicos. Para permitir que essas VMs acessem a Internet pública, crie um Cloud Router e um gateway do Cloud NAT.

Console

  1. No console do Cloud de Confiance , acesse a página Cloud NAT.

    Acesse o Cloud NAT

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

  3. Em Nome do gateway, digite gateway-fw-rules.

  4. Em Tipo de NAT, selecione Public.

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

    • Rede: vpc-fw-rules
    • Região: us-central1
    • Cloud Router: criar novo roteador.
      1. Em Nome, insira 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 do Cloud NAT, 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
    

Criar uma política de firewall de rede global

Nesta seção, você criará uma política de firewall de rede global com o seguinte:

  • Uma regra de saída com 0.0.0.0./0 como destino.
  • Geração de registros ativada. Com a geração de registros de regras de firewall, é possível auditar, verificar e analisar os efeitos das suas regras de firewall.

Console

  1. No console do Cloud de Confiance , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

  2. Clique em Criar política de firewall.

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

  4. Em Escopo da implantação, selecione Global e clique em Continuar.

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

    1. Em Prioridade, digite 65534.
    2. Em Direção do tráfego, selecione Saída.
    3. Em Registros, selecione Ativado.
    4. Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.
    5. Na seção Destino, em Intervalos de IP, digite 0.0.0.0/0.
    6. Na seção Protocolo e portas, selecione Permitir tudo.
    7. Clique em Criar.
  6. Clique em Continuar.

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

  8. Marque a caixa de seleção 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 registros, 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
    

Adicionar uma regra de firewall para o IAP

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

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

  • aplica-se a todas as instâncias da VM que você quer que sejam acessíveis usando o 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.

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

  • permite conexões com todas as portas que você quer que sejam acessíveis usando o encaminhamento IAP para TCP, por exemplo, porta 22 para SSH e porta 3389 para RDP.

Console

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

  1. No console do Cloud de Confiance , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

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

  3. Clique em Criar regra.

  4. Em Prioridade, digite 500.

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

  6. Em Registros, selecione Ativado.

  7. Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.

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

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

  10. Marque a caixa de seleção TCP e, em Portas, insira 22 e 3389 separados por 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

Instalar o servidor Apache

Nesta seção, você instalará o servidor Apache na VM do servidor.

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

    Acessar instâncias de VM

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

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

  4. Para instalar o pacote apache2, execute o seguinte comando no prompt de comando:

    sudo apt update && sudo apt -y install apache2
    

    Depois da instalação do Apache, o sistema operacional 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 da Web padrão do servidor da 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.

Testar a conexão

Depois de instalar o servidor Apache na VM do servidor, conecte-se a ela pela VM do cliente usando o endereço IP interno da VM do servidor.

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

    Acessar 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 Conectar da VM vm-fw-rules-client, clique em SSH.

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

  5. Para verificar a conexã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.

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

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

Console

  1. No console do Cloud de Confiance , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

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

  3. Clique em Criar regra.

  4. Em Prioridade, digite 501.

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

  6. Em Registros, selecione Ativado.

  7. Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.

  8. Na seção Origem, em Intervalos de IP, insira 192.168.10.0/24.

    O intervalo de IP 192.168.10.0/24 foi atribuído a subnet-fw-rules-client.

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

    O intervalo de IP 10.0.0.0/24 foi 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

Testar a conexão

Depois de criar a política de firewall, conecte-se à VM do servidor pela VM do cliente usando o endereço IP interno da VM do servidor.

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

    Acessar 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 Conectar da VM vm-fw-rules-client, clique em SSH.

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

  5. Para verificar a conexã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 registros de firewall, consulte Ver registros.