Como faço para configurar um AWS Network Firewall com um gateway NAT?

Data da última atualização: 27/02/2023

Quero configurar meu AWS Network Firewall para inspecionar o tráfego usando um gateway NAT.

Breve descrição

O AWS Network Firewall fornece um controle mais granular sobre o tráfego de e para os recursos dentro de sua Amazon Virtual Private Cloud (Amazon VPC). Para proteger seus recursos do Amazon VPC, você pode implantar seus endpoints do Network Firewall em suas próprias sub-redes e direcionar o tráfego da instância de workload por meio delas. Isso pode ser feito seguindo as etapas abaixo:

  • Criando uma VPC
  • Criando um firewall
  • Configurando o roteamento de tráfego

Observação: o Network Firewall não pode inspecionar workloads na mesma sub-rede em que os endpoints do firewall estão implantados.

Resolução

Criando uma VPC

  1. Abra o console da Amazon VPC.
  2. No painel do VPC, clique em Create VPC (Criar VPC).
  3. Em VPC settings (Configurações de VPC), insira o seguinte:
    Escolha VPC and more (VPC e muito mais).
    Em Name tag auto-generation (Geração automática de tags de nome), insira um nome para a VPC. Neste exemplo, a VPC é chamada de Protected_VPC_10.0.0.0_16-VPC. Se a opção Auto-generate (Geração automática) for selecionada, o nome será adicionado como uma tag de nome a todos os recursos na VPC.
    Para o IPv4 CIDR block (bloco CIDR IPv4), insira 10.0.0.0/16.
    Para o IPv6 CIDR block (bloco CIDR IPv6), escolha No IPv6 CIDR block (Nenhum bloco CIDR IPv6).
    Em Tenancy (Locação), escolha Default (Padrão).
    Em Number of Availability Zones (AZs) (Número de zonas de disponibilidade (AZs)), escolha 2.
    Em Customize AZs (Personalizar AZs), escolha duas zonas de disponibilidade. Neste exemplo, us-east-2a e us-east-2b são selecionados.
    Em Number of public subnets (Número de sub-redes públicas), escolha 2.
    Em Number of private subnets (Número de sub-redes privadas), escolha 4. Duas das sub-redes privadas são para o firewall e duas para as sub-redes de workload.
    Para NAT gateways ($)(gateways NAT ($)), escolha 1 per AZ (1 por AZ). Os gateways NAT são implantados nas sub-redes públicas automaticamente.
    Para VPC endpoints (endpoints da VPC), escolha None (Nenhum).
  4. Escolha Create VPC (Criar VPC).
  5. Nomeie as sub-redes de acordo com sua finalidade:
    As duas sub-redes públicas são para os gateways NAT e são denominadas Public_Subnet_AZa e Public_Subnet_AZb neste exemplo.
    Para as sub-redes privadas, duas são para os endpoints do firewall e são denominadas Firewall_Subnet_AZa e Firewall_Subnet_AZb neste exemplo.
    As outras duas sub-redes privadas são para os endpoints de workload e são denominadas Private_Subnet_AZa e Private_Subnet_AZb neste exemplo.

Crie um firewall

  1. No painel de navegação, em Network Firewall, escolha Firewalls.
  2. Escolha Create firewall (Criar firewall).
  3. Em Create firewall (Criar firewall), digite o seguinte:
    Insira um nome para o firewall. Neste exemplo, o firewall é denominado Network-Firewall-Test.
    Para VPC, escolha Protected_VPC_10.0.0.0_16-vpc.
    Para Firewall subnets (Sub-redes de firewall), escolha a primeira zona de disponibilidade (us-east-2a) e escolha Firewall_Subnet_AZa para a sub-rede. Em seguida, escolha Add new subnet (Adicionar nova sub-rede) e repita para a segunda zona de disponibilidade (us-east-2b) e escolha Firewall_Subnet_AZb para a sub-rede.
    Em Associated firewall policy (Política de firewall associada), escolha Create and associate an empty firewall policy (Criar e associar uma política de firewall vazia).
    Em New firewall policy name (Nome da nova política de firewall), insira um nome para a nova política.
  4. Escolha Create firewall (Criar firewall). Cada sub-rede deve ter uma tabela de roteamento exclusiva. As quatro sub-redes privadas têm uma tabela de roteamento exclusiva associada a elas, enquanto as sub-redes públicas compartilham uma tabela de roteamento. Você deve criar uma nova tabela de roteamento com uma rota estática para um gateway da Internet e associá-la a uma das sub-redes públicas.

Configurar o roteamento de tráfego

