Implementar uma rede de Perímetro entre o Azure e a InternetImplement a DMZ between Azure and the Internet

Esta arquitetura de referência mostra uma rede híbrida segura que expande uma rede no local para o Azure e também aceita tráfego de Internet.This reference architecture shows a secure hybrid network that extends an on-premises network to Azure and also accepts Internet traffic. Implementar esta solução.Deploy this solution.

Nota

Este cenário também pode ser feito usando Firewall do Azure, um serviço de segurança de rede com base na cloud.This scenario can also be accomplished using Azure Firewall, a cloud-based network security service.

Arquitetura de rede híbrida segura

Transferir um ficheiro do Visio desta arquitetura.Download a Visio file of this architecture.

Esta arquitetura de referência expande a arquitetura descrita em Implementar uma rede de perímetro entre o Azure e o datacenter no local.This reference architecture extends the architecture described in Implementing a DMZ between Azure and your on-premises datacenter. Ele adiciona uma rede de Perímetro pública que processa o tráfego de Internet, além da rede de Perímetro privada que processa o tráfego da rede no local.It adds a public DMZ that handles Internet traffic, in addition to the private DMZ that handles traffic from the on-premises network.

Utilizações típicas desta arquitetura:Typical uses for this architecture include:

  • Aplicações híbridas onde as cargas de trabalho são executadas parcialmente no local e parcialmente no Azure.Hybrid applications where workloads run partly on-premises and partly in Azure.
  • Infraestrutura do Azure que encaminha o tráfego recebido no local e na Internet.Azure infrastructure that routes incoming traffic from on-premises and the Internet.

ArquiteturaArchitecture

A arquitetura é composta pelos seguintes componentes.The architecture consists of the following components.

  • Endereço IP público (PIP).Public IP address (PIP). O endereço IP do ponto final público.The IP address of the public endpoint. Os utilizadores externos ligados à Internet podem aceder ao sistema através deste endereço.External users connected to the Internet can access the system through this address.
  • Aplicação virtual de rede (NVA).Network virtual appliance (NVA). Esta arquitetura inclui um conjunto separado de NVAs para o tráfego com origem na Internet.This architecture includes a separate pool of NVAs for traffic originating on the Internet.
  • Balanceador de carga do Azure.Azure load balancer. Todos os pedidos recebidos da Internet são transferidos através do balanceador de carga e são distribuídos para as NVAs na rede de perímetro pública.All incoming requests from the Internet pass through the load balancer and are distributed to the NVAs in the public DMZ.
  • Sub-rede de entrada da rede de perímetro pública.Public DMZ inbound subnet. Esta sub-rede aceita os pedidos do balanceador de carga do Azure.This subnet accepts requests from the Azure load balancer. Os pedidos recebidos são transferidos para uma das NVAs na rede de perímetro pública.Incoming requests are passed to one of the NVAs in the public DMZ.
  • Sub-rede de saída da rede de perímetro pública.Public DMZ outbound subnet. Os pedidos aprovados pela NVA são transferidos através desta sub-rede para o balanceador de carga interno da camada Web.Requests that are approved by the NVA pass through this subnet to the internal load balancer for the web tier.

RecomendaçõesRecommendations

As recomendações seguintes aplicam-se à maioria dos cenários.The following recommendations apply for most scenarios. Siga-as, a não ser que tenha requisitos específicos que as anulem.Follow these recommendations unless you have a specific requirement that overrides them.

Recomendações das NVAsNVA recommendations

Utilize um conjunto de NVAs para o tráfego com origem na Internet e outro para o tráfego com origem no local.Use one set of NVAs for traffic originating on the Internet, and another for traffic originating on-premises. A utilização de apenas um conjunto de NVAs para ambos é um risco de segurança, porque não proporciona qualquer perímetro de segurança entre os dois conjuntos de tráfego de rede.Using only one set of NVAs for both is a security risk, because it provides no security perimeter between the two sets of network traffic. A utilização de NVAs separadas reduz a complexidade das regras de segurança de verificação e revela as regras que correspondem a cada pedido de rede recebido.Using separate NVAs reduces the complexity of checking security rules, and makes it clear which rules correspond to each incoming network request. Um conjunto de NVAs apenas implementa regras para o tráfego de Internet, enquanto outro conjunto de NVAs implementa regras apenas para o tráfego no local.One set of NVAs implements rules for Internet traffic only, while another set of NVAs implement rules for on-premises traffic only.

Inclua uma NVA de 7 camadas para terminar ligações de aplicações ao nível da NVA e manter a compatibilidade com os escalões de back-end.Include a layer-7 NVA to terminate application connections at the NVA level and maintain compatibility with the backend tiers. Deste modo, garante uma conectividade simétrica onde o tráfego de resposta das camadas de back-end é devolvido através da NVA.This guarantees symmetric connectivity where response traffic from the backend tiers returns through the NVA.

