Implementar uma rede híbrida segura

Azure
Bastion
ExpressRoute
Firewall
Rede Virtual

Esta arquitetura de referência mostra uma rede híbrida segura que expande uma rede no local para o Azure.This reference architecture shows a secure hybrid network that extends an on-premises network to Azure. A arquitetura implementa uma DMZ, também chamada de rede de perímetro, entre a rede no local e uma rede virtual Azure.The architecture implements a DMZ, also called a perimeter network, between the on-premises network and an Azure virtual network. Todo o tráfego de entrada e saída passa pela Firewall Azure.All inbound and outbound traffic passes through Azure Firewall. Implementar esta solução.Deploy this solution.

Arquitetura de rede híbrida segura

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

Esta arquitetura requer uma ligação ao datacenter no local, com um gateway de VPN ou uma ligação ExpressRoute.This architecture requires a connection to your on-premises datacenter, using either a VPN gateway or an ExpressRoute connection. 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 que requer controlo granular sobre o tráfego entrando numa rede virtual Azure a partir de um datacenter no local.Infrastructure that requires granular control over traffic entering an Azure virtual network from an on-premises datacenter.
  • Aplicações que têm de auditar o tráfego de saída.Applications that must audit outgoing traffic. Frequentemente, é um requisito regulamentar de muitos sistemas comerciais e pode ajudar a impedir a divulgação pública de informações privadas.This is often a regulatory requirement of many commercial systems and can help to prevent public disclosure of private information.

ArquiteturaArchitecture

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

  • Rede no local.On-premises network. Uma rede privada de área local implementada numa organização.A private local-area network implemented in an organization.

  • Rede virtual Azure.Azure virtual network. A rede virtual acolhe a aplicação e outros recursos em execução em Azure.The virtual network hosts the application and other resources running in Azure.

  • Gateway.Gateway. O gateway proporciona conectividade entre os routers na rede de instalações e a rede virtual.The gateway provides connectivity between the routers in the on-premises network and the virtual network. O portal é colocado na sua própria sub-rede.The gateway is placed in its own subnet.

  • Firewall Azure.Azure Firewall. Azure Firewall é uma firewall gerida como um serviço.Azure Firewall is a managed firewall as a service. A instância firewall é colocada na sua própria sub-rede.The Firewall instance is placed in its own subnet.

  • Rotas de rede virtuais.Virtual network routes. As rotas de rede virtuais definem o fluxo de tráfego IP dentro da rede virtual Azure.Virtual network routes define the flow of IP traffic within the Azure virtual network. No diagrama acima indicado, existem duas tabelas de rota definidas pelo utilizador.In the diagram shown above, there are two user-defined route tables.

    • Na sub-rede gateway, o tráfego enviado para a sub-rede de nível web (10.0.1.0/24) é encaminhado através da instância Azure Firewall.In the gateway subnet, traffic sent to the web-tier subnet (10.0.1.0/24) is routed through the Azure Firewall instance.
    • Na sub-rede de nível web, uma vez que não existe uma rota para o espaço de endereço da própria VNet para apontar para a firewall do Azure, as instâncias de nível web são capazes de comunicar diretamente entre si, e não através do Azure Firewall.In the web tier subnet, Since there is no route for address space of the VNet itself to point to Azure firewall, web tier instances are able to communicate directly to each other, not via Azure Firewall.

    Nota

    Dependendo dos requisitos da sua ligação VPN, pode configurar as rotas do Border Gateway Protocol (BGP) para implementar as regras de encaminhamento que direcionam o tráfego através da rede de acesso ao local.Depending on the requirements of your VPN connection, you can configure Border Gateway Protocol (BGP) routes to implement the forwarding rules that direct traffic back through the on-premises network.

  • Grupos de segurança de rede.Network security groups. Utilize grupos de segurança para restringir o tráfego de rede dentro da rede virtual.Use security groups to restrict network traffic within the virtual network. Por exemplo, na implantação fornecida com esta arquitetura de referência, a sub-rede de nível web permite o tráfego TCP a partir da rede no local e dentro da rede virtual; o nível de negócio permite o tráfego a partir do nível web; e o nível de dados permite o tráfego a partir do nível de negócio.For example, in the deployment provided with this reference architecture, the web tier subnet allows TCP traffic from the on-premises network and from within the virtual network; the business tier allows traffic from the web tier; and the data tier allows traffic from the business tier.

  • Bastião.Bastion. O Azure Bastion permite-lhe iniciar sessão em VMs na rede virtual através do SSH ou do protocolo de ambiente de trabalho remoto (RDP) sem expor os VMs diretamente à internet.Azure Bastion allows you to log into VMs in the virtual network through SSH or remote desktop protocol (RDP) without exposing the VMs directly to the internet. Utilize o Bastion para gerir os VMs na rede virtual.Use Bastion to manage the VMs in the virtual network.

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 de controlo de acessoAccess control recommendations

