Cenário de dispositivo virtual

Um cenário comum entre os maiores clientes do Azure é a necessidade de fornecer um aplicativo de duas camadas exposto à Internet, permitindo acesso à camada traseira de um datacenter local. Este documento explica um cenário que usa as tabelas de rotas, um Gateway de VPN e as soluções de virtualização de rede para implantar um ambiente de duas camadas que atenda aos seguintes requisitos:

  • O aplicativo Web deve ser acessível somente pela Internet pública.

  • O servidor Web que hospeda o aplicativo deve ser capaz de acessar um servidor de aplicativos back-end.

  • Todo o tráfego da Internet para o aplicativo Web deve passar por um dispositivo virtual de firewall. Essa solução de virtualização será usada apenas para o tráfego de Internet.

  • Todo o tráfego indo para o servidor de aplicativos deve passar por um dispositivo virtual de firewall. Essa solução de virtualização será usada para acesso ao servidor de back-end e para acesso proveniente da rede local por meio de um Gateway de VPN.

  • Os administradores devem ser capazes de gerenciar os dispositivos virtuais de firewall em seus computadores locais usando um terceiro dispositivo virtual de firewall usado exclusivamente para fins de gerenciamento.

Esse é um exemplo de um cenário de rede de perímetro padrão (também conhecido como DMZ) com um DMZ e uma rede protegida. Esse cenário pode ser criado no Azure usando NSGs, dispositivos virtuais de firewall ou uma combinação de ambos.

A tabela a seguir mostra alguns dos prós e contras entre NSGs e soluções de virtualização de firewall.

Item Vantagens Desvantagens
NSG Sem custo.
Integrado ao acesso baseado em função do Azure.
As regras podem ser criadas em modelos do Azure Resource Manager.
A complexidade pode variar em ambientes maiores.
Firewall Controle total sobre o plano de dados.
Gerenciamento central por meio do console do firewall.
Custo do dispositivo de firewall.
Não integrado ao acesso baseado em função do Azure.

A solução a seguir usa soluções de virtualização de firewall para implementar um cenário de rede de perímetro (DMZ) / rede protegida.

Considerações

Você pode implantar o ambiente explicado anteriormente no Azure usando diferentes recursos disponíveis hoje, da seguinte maneira.

  • Rede virtual. Uma rede virtual do Azure funciona de maneira semelhante a uma rede local e pode ser segmentada em uma ou mais sub-redes para fornecer isolamento de tráfego e separação de preocupações.

  • Dispositivo virtual. Vários parceiros fornecem soluções de virtualização no Azure Marketplace que podem ser usadas para os três firewalls descritos anteriormente.

  • Tabelas de rotas. As tabelas de rotas são usadas pela rede do Azure para controlar o fluxo de pacotes em uma rede virtual. Essas tabelas de rotas podem ser aplicadas a sub-redes. Você pode aplicar uma tabela de rotas ao GatewaySubnet, que encaminha todo o tráfego que entra na rede virtual do Azure de uma conexão híbrida para uma solução de virtualização.

  • Encaminhamento IP. Por padrão, o mecanismo de rede do Azure encaminhará pacotes a NICs (placas de adaptador de rede virtual) somente se o endereço IP de destino do pacote corresponder ao endereço IP da NIC. Portanto, se uma tabela de rotas definir que um pacote deverá ser enviado para uma determinada solução de virtualização, o mecanismo de rede do Azure deverá remover esse pacote. Para garantir que o pacote seja entregue a uma VM (no caso, uma solução de virtualização) que não seja o destino real do pacote, habilite o Encaminhamento IP para a solução de virtualização.

  • NSGs (Grupos de Segurança de Rede) . O exemplo a seguir não usa NSGs, mas você pode usar NSGs aplicados às sub-redes e/ou NICs nessa solução. Os NSGs filtrariam ainda mais o tráfego entre essas sub-redes e NICs.

Diagrama de conectividade IPv6.

