AzureFirewall

Infraestrutura de rede (Vnet) com Azure Firewall na Borda.

Neste artigo venho apresentar uma topologia utilizando Cloud Azure, com 7 Vnets ligadas por peering, gateway de VPN com BGP e Azure Firewall.

Nesta topologia todas as subnets estão com route table 0.0.0.0/0 para o IP da interface do nosso Azure Firewall

0.0.0.0/0 –> 10.128.0.68

Desta maneira temos total segregação da rede (Azure Vnet), onde cada projeto/departamento tem sua propria vnet.
Desta forma a vnet por exemplo do RH não fala com a Vnet de Marketing (Somente se for criada regras de Firewall) e o porque de utilizar desta forma.

Na minha visão tem que ser “cada um no seu quadrado”, não porque estamos em cloud que esse pensamento deve mudar, desta maneira tornamos nosso ambiente mais seguro, protegemos nossas cargas de trabalhos, deixamos cada ambiente totalmente isolado, segredado e seguro.

Na borda nos temos Azure Firewall com default route, onde ele controla tudo que entra e sai da nossa rede.

Topologia Azure Firewall

Exemplos de regras na pratica

Temos nesta topologia dois servidores de DNS (Windows Server 2019):

AZUEASTDNS01 e AZUEASTDNS02 (dentro do dominio glbx.corp)

AZUEASTDNS01.glbx.corp (10.128.8.4)
AZUEASTDNS02.glbx.corp (10.128.9.4)

Esses servidores são os DNS Server padrão de todas as nossas vnets

Veja como ficaria a regra de Azure Firewall para que toda “Resolução de Nomes” seja liberada: (Neste exemplo não estamos utilizando Firewall Manager)

Foi criada a seguinte regra

Name: dns vnet resoler
Protocol: TCP/UDP
Source: 10.128.0.0/16 (Estou utilizando este CIDR neste exemplo)
Destination Address: 10.128.8.4,10.128.9.4 (Nossos servidores DNS)
Destination Port: 53

Firewall Rule DNS Vnet

Conforme regra criada acima, todas as vnet que estão fazendo peering, e com route default 0.0.0.0/0 para o IP no nosso Azure Firewall, iram conseguir resolver nomes utilizando nossos servidores DNSs.

Vamos a outro exemplo pratico.

Em nosso ambiente temos dois servidores web (Windows Server 2019 com IIS) que hospeda a intranet da empresa, na frente deste servidores temos um load balance fazendo o balanceamento da carga, que possui o IP 10.128.11.196

Para os colaboradores acessarem a infraestrutura da empresa, existe uma VPN IPSec com BGP comunicando o ambiente OnPremises e o ambiente do Azure

A regra para liberar o acesso dos colaboradores ao nosso ambiente “intranet” seria assim:

Name: acesso rede interna – intranet
Protocol: TCP
Source: 10.127.0.0/22 (Este CIDR é da rede OnPremises)
Destination Address: 10.128.11.196 (IP do Load Balance)
Destinaton Port: 80/443

Nossos colaboradores seguiram este caminho

Notebook –> Firewall OnPremises –> Rota BGP –> Gateway Azure –> Route Default Azure –> Azure Firewall –> IP do Load Balance

Nossa intranet utiliza banco de dados Azure Database SQL (PaaS), para este modelo criamos um Azure Database SQL (PaaS) com private link e bloqueamos totalmente o acesso externo (Internet) ele só é acessivel via rede interna.

Link para utilização de private link com DNS Personal (Neste exemplo utilizamos desta forma)

https://docs.microsoft.com/pt-br/azure/private-link/private-endpoint-dns

Regra de Firewall

Name: acesso rede interna – intranet
Protocol: TCP
Source: 10.128.10.4,10.128.11.4
Destination Address: 10.128.4.10 (IP do Private Link que criamos)
Destinaton Port: 1433

Com esta regra nossa aplicação “intranet” conseguirá acessar o banco de dados PaaS via rede interna.

Outro exemplo pratico, neste cenário iremos expor uma aplicação para internet

Iremos expor nosso Site Institucional para a internet, temos este ambiente

Frontend: Application Gateway com IP Privado, peering com nossa vnet master, porém na subnet onde esta hospedado nossa application gateway não possui route default 0.0.0.0/0 para nosso AzureFirewall

Iremos utilizar o recurso de NAT para expor nosso site com destino um Appplication Gateway (não irei ensinar neste exemplo com criar/configurar um application gatewaY)

Name: acesso site institucional
Protocol: TCP
Source: * (qualquer lugar da internet)
Destination Address: 20.72.175.158 (IP previamente criado a atachado ao azure firewall)
Destinaton Port: 443
Translate Adress: 10.128.4.10 (IP privado do Application Gateway)
Translate Port: 443

Com a regra de firewall criada acima nosso site institucional ficará exposto para a internet com proteção de anti-DDoS do Azure que esta em nossa borda e por Application Gateway (WAF) na frente da aplicação.

Essa topologia não esta certa nem errada, eu acredito que é possivel deixar seu ambiente totalmente segredado, seguro, com um ponto unico de acesso e ainda conseguir utilizar todos os recurso do Azure de forma segura.

Bom é isso pessoal, fiquem a vontade para criticar/sugestionar

Outra coisa importante que se deve levar em conta, se no seu ambiente se faz necessário estabelecer comunicação com outras empresas, parceiros cliente etc….pense em utilizar a o proprio gateway de VPN BGP, porém pense que seu cliente da VPN IPSec não poderá utilizar a mesma rede que seu ambiente, neste exemplo o CIDR 10.128.0.0/16 e nem 10.127.0.0/22, para resolver essa questão você pode estabelecer a VPN IPSec em seu ambiente OnPremises e fazer o roteamento dos pacotes para seu ambiente no Azure (recomendo somente se não for critico, pois se seu ambiente OnPremises ficar indisponivel a VPN ficará também), outra solução seria criar um nova Vnet (Para deixar o ambiente segredado) e criar um Virtual Appliance como por exemplo “Fortigate” (Pode ser Palo Alto, SonicWall, PFSense), com a Vnet criada, faça o peering com a vnet master para propagação BGP, e NÃO deixe como rota default as subnets do fortigate para o AzureFirewall, depois disso bastas estabelecer o tunnel IPSec com seu parceiro e criar as devidas rotas na tabela de roteamento e as regras no Azure Firewall.