Use o controlo de acesso baseado em funções Azure (Azure RBAC) para gerir os recursos na sua aplicação.Use Azure role-based access control (Azure RBAC) to manage the resources in your application. Considere criar as seguintes funções personalizadas:Consider creating the following custom roles:

  • Uma função DevOps com permissões para administrar a infraestrutura da aplicação, implementar os componentes da aplicação e monitorizar e reiniciar as VMs.A DevOps role with permissions to administer the infrastructure for the application, deploy the application components, and monitor and restart VMs.

  • Uma função de administrador de TI centralizada para gerir e monitorizar os recursos de rede.A centralized IT administrator role to manage and monitor network resources.

  • Um papel de administrador de TI de segurança para gerir recursos de rede seguros, como a firewall.A security IT administrator role to manage secure network resources such as the firewall.

As funções de Administrador de DevOps e DE TI não devem ter acesso aos recursos de firewall.The DevOps and IT administrator roles should not have access to the firewall resources. Estas devem ser limitadas à função de administrador de TI de segurança.This should be restricted to the security IT administrator role.

Recomendações para grupos de recursosResource group recommendations

Os recursos azure tais como VMs, redes virtuais e equilibradores de carga podem ser facilmente geridos agrupando-os em grupos de recursos.Azure resources such as VMs, virtual networks, and load balancers can be easily managed by grouping them together into resource groups. Atribua funções Azure a cada grupo de recursos para restringir o acesso.Assign Azure roles to each resource group to restrict access.

Recomendamos que crie os seguintes grupos de recursos:We recommend creating the following resource groups:

  • Um grupo de recursos que contém a rede virtual (excluindo os VMs), NSGs e os recursos de gateway para a ligação à rede no local.A resource group containing the virtual network (excluding the VMs), NSGs, and the gateway resources for connecting to the on-premises network. Atribua a função de administrador de TI centralizada a este grupo de recursos.Assign the centralized IT administrator role to this resource group.
  • Um grupo de recursos que contém os VMs para a instância Azure Firewall e as rotas definidas pelo utilizador para a sub-rede gateway.A resource group containing the VMs for the Azure Firewall instance and the user-defined routes for the gateway subnet. Atribua a função de administrador de TI de segurança a este grupo de recursos.Assign the security IT administrator role to this resource group.
  • Grupos de recursos separados para cada camada da aplicação com o balanceador de carga e as VMs.Separate resource groups for each application tier that contain the load balancer and VMs. Tenha em atenção que este grupo de recursos não deve incluir as sub-redes de cada camada.Note that this resource group shouldn't include the subnets for each tier. Atribua a função de DevOps a este grupo de recursos.Assign the DevOps role to this resource group.

Recomendações de redesNetworking recommendations

Para aceitar o tráfego de entrada a partir da internet, adicione uma regra de Tradução de Endereço de Rede de Destino (DNAT) ao Azure Firewall.To accept inbound traffic from the internet, add a Destination Network Address Translation (DNAT) rule to Azure Firewall.

  • Endereço de destino = endereço IP público da instância de firewall.Destination address = Public IP address of the firewall instance.
  • Endereço traduzido = Endereço IP privado dentro da rede virtual.Translated address = Private IP address within the virtual network.

O exemplo de implantação liga o tráfego de internet para a porta 80 para o balanceador de carga de nível web.The example deployment routes internet traffic for port 80 to the web tier load balancer.

Túnel de força todo o tráfego de internet de saída através da sua rede no local usando o túnel VPN site-to-site, e rota para a internet usando tradução de endereço de rede (NAT).Force-tunnel all outbound internet traffic through your on-premises network using the site-to-site VPN tunnel, and route to the internet using network address translation (NAT). Deste modo, impede fugas acidentais de informações confidenciais armazenadas na camada de dados e permite a inspeção e auditoria de todo o tráfego de saída.This prevents accidental leakage of any confidential information stored in your data tier and allows inspection and auditing of all outgoing traffic.