Recomendações para o balanceador de carga públicoPublic load balancer recommendations

Para a escalabilidade e a disponibilidade, implemente as NVAs da rede de perímetro pública num conjunto de disponibilidade e utilize um balanceador de carga com acesso à Internet para distribuir os pedidos de Internet nas NVAs no conjunto de disponibilidade.For scalability and availability, deploy the public DMZ NVAs in an availability set and use an Internet facing load balancer to distribute Internet requests across the NVAs in the availability set.

Configure o balanceador de carga para aceitar pedidos apenas nas portas necessárias para o tráfego de Internet.Configure the load balancer to accept requests only on the ports necessary for Internet traffic. Por exemplo, restrinja pedidos de HTTP de entrada para a porta 80 e pedidos de HTTPS de entrada para a porta 443.For example, restrict inbound HTTP requests to port 80 and inbound HTTPS requests to port 443.

Considerações de escalabilidadeScalability considerations

Mesmo se a sua arquitetura inicialmente precisar de uma única NVA na rede de perímetro pública, recomendamos que coloque um balanceador de carga à frente da rede de perímetro pública desde o início.Even if your architecture initially requires a single NVA in the public DMZ, we recommend putting a load balancer in front of the public DMZ from the beginning. Deste modo, será mais fácil dimensionar para várias NVAs no futuro, se precisar.That will make it easier to scale to multiple NVAs in the future, if needed.

Considerações de disponibilidadeAvailability considerations

O balanceador de carga com acesso à Internet requer que cada NVA na sub-rede de entrada da rede de perímetro pública implemente uma sonda de estado de funcionamento.The Internet facing load balancer requires each NVA in the public DMZ inbound subnet to implement a health probe. Uma sonda de estado de funcionamento que não responda neste ponto final será considerada indisponível e o balanceador de carga direcionará os pedidos para outras NVAs no mesmo conjunto de disponibilidade.A health probe that fails to respond on this endpoint is considered to be unavailable, and the load balancer will direct requests to other NVAs in the same availability set. Tenha em atenção que se nenhuma das NVAs responder, a aplicação falhará, pelo que é importante que tenha a monitorização configurada para alertar os DevOps quando o número de instâncias de NVAs em bom estado de funcionamento estiver abaixo de um limiar definido.Note that if all NVAs fail to respond, your application will fail, so it's important to have monitoring configured to alert DevOps when the number of healthy NVA instances falls below a defined threshold.

Considerações sobre a capacidade de gestãoManageability considerations

Monitorização e a gestão para as NVAs na rede de Perímetro pública devem ser realizadas pela jumpbox na sub-rede de gestão.All monitoring and management for the NVAs in the public DMZ should be performed by the jumpbox in the management subnet. Tal como foi explicado em Implementar uma rede de perímetro entre o Azure e o datacenter no local, defina uma rota de rede única da rede no local através do gateway para a jumpbox para restringir o acesso.As discussed in Implementing a DMZ between Azure and your on-premises datacenter, define a single network route from the on-premises network through the gateway to the jumpbox, in order to restrict access.

Se a conectividade do gateway da rede no local para o Azure estiver inativa, ainda poderá estabelecer ligação à jumpbox ao implementar um endereço IP público, ao adicioná-lo à jumpbox e ao iniciar sessão na Internet.If gateway connectivity from your on-premises network to Azure is down, you can still reach the jumpbox by deploying a public IP address, adding it to the jumpbox, and logging in from the Internet.

Considerações de segurançaSecurity considerations

Esta arquitetura de referência implementa vários níveis de segurança:This reference architecture implements multiple levels of security:

  • O balanceador de carga com acesso à Internet direciona pedidos para as NVAs na sub-rede de perímetro pública de entrada e apenas nas portas necessárias para a aplicação.The Internet facing load balancer directs requests to the NVAs in the inbound public DMZ subnet, and only on the ports necessary for the application.
  • As regras do NSG para as sub-redes de perímetro pública de entrada e de saída impedem que as NVAs sejam comprometidas, ao bloquear pedidos que estão fora das regras do NSG.The NSG rules for the inbound and outbound public DMZ subnets prevent the NVAs from being compromised, by blocking requests that fall outside of the NSG rules.
  • A configuração do encaminhamento NAT para as NVAs direciona os pedidos recebidos na porta 80 e na porta 443 para o balanceador de carga da camada Web, mas ignora os pedidos em todas as outras portas.The NAT routing configuration for the NVAs directs incoming requests on port 80 and port 443 to the web tier load balancer, but ignores requests on all other ports.

Deve registar todos os pedidos recebidos em todas as portas.You should log all incoming requests on all ports. Audite regularmente os registos, prestando atenção aos pedidos que estão fora dos parâmetros esperados, uma vez que podem ser indicadores de tentativas de intrusão.Regularly audit the logs, paying attention to requests that fall outside of expected parameters, as these may indicate intrusion attempts.