Neste exemplo, há uma assinatura que contém os seguintes itens:

  • Dois grupos de recursos, não mostrados no diagrama.

    • ONPREMRG. Contém todos os recursos necessários para simular uma rede local.

    • AZURERG. Contém todos os recursos necessários para o ambiente de rede virtual do Azure.

  • Uma rede virtual chamada onpremvnet segmentada da seguinte maneira usada para imitar um datacenter local.

    • onpremsn1. A sub-rede que contém uma VM (máquina virtual) executando a distribuição Linux para simular um servidor local.

    • onpremsn2. A sub-rede que contém uma VM executando uma distribuição Linux para simular um computador local usado por um administrador.

  • Há uma solução de virtualização de firewall denominada OPFW em onpremvnet usada para manter um túnel para azurevnet.

  • Uma rede virtual chamada azurevnet segmentada da seguinte maneira.

    • azsn1. A sub-rede de firewall externo usada exclusivamente para o firewall externo. Todo o tráfego da Internet chega por meio dessa sub-rede. Essa sub-rede contém apenas uma NIC associada ao firewall externo.

    • azsn2. A sub-rede de front-end hospeda uma VM em execução como um servidor Web que será acessado da Internet.

    • azsn3. A sub-rede de back-end hospeda uma VM que executa um servidor de aplicativos de back-end acessado pelo servidor Web de front-end.

    • azsn4. A sub-rede de gerenciamento usada exclusivamente para fornecer acesso de gerenciamento para todos os dispositivos virtuais do firewall. Essa sub-rede contém apenas uma NIC para cada dispositivo virtual de firewall usado na solução.

    • GatewaySubnet. A sub-rede de conexão híbrida do Azure necessária para o Gateway de VPN e o ExpressRoute para fornecer conectividade entre VNets do Azure e outras redes.

  • Há 3 dispositivos virtuais de firewall na rede azurevnet .

    • AZF1. Firewall externo exposto à Internet pública usando um recurso de endereço IP público do Azure. Você precisa garantir que tem um modelo do Marketplace, ou diretamente do seu fornecedor de dispositivo, que implanta uma solução de virtualização de 3 NICs.

    • AZF2. Firewall interno usado para controlar o tráfego entre azsn2 e azsn3. Esse firewall também é uma solução de virtualização de 3 NICs.

    • AZF3. O firewall de gerenciamento acessível aos administradores do datacenter local e conectado a uma sub-rede de gerenciamento usada para gerenciar todos os dispositivos de firewall. Você pode encontrar modelos de dispositivo virtual de 2 NICs no Marketplace ou solicitar uma diretamente do seu fornecedor de dispositivo.

Tabelas de rotas

Cada sub-rede no Azure pode ser vinculada a uma tabela de rotas usada para definir como o tráfego iniciado na sub-rede é roteado. Se nenhum UDR for definido, o Azure usará as rotas padrão para permitir que o tráfego flua de uma sub-rede para outra. Para entender melhor as tabelas de rotas e o roteamento de tráfego, confira Roteamento de tráfego da rede virtual do Azure.

Para garantir que a comunicação seja feita por meio do dispositivo de firewall correto, com base no último requisito listado anteriormente, você deve criar a seguinte tabela de rotas em azurevnet.

azgwudr

Nesse cenário, o único tráfego que flui do local para o Azure será usado para gerenciar os firewalls que se conectam ao AZF3 e esse tráfego deve passar pelo firewall interno, AZF2. Portanto, é necessária apenas uma rota no GatewaySubnet conforme mostrado a seguir.

Destino Próximo salto Explicação
10.0.4.0/24 10.0.3.11 Permite que tráfego local alcance o gerenciamento de firewall AZF3

azsn2udr

Destino Próximo salto Explicação
10.0.3.0/24 10.0.2.11 Permite tráfego para a sub-rede de back-end que hospeda o servidor de aplicativos por meio do AZF2
0.0.0.0/0 10.0.2.10 Permite que todos os outros tráfegos sejam roteados por meio do AZF1

azsn3udr

Destino Próximo salto Explicação
10.0.2.0/24 10.0.3.10 Permite que o tráfego azsn2 ao flua do servidor de aplicativos para o servidor Web por meio do AZF2

Você também precisa criar tabelas de rotas para as sub-redes em onpremvnet simularem o datacenter local.

onpremsn1udr

Destino Próximo salto Explicação
192.168.2.0/24 192.168.1.4 Permite o tráfego para onpremsn2 por meio do OPFW

onpremsn2udr

Destino Próximo salto Explicação
10.0.3.0/24 192.168.2.4 Permite o tráfego para a sub-rede com suporte no Azure por meio de OPFW
192.168.1.0/24 192.168.2.4 Permite o tráfego para onpremsn1 por meio do OPFW

encaminhamento IP

As tabelas de rotas e Encaminhamento IP são recursos que podem ser usados em combinação para permitir que soluções de virtualização sejam usadas para controlar o fluxo de tráfego em uma Rede Virtual do Azure. Um dispositivo virtual é nada mais do que uma VM que executa um aplicativo usado para lidar com o tráfego de rede de alguma forma, como um firewall ou um dispositivo NAT.