Não bloqueie completamente o tráfego de internet dos níveis de aplicação, pois isso impedirá que estes níveis utilizem serviços Azure PaaS que dependem de endereços IP públicos, como o registo de diagnósticos VM, o descarregamento de extensões VM e outras funcionalidades.Don't completely block internet traffic from the application tiers, as this will prevent these tiers from using Azure PaaS services that rely on public IP addresses, such as VM diagnostics logging, downloading of VM extensions, and other functionality. O diagnóstico do Azure também requer que os componentes possam ler e escrever numa conta de Armazenamento do Azure.Azure diagnostics also requires that components can read and write to an Azure Storage account.

Verifique se o tráfego de Internet de saída tem uma imposição de túnel correta.Verify that outbound internet traffic is force-tunneled correctly. Se estiver a utilizar uma ligação VPN com o serviço de encaminhamento e acesso remoto num servidor no local, utilize uma ferramenta como o WireShark.If you're using a VPN connection with the routing and remote access service on an on-premises server, use a tool such as WireShark.

Considere utilizar o Gateway de Aplicações ou a Porta Frontal Azure para a rescisão SSL.Consider using Application Gateway or Azure Front Door for SSL termination.

Considerações de escalabilidadeScalability considerations

Para mais detalhes sobre os limites de largura de banda da VPN Gateway, consulte Gateway SKUs.For details about the bandwidth limits of VPN Gateway, see Gateway SKUs. Para larguras de banda superiores, considere atualizar para um gateway do ExpressRoute.For higher bandwidths, consider upgrading to an ExpressRoute gateway. O ExpressRoute proporciona uma largura de banda máxima de 10 Gbps com uma latência inferior à de uma ligação VPN.ExpressRoute provides up to 10 Gbps bandwidth with lower latency than a VPN connection.

Para obter mais informações sobre a escalabilidade de gateways do Azure, veja a secção de considerações de escalabilidade em Implementar uma arquitetura de rede híbrida com o Azure e a VPN no local e Implementar uma arquitetura de rede híbrida com o Azure ExpressRoute.For more information about the scalability of Azure gateways, see the scalability consideration section in Implementing a hybrid network architecture with Azure and on-premises VPN and Implementing a hybrid network architecture with Azure ExpressRoute.

Considerações de disponibilidadeAvailability considerations

Se estiver a utilizar o Azure ExpressRoute para fornecer conectividade entre a rede virtual e a rede no local, configura uma porta de entrada VPN para fornecer failover se a ligação ExpressRoute ficar indisponível.If you're using Azure ExpressRoute to provide connectivity between the virtual network and on-premises network, configure a VPN gateway to provide failover if the ExpressRoute connection becomes unavailable.

Para obter informações específicas sobre como manter a disponibilidade para ligações ExpressRoute e de VPN, veja as considerações de disponibilidade em Implementar uma arquitetura de rede híbrida com o Azure e a VPN no local e Implementar uma arquitetura de rede híbrida com o Azure ExpressRoute.For specific information on maintaining availability for VPN and ExpressRoute connections, see the availability considerations in Implementing a hybrid network architecture with Azure and on-premises VPN and Implementing a hybrid network architecture with Azure ExpressRoute.

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

Se a conectividade gateway da sua rede de acesso a Azure estiver em baixo, ainda pode chegar aos VMs na rede virtual Azure através do Azure Bastion.If gateway connectivity from your on-premises network to Azure is down, you can still reach the VMs in the Azure virtual network through Azure Bastion.

Cada sub-rede da camada na arquitetura de referência está protegida por regras do NSG.Each tier's subnet in the reference architecture is protected by NSG rules. Poderá ter de criar uma regra para abrir a porta 3389 para o acesso do protocolo RDP (Remote Desktop Protocol) em VMs do Windows ou a porta 22 para o acesso de secure shell (SSH) em VMs do Linux.You may need to create a rule to open port 3389 for remote desktop protocol (RDP) access on Windows VMs or port 22 for secure shell (SSH) access on Linux VMs. Outras ferramentas de monitorização e gestão podem precisar de regras para abrir portas adicionais.Other management and monitoring tools may require rules to open additional ports.

Se estiver a utilizar o ExpressRoute para fornecer conectividade entre o datacenter no local e o Azure, utilize o Toolkit de Conectividade do Azure (AzureCT) para monitorizar e resolver problemas de ligação.If you're using ExpressRoute to provide the connectivity between your on-premises datacenter and Azure, use the Azure Connectivity Toolkit (AzureCT) to monitor and troubleshoot connection issues.