Implementar a soluçãoDeploy the solution

Uma implementação para uma arquitetura de referência que implementa estas recomendações está disponível no GitHub.A deployment for a reference architecture that implements these recommendations is available on GitHub.

Pré-requisitosPrerequisites

  1. Clone, copie ou transfira o ficheiro zip para o repositório do GitHub das arquiteturas de referência.Clone, fork, or download the zip file for the reference architectures GitHub repository.

  2. Instale a CLI 2.0 do Azure.Install Azure CLI 2.0.

  3. Instale o Node.js e o NPMInstall Node and NPM

  4. Instale o pacote npm dos blocos modulares do Azure.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  5. Numa linha de comandos, linha de comandos do Bash ou linha de comandos do PowerShell, inicie sessão na sua conta do Azure da seguinte forma:From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

Implementar recursosDeploy resources

  1. Navegue para o /dmz/secure-vnet-dmz pasta do repositório de GitHub de arquiteturas de referência.Navigate to the /dmz/secure-vnet-dmz folder of the reference architectures GitHub repository.

  2. Execute o seguinte comando:Run the following command:

    azbb -s <subscription_id> -g <resource_group_name> -l <region> -p onprem.json --deploy
    
  3. Execute o seguinte comando:Run the following command:

    azbb -s <subscription_id> -g <resource_group_name> -l <region> -p secure-vnet-dmz.json --deploy
    

Ligar a aplicações no local e gateways do AzureConnect the on-premises and Azure gateways

Neste passo, irá ligar os dois gateways de rede local.In this step, you will connect the two local network gateways.

  1. No Portal do Azure, navegue para o grupo de recursos que criou.In the Azure Portal, navigate to the resource group that you created.

  2. Localizar o recurso com o nome ra-vpn-vgw-pip e copie o endereço IP mostrado na descrição geral painel.Find the resource named ra-vpn-vgw-pip and copy the IP address shown in the Overview blade.

  3. Localizar o recurso com o nome onprem-vpn-lgw.Find the resource named onprem-vpn-lgw.

  4. Clique nas configuração painel.Click the Configuration blade. Sob endereço IP, cole o endereço IP do passo 2.Under IP address, paste in the IP address from step 2.

    Captura de ecrã do campo de endereço IP

  5. Clique em guardar e aguarde pela conclusão da operação.Click Save and wait for the operation to complete. Pode demorar cerca de 5 minutos.It can take about 5 minutes.

  6. Localizar o recurso com o nome onprem-vpn-gateway1-pip.Find the resource named onprem-vpn-gateway1-pip. Copie o endereço IP mostrado na descrição geral painel.Copy the IP address shown in the Overview blade.

  7. Localizar o recurso com o nome ra-vpn-lgw.Find the resource named ra-vpn-lgw.

  8. Clique nas configuração painel.Click the Configuration blade. Sob endereço IP, cole o endereço IP do passo 6.Under IP address, paste in the IP address from step 6.

  9. Clique em guardar e aguarde pela conclusão da operação.Click Save and wait for the operation to complete.

  10. Para verificar a ligação, vá para o ligações painel para cada gateway.To verify the connection, go to the Connections blade for each gateway. O estado deve ser ligado.The status should be Connected.

Certifique-se de que o tráfego de rede atinge a camada webVerify that network traffic reaches the web tier

  1. No Portal do Azure, navegue para o grupo de recursos que criou.In the Azure Portal, navigate to the resource group that you created.

  2. Localizar o recurso com o nome pub-dmz-lb, que é o Balanceador de carga à frente da rede de Perímetro pública.Find the resource named pub-dmz-lb, which is the load balancer in front of the public DMZ.

  3. Copie o endereço IP público do descrição geral painel e abra este endereço num navegador da web.Copy the public IP address from the Overview blade and open this address in a web browser. Deverá ver a home page do padrão Apache2 server.You should see the default Apache2 server home page.

  4. Localizar o recurso com o nome int-dmz-lb, que é o Balanceador de carga à frente da rede de Perímetro privada.Find the resource named int-dmz-lb, which is the load balancer in front of the private DMZ. Copie o endereço IP privado a partir da descrição geral painel.Copy the private IP address from the Overview blade.

  5. Localize a VM com o nome jb-vm1.Find the VM named jb-vm1. Clique em Connect e utilizar o ambiente de trabalho remoto para ligar à VM.Click Connect and use Remote Desktop to connect to the VM. O nome de utilizador e palavra-passe são especificados no ficheiro onprem.json.The user name and password are specified in the onprem.json file.

  6. A partir da sessão de ambiente de trabalho remoto, abra um browser e navegue para o endereço IP do passo 4.From the Remote Desktop Session, open a web browser and navigate to the IP address from step 4. Deverá ver a home page do padrão Apache2 server.You should see the default Apache2 server home page.