Essa VM de solução de virtualização deve ser capaz de receber o tráfego de entrada não endereçado a si mesma. Para permitir que uma VM receba o tráfego endereçado a outros destinos, você deve habilitar o Encaminhamento IP para a VM. Essa é uma configuração do Azure, não uma configuração no sistema operacional convidado. O dispositivo virtual ainda precisa executar algum tipo de aplicativo para tratar o tráfego de entrada e roteá-la adequadamente.

Para saber mais sobre o Encaminhamento IP, confira Roteamento de tráfego de rede virtual do Azure.

Por exemplo, imagine que você tenha a seguinte configuração em uma VNet do Azure:

  • A sub-rede onpremsn1 contém uma VM denominada onpremvm1.

  • A sub-rede onpremsn2 contém uma VM chamada onpremvm2.

  • Um dispositivo virtual denominado OPFW é conectado a onpremsn1 e onpremsn2.

  • Uma rota definida pelo usuário vinculado a onpremsn1 especifica que todo o tráfego para onpremsn2 devem ser enviado ao OPFW.

Nesse ponto, se onpremvm1 tentar estabelecer uma conexão com onpremvm2, será usado o UDR e o tráfego será enviado para OPFW como o próximo salto. Tenha em mente que o destino do pacote real que não está sendo alterado, ainda diz onpremvm2 no destino.

Sem o Encaminhamento IP habilitado para OPFW, a lógica de rede virtual do Azure remove os pacotes, já que só permite que os pacotes sejam enviados a uma VM se o endereço IP da VM for o destino para o pacote.

Com o Encaminhamento IP, a lógica de rede virtual do Azure encaminha os pacotes para OPFW, sem alterar seu endereço de destino original. OPFW deve lidar com os pacotes e determinar o que fazer com eles.

Para o cenário anterior funcionar, você deve habilitar o Encaminhamento IP em NICs de OPFW, AZF1, AZF2, e AZF3 que são usadas para rotear (todas as NICs exceto aquelas vinculadas à subrede de gerenciamento).

Regras de firewall

Conforme descrito anteriormente, somente Encaminhamento IP garante que os pacotes sejam enviados para as soluções de virtualização. O dispositivo ainda precisa decidir o que fazer com esses pacotes. No cenário anterior, você precisa criar as seguintes regras em seus dispositivos:

OPFW

OPFW representa um dispositivo local que contém as seguintes regras:

  • Rota: todo o tráfego para 10.0.0.0/16 (azurevnet) deve ser enviado pelo túnel ONPREMAZURE.

  • Política: permitir todo o tráfego bidirecional entre port2 e ONPREMAZURE.

AZF1

O AZF1 representa um dispositivo virtual do Azure que contém as seguintes regras:

  • Política: permitir todo o tráfego bidirecional entre port1 e port2.

AZF2

O AZF2 representa um dispositivo virtual do Azure que contém as seguintes regras:

  • Política: permitir todo o tráfego bidirecional entre port1 e port2.

AZF3

O AZF3 representa um dispositivo virtual do Azure que contém as seguintes regras:

  • Rota: todo o tráfego para 192.168.0.0/16 (onpremvnet) deve ser enviado para o endereço IP do gateway do Azure (ou seja, 10.0.0.1) por meio da port1.

Grupos de segurança de rede (NSG)

Nesse cenário, os NSGs não são usados. No entanto, você pode aplicar NSGs a cada sub-rede para restringir o tráfego de entrada e saído. Por exemplo, você pode aplicar as seguintes regras de NSG à sub-rede FW externa.

Entrada

  • Permita todo o tráfego TCP da Internet para a porta 80 em qualquer VM na sub-rede.

  • Negue todos os outros tráfegos da Internet.

Saída

  • Negue todo tráfego para a Internet.

Etapas de alto nível

Para implantar esse cenário, use as seguintes etapas de alto nível.

  1. Entre na sua Assinatura do Azure.

  2. Se você desejar implantar uma rede virtual para imitar a rede local, implante os recursos que fazem parte do ONPREMRG.

  3. Implante os recursos que fazem parte do AZURERG.

  4. Implantae o túnel de onpremvnet para azurevnet.

  5. Depois que todos os recursos forem provisionados, entre em onpremvm2 e execute ping em 10.0.3.101 para testar a conectividade entre onpremsn2 e azsn3.