Pode encontrar informações adicionais sobre monitorização e gestão de ligações VPN e ExpressRoute nos artigos:You can find additional information about monitoring and managing VPN and ExpressRoute connections in the articles:

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.

Encaminhamento de todos os pedidos do utilizador no local através do Azure FirewallRouting all on-premises user requests through Azure Firewall

A rota definida pelo utilizador na sub-rede gateway bloqueia todos os pedidos do utilizador que não os recebidos no local.The user-defined route in the gateway subnet blocks all user requests other than those received from on-premises. Os passes de rota permitiram pedidos à firewall, e estes pedidos são transmitidos à aplicação se forem permitidos pelas regras de firewall.The route passes allowed requests to the firewall, and these requests are passed on to the application if they are allowed by the firewall rules. Pode adicionar outras rotas, mas certifique-se de que não contornam inadvertidamente a firewall ou bloqueiam o tráfego administrativo destinado à sub-rede de gestão.You can add other routes, but make sure they don't inadvertently bypass the firewall or block administrative traffic intended for the management subnet.

Utilize os NSGs para bloquear/transmitir o tráfego entre as camadas da aplicaçãoUsing NSGs to block/pass traffic between application tiers

O tráfego entre as camadas está restringido através dos NSGs.Traffic between tiers is restricted by using NSGs. A camada Business bloqueia todo o tráfego que não tem origem na camada Web e a camada de dados bloqueia todo o tráfego que não tem origem na camada Business.The business tier blocks all traffic that doesn't originate in the web tier, and the data tier blocks all traffic that doesn't originate in the business tier. Se tiver um requisito para expandir as regras dos NSGs para permitir um acesso mais abrangente a estas camadas, pondere estes requisitos relativamente aos riscos de segurança.If you have a requirement to expand the NSG rules to allow broader access to these tiers, weigh these requirements against the security risks. Cada caminho de entrada novo representa uma oportunidade para danos na aplicação ou fuga de dados acidental ou propositada.Each new inbound pathway represents an opportunity for accidental or purposeful data leakage or application damage.

Acesso ao DevOpsDevOps access

Use o Azure RBAC para restringir as operações que os DevOps podem executar em cada nível.Use Azure RBAC to restrict the operations that DevOps can perform on each tier. Ao conceder permissões, utilize o princípio do menor privilégio.When granting permissions, use the principle of least privilege. Registe todas as operações administrativas e realize auditorias regulares para garantir que as alterações de configuração foram planeadas.Log all administrative operations and perform regular audits to ensure any configuration changes were planned.

Considerações de custosCost considerations

Utilize a calculadora de preços do Azure para prever os custos.Use the Azure pricing calculator to estimate costs. Outras considerações são descritas na secção Custo no Quadro de Well-Architected microsoft Azure.Other considerations are described in the Cost section in Microsoft Azure Well-Architected Framework.

Aqui estão considerações de custos para os serviços utilizados nesta arquitetura.Here are cost considerations for the services used in this architecture.

Azure FirewallAzure Firewall

Nesta arquitetura, o Azure Firewall é implantado na rede virtual para controlar o tráfego entre a sub-rede do gateway e a sub-rede em que o nível de aplicação funciona.In this architecture, Azure Firewall is deployed in the virtual network to control traffic between the gateway's subnet and the subnet in which the application tier runs. Desta forma, o Azure Firewall é rentável porque é usado como uma solução partilhada consumida por várias cargas de trabalho.In this way Azure Firewall is cost effective because it's used as a shared solution consumed by multiple workloads. Aqui estão os modelos de preços Azure Firewall:Here are the Azure Firewall pricing models:

  • Taxa fixa por hora de implantação.Fixed rate per deployment hour.
  • Dados processados por GB para suportar a escala automática.Data processed per GB to support auto scaling.

Quando comparado com os aparelhos virtuais de rede (NVAs), com o Azure Firewall pode economizar até 30-50%.When compared to network virtual appliances (NVAs), with Azure Firewall you can save up to 30-50%. Para mais informações consulte Azure Firewall vs NVA.For more information see Azure Firewall vs NVA.

Azure BastionAzure Bastion

O Azure Bastion liga-se seguramente à sua máquina virtual sobre RDP e SSH sem ter a necessidade de configurar um IP público na máquina virtual.Azure Bastion securely connects to your virtual machine over RDP and SSH without having the need to configure a public IP on the virtual machine.