O tráfego flui da seguinte forma:

  • O tráfego iniciado a partir da instância de workload no AZa é encaminhado para o endpoint do firewall no AZa.
  • O endpoint do firewall no AZa roteará o tráfego para o gateway NAT no AZa.
  • O gateway NAT no AZa encaminha o tráfego para o gateway da Internet associado à VPC.
  • O gateway da Internet encaminha o tráfego para a Internet.

O tráfego reverso segue o mesmo caminho na direção oposta:

  • O tráfego de retorno da Internet chega ao gateway da Internet conectado à VPC. Só pode haver um gateway da Internet conectado a uma VPC.
  • O gateway da Internet encaminha o tráfego para o gateway NAT no AZa. O gateway da Internet toma essa decisão com base na zona de disponibilidade de workload. Como o destino do tráfego está no AZa, o gateway da Internet escolhe o gateway NAT no AZa para encaminhar o tráfego. Não há necessidade de manter uma tabela de rotas para o gateway da internet.
  • O gateway NAT no AZa encaminha o tráfego para o endpoint do firewall no AZa.
  • O endpoint do firewall no AZa encaminha o tráfego para a workload no AZa.

Observação: os gateways da Internet podem identificar o gateway NAT para pacotes que retornam da Internet para as instâncias de workload.

Depois de criar a VPC e o firewall, você deve configurar as tabelas de roteamento. Ao configurar as tabelas de roteamento, lembre-se do seguinte:

  • A sub-rede privada no AZa (Private_Subnet_AZa) encaminha todo o tráfego destinado à Internet para o endpoint do firewall no AZa (Firewall_Subnet_AZa). Isso se repete com a sub-rede privada no AZb e o endpoint do firewall no AZb.
  • A sub-rede de firewall no AZa (Firewall_Subnet_AZa) encaminha todo o tráfego destinado à Internet para um gateway NAT no AZa (Public_Subnet_AZa). Isso se repete com a sub-rede do firewall no AZb e o gateway NAT no AZb.
  • A sub-rede pública no AZa (Public_Subnet_AZa) encaminha todo o tráfego para o gateway da Internet conectado à VPC.
  • O tráfego de retorno segue o mesmo caminho em sentido inverso.

Observação: o tráfego é mantido na mesma zona de disponibilidade para que o firewall da rede tenha a rota de tráfego de saída e entrada pelo mesmo endpoint do firewall. Isso permite que os endpoints do firewall em cada zona de disponibilidade façam inspeções detalhadas dos pacotes.

A seguir estão exemplos de configurações das tabelas de roteamento.

Public_Subnet_RouteTable_AZa (Associação de sub-rede: Public_Subnet_AZa)

Objetivo Destino
0.0.0.0/0 Gateway da Internet
10.0.0.0/16 Local
10.0.128.0/20 Endpoint de firewall em AZa

Observação: neste exemplo, 10.0.128.0/20 é o CIDR de Private_Subnet_AZa.

Public_Subnet_RouteTable_AZb (Associação de sub-rede: Public_Subnet_AZb)

Objetivo Destino
0.0.0.0/0 Gateway da Internet
10.0.0.0/16 Local
10.0.16.0/20 Endpoint de firewall em AZa

Observação: neste exemplo, 10.0.16.0/20 é o CIDR de Private_Subnet_AZb.

Firewall_Subnet_RouteTable_AZa (Associação de sub-rede: Firewall_Subnet_AZa)

Objetivo Destino
0.0.0.0/0 Gateway NAT em Public_Subnet_AZa
10.0.0.0/16 Local

Firewall_Subnet_RouteTable_AZb (Associação de sub-rede: Firewall_subnet_AZb)

Objetivo Destino
0.0.0.0/0 Gateway NAT em Public_Subnet_AZa
10.0.0.0/16 Local

Firewall_Subnet_RouteTable_AZa (Associação de sub-rede: Private_Subnet_AZa)

Objetivo Destino
0.0.0.0/0 Endpoint de firewall em AZa
10.0.0.0/16 Local

Firewall_Subnet_RouteTable_AZb (Associação de sub-rede: Private_Subnet_AZb)

Objetivo Destino
0.0.0.0/0 Endpoint de firewall no AZb
10.0.0.0/16 Local

Para verificar se seu roteamento foi configurado corretamente, você pode implantar uma instância do EC2 em uma de suas sub-redes privadas para testar sua conectividade com a Internet. Sem nenhuma regra configurada na política de firewall da rede, o tráfego não será inspecionado e poderá chegar à Internet. Depois de confirmar que seu roteamento, grupo de segurança e listas de controle de acesso à rede (ACLs de rede) estão configurados, adicione regras à sua política de firewall.

Observação: você também pode configurar o Network Firewall para rotear o tráfego da Internet através do firewall e, em seguida, do gateway NAT. Para obter mais informações, consulte a Arquitetura com um gateway da internet e um gateway NAT.