A faturação de bastião é comparável a uma máquina virtual básica e de baixo nível configurada como uma caixa de salto.Bastion billing is comparable to a basic, low-level virtual machine configured as a jumpbox. Comparando Bastion com uma caixa de salto, Bastion é mais rentável tendo em conta as funcionalidades de segurança incorporadas da Bastion e sem custos adicionais incorridos para armazenamento e gestão de um servidor separado.Comparing Bastion to a jump box, Bastion is more cost effective considering Bastion's built-in security features and no extra costs incurred for storage and managing a separate server.

Rede Virtual do AzureAzure Virtual Network

A Rede Virtual do Azure é gratuita.Azure Virtual Network is free. Todas as subscrições podem criar até 50 redes virtuais em todas as regiões.Every subscription is allowed to create up to 50 virtual networks across all regions. Todo o tráfego que ocorre dentro dos limites de uma rede virtual é gratuito.All traffic that occurs within the boundaries of a virtual network is free. Portanto, se dois VMs que estão no mesmo VNET estão a falar um com o outro, então não ocorrerão acusações.So if two VMs that are in the same VNET are talking each other then no charges will occur.

Balanceador de carga internoInternal load balancer

O equilíbrio básico de carga entre máquinas virtuais que residem na mesma rede virtual é gratuito.Basic load balancing between virtual machines that reside in the same virtual network is free.

Nesta arquitetura, os equilibradores de carga internos são usados para carregar o tráfego de equilíbrio dentro de uma rede virtual.In this architecture, internal load balancers are used to load balance traffic inside a virtual network.

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 a /dmz/secure-vnet-hybrid pasta do repositório de referência GitHub.Navigate to the /dmz/secure-vnet-hybrid 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-hybrid.json --deploy
    

Ligue as entradas no local e a AzureConnect the on-premises and Azure gateways

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

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

  2. Encontre o recurso nomeado ra-vpn-vgw-pip e copie o endereço IP mostrado na lâmina de visão geral.Find the resource named ra-vpn-vgw-pip and copy the IP address shown in the Overview blade.

  3. Encontre o recurso onprem-vpn-lgw nomeado.Find the resource named onprem-vpn-lgw.

  4. Clique na lâmina de configuração.Click the Configuration blade. No endereço IP, cole no endereço IP a partir do passo 2.Under IP address, paste in the IP address from step 2.

    Screenshot do campo de endereço IP

  5. Clique em Guardar e aguarde que a operação esteja concluída.Click Save and wait for the operation to complete. Pode levar cerca de 5 minutos.It can take about 5 minutes.

  6. Encontre o recurso onprem-vpn-gateway1-pip nomeado.Find the resource named onprem-vpn-gateway1-pip. Copie o endereço IP mostrado na lâmina de visão geral.Copy the IP address shown in the Overview blade.

  7. Encontre o recurso ra-vpn-lgw nomeado.Find the resource named ra-vpn-lgw.

  8. Clique na lâmina de configuração.Click the Configuration blade. No endereço IP, cole no endereço IP a partir do passo 6.Under IP address, paste in the IP address from step 6.

  9. Clique em Guardar e aguarde que a operação esteja concluída.Click Save and wait for the operation to complete.

  10. Para verificar a ligação, aceda à lâmina 'Ligações' para cada porta de entrada.To verify the connection, go to the Connections blade for each gateway. O estado deve ser ligado.The status should be Connected.

Verifique se o tráfego de rede atinge o nível webVerify that network traffic reaches the web tier

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

  2. Encontre o recurso denominado fe-config1-web , que é o equilibrador de carga em frente ao nível web.Find the resource named fe-config1-web, which is the load balancer in front of web tier. Copie o endereço IP privado a partir da lâmina de visão geral.Copy the private IP address from the Overview blade.

  3. Encontre o VM jb-vm1 nomeado.Find the VM named jb-vm1. Este VM representa a rede no local.This VM represents the on-premises network. Clique em Ligar e utilizar o Ambiente de Trabalho Remoto para ligar ao VM.Click Connect and use Remote Desktop to connect to the VM. O nome de utilizador e a palavra-passe estão especificados no onprem.jsficheiro.The user name and password are specified in the onprem.json file.

  4. A partir da Sessão de Desktop Remota, abra um navegador web e navegue para o endereço IP a partir do passo 2.From the Remote Desktop Session, open a web browser and navigate to the IP address from step 2. Deve ver a página inicial do servidor Apache2 padrão.You should see the default Apache2 server home page.

Passos seguintesNext steps