Implementação de padrões para entrada segura de rede
A entrada segura de rede encapsula vários padrões de design, incluindo os padrões de roteamento global, descarregamento global e monitoramento de ponto final de integridade. Você pode usar a implementação de padrão neste artigo como um gateway para qualquer carga de trabalho HTTP ou HTTPS que exija alta disponibilidade ou confiabilidade, fornecendo roteamento global seguro para cargas de trabalho em diferentes regiões com failover de baixa latência.
Vídeo: Implementação de entrada segura de rede
Requisitos de padrão
Este artigo descreve três requisitos nos quais a implementação de padrão para entrada segura de rede se concentra: roteamento global, failover de baixa latência e mitigação de ataques na borda.
Roteamento global
O padrão de entrada segura de rede encapsula o padrão de roteamento global. Como tal, a implementação pode encaminhar solicitações para cargas de trabalho em diferentes regiões.
Failover de baixa latência
A implementação deve ser capaz de identificar cargas de trabalho saudáveis e não íntegras e ajustar o roteamento de acordo com o tempo. A latência deve ser capaz de suportar o ajuste do roteamento em questão de minutos.
Mitigação de ataques na borda
A mitigação de ataques na borda requer a parte "segura da rede" da implementação. As cargas de trabalho ou os serviços de plataforma como serviço (PaaS) não devem ser acessíveis através da Internet. O tráfego da Internet só deve poder ser encaminhado através do gateway. O portal deve ter a capacidade de atenuar as explorações.
Padrões
Esta solução implementa os seguintes padrões de design:
- Padrão de roteamento de gateway: roteie solicitações para vários serviços ou instâncias de serviço que podem residir em regiões diferentes.
- Padrão de descarregamento de gateway: funcionalidade de descarregamento, como mitigação de ataques, para um proxy de gateway.
- Padrão de monitoramento de ponto de extremidade de integridade: exponha pontos de extremidade que validam a integridade da carga de trabalho.
Estruturar
O diagrama mostra uma solicitação HTTPS fluindo para uma caixa Premium do Azure Front Door, que tem um firewall de aplicativo Web. Isso ilustra a integração entre o Azure Front Door Premium e o Azure Web Application Firewall. Em seguida, o diagrama mostra a solicitação fluindo através do Private Link para dois carimbos em regiões diferentes. Cada selo tem um site estático e um balanceador de carga interno. As solicitações fluem através do Private Link para os sites estáticos e os balanceadores de carga em ambos os selos.
Esta implementação inclui os seguintes detalhes:
- Ele usa contas de Armazenamento de Blob do Azure para simular cargas de trabalho da Web estáticas em execução em duas regiões. Essa implementação não inclui nenhuma carga de trabalho executada atrás de um ILB (balanceador de carga interno). O diagrama mostra um ILB para ilustrar que essa implementação funcionaria para cargas de trabalho privadas executadas atrás de um ILB.
- Ele usa a camada Premium do Azure Front Door como o gateway global.
- A instância do Azure Front Door tem uma política global de firewall de aplicativo Web (WAF) configurada com regras gerenciadas que ajudam a proteger contra explorações comuns.
- As contas de armazenamento não são expostas pela Internet.
- A camada Premium do Azure Front Door acessa as contas de armazenamento por meio do Azure Private Link.
- A instância do Azure Front Door tem a seguinte configuração de alto nível:
- Um ponto de extremidade com uma única rota que aponta para um único grupo de origem. Um grupo de origem é uma coleção de origens ou back-ends.
- O grupo de origem tem uma origem configurada para apontar para cada conta de armazenamento.
- Cada origem solicita acesso de Link Privado à conta de armazenamento.
- O grupo de origem tem testes de integridade configurados para acessar uma página HTML nas contas de armazenamento. A página HTML está atuando como o ponto de extremidade de integridade para as cargas de trabalho estáticas. Se as sondas conseguirem acessar com sucesso a origem em três das últimas quatro tentativas, a origem será considerada saudável.
Componentes
Pedido Web
- Firewall de Aplicativo Web do Azure: a camada Premium do Firewall de Aplicativo Web oferece suporte a regras gerenciadas pela Microsoft que ajudam a proteger contra explorações comuns.
- Azure Private Link: Pontos de extremidade privados no Azure Private Link expõem um serviço PaaS do Azure a um endereço IP privado em uma rede virtual. Essa exposição permite que a comunicação flua através da rede de backbone da Microsoft e não na Internet pública.
- Camada Premium do Azure Front Door: o Azure Front Door fornece balanceamento de carga global da Camada 7. O Azure Front Door tem integração com o Web Application Firewall. O nível Premium suporta:
- Azure Private Link: O suporte de Link Privado permite que o Azure Front Door se comunique com serviços PaaS ou cargas de trabalho em execução em uma rede virtual privada pela rede de backbone da Microsoft.
- Conjuntos de regras gerenciados pela Microsoft: a camada premium do Azure Front Door dá suporte à camada premium do Web Application Firewall, que dá suporte ao conjunto de regras gerenciadas no WAF.
- Armazenamento do Azure: essa implementação usa contas de Armazenamento de Blob para representar um site estático ou uma carga de trabalho.
- Balanceador de carga interno: esta implementação não usa o balanceador de carga interno. Ele é retratado para representar uma carga de trabalho privada executada atrás desse balanceador de carga. O roteamento para a conta de armazenamento é o mesmo que seria para balanceadores de carga.
Operações
Proteger recursos de uma perspetiva de rede ajuda a proteger contra exploits, mas também isola os recursos de processos ou administradores que podem precisar acessar esses recursos. Por exemplo, um agente de compilação em um pipeline de DevOps pode precisar acessar a conta de armazenamento para implantar uma atualização no aplicativo Web. Além disso, um administrador pode precisar acessar o recurso para fins de solução de problemas.
Para ilustrar o fornecimento de acesso seguro à rede para fins operacionais, essa implementação implanta uma máquina virtual (VM) em uma rede virtual que tem acesso de Link Privado às contas de armazenamento. Essa implementação implanta o Azure Bastion, que o administrador pode usar para se conectar à VM. Para o cenário de implantação, um agente de compilação privado poderia ser implantado na rede virtual, semelhante a como a VM era.
Aqui estão os detalhes sobre os componentes para operações:
- Rede Virtual do Azure: esta implementação utiliza a rede virtual para conter os componentes necessários para que um administrador comunique de forma segura com a conta de armazenamento através da rede de backbone privada da Microsoft.
- Máquinas Virtuais do Azure: esta implementação usa uma VM como uma caixa de salto à qual os administradores se conectarem. A VM é implantada na rede virtual privada.
- Azure Bastion: o Azure Bastion permite que o administrador se conecte com segurança à VM de jumpbox sobre Secure Shell (SSH) sem exigir que a VM tenha um endereço IP público.
- Ponto de extremidade de link privado: o ponto de extremidade privado recebe um endereço IP privado da rede virtual e se conecta ao serviço PaaS da conta de armazenamento. Esta ligação permite que os recursos na rede virtual privada comuniquem com a conta de armazenamento através do endereço IP privado.
- Zona DNS privada do Azure: A zona DNS privada do Azure é um serviço DNS usado para resolver o nome do host do Link Privado da conta de armazenamento do Azure para o endereço IP privado do ponto de extremidade privado.
Fluxo de solicitações da Web
O diagrama mostra um usuário fazendo uma solicitação da Web para o Azure Front Door. Na caixa Porta da Frente do Azure, o diagrama mostra cada uma das etapas do fluxo de roteamento da Porta da Frente do Azure. Destacado no fluxo é a etapa onde as regras WAF são avaliadas, onde a rota da Porta da Frente do Azure é correspondida e um grupo de origem é selecionado, e onde a origem é selecionada do grupo de origem. A última parte destacada é onde o Azure Front Door se conecta à conta de Armazenamento de Blob do Azure por meio do Private Link.
O usuário emite uma solicitação HTTP ou HTTPS para um ponto de extremidade da Porta da Frente do Azure.
As regras do WAF são avaliadas. As regras que correspondem são sempre registadas. Se o modo de política WAF do Azure Front Door estiver definido como prevenção e a regra de correspondência tiver uma ação definida para bloquear em caso de anomalia, a solicitação será bloqueada. Caso contrário, a solicitação continua ou é redirecionada, ou as regras subsequentes são avaliadas.
A rota configurada no Azure Front Door é correspondida e o grupo de origem correto é selecionado. Neste exemplo, o caminho era para o conteúdo estático no site.
A origem é selecionada a partir do grupo de origem.
a. Neste exemplo, as sondas de saúde consideraram o site insalubre, por isso é eliminado das possíveis origens.
b. Este site está selecionado.A solicitação é roteada para a conta de armazenamento do Azure por meio do Private Link pela rede de backbone da Microsoft.
Para obter mais informações sobre a arquitetura de roteamento do Azure Front Door, consulte Visão geral da arquitetura de roteamento.
Fluxo operacional
O diagrama tem três partes. A primeira parte mostra o Armazenamento de Blobs do Azure atuando como um site estático. O Azure Front Door se conecta por meio do Private Link à conta de armazenamento. A segunda parte é uma caixa que representa uma rede virtual. A rede virtual tem sub-redes e seus conteúdos. Essas sub-redes incluem uma sub-rede de ponto de extremidade privada que contém um ponto de extremidade de Link Privado com um endereço IP de 10.0.2.5, uma sub-rede jumpbox com uma máquina virtual jumpbox e uma sub-rede do Azure Bastion com o Azure Bastion nela. A terceira parte é um usuário administrativo que está usando SSH para acessar a VM jumpbox na rede virtual por meio do Azure Bastion. Uma seta vai da VM para a zona DNS privada do Azure. A última seta vai da VM para o ponto de extremidade de link privado e, em seguida, para a conta de armazenamento.
Um administrador se conecta à instância do Azure Bastion implantada na rede virtual.
O Azure Bastion fornece conectividade SSH para a VM jumpbox.
O administrador na jumpbox tenta acessar a conta de armazenamento por meio da CLI do Azure. A jumpbox consulta o DNS para o ponto de extremidade público da conta de Armazenamento de Blobs do Azure:
storageaccountname.blob.core.windows.net
.Em última análise, o DNS privado resolve para
storageaccountname.privatelink.blob.core.windows.net
. Ele retorna o endereço IP privado do ponto de extremidade Private Link, que é 10.0.2.5 neste exemplo.Uma conexão privada com a conta de armazenamento é estabelecida por meio do ponto de extremidade Private Link.
Considerações
Tenha em mente os seguintes pontos ao usar esta solução.
Fiabilidade
A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Visão geral do pilar de confiabilidade.
Este cenário aborda os seguintes pontos-chave sobre confiabilidade:
- O roteamento global com baixa latência, por meio do uso de sondas de integridade, permite a confiabilidade isolando o aplicativo contra interrupções regionais.
- O Firewall de Aplicativo Web no Azure Front Door fornece proteção centralizada para solicitações HTTP e HTTPS.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.
Este cenário aborda os seguintes pontos-chave sobre segurança:
- O suporte de Link Privado no Azure Front Door Premium elimina a necessidade de expor seus serviços internos ou PaaS pela Internet. O Private Link permite que o Azure Front Door se comunique com seus serviços privados ou serviços PaaS pela rede de backbone da Microsoft.
- O Firewall de Aplicativo Web no Azure Front Door fornece proteção centralizada para solicitações HTTP e HTTPS.
- As regras gerenciadas no Web Application Firewall Premium são regras gerenciadas pela Microsoft que ajudam a protegê-lo contra um conjunto comum de ameaças à segurança.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.
Embora o Azure Front Door Premium e o Web Application Firewall Premium forneçam recursos avançados de segurança na camada Standard, há um custo adicional para ambos. Analise os seguintes recursos para saber mais sobre os preços do Azure Front Door e do Web Application Firewall:
Excelência operacional
A excelência operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.
A implementação de limites de segurança de rede adiciona complexidade às operações e à implantação. Tenha em consideração estes pontos:
- Os intervalos de IP para agentes hospedados pela Microsoft variam ao longo do tempo. Considere a implementação de agentes auto-hospedados em sua rede virtual.
- Implemente o Azure Bastion para cenários em que as equipes de operações precisam acessar recursos seguros de rede.
- O uso do Firewall de Aplicativo Web na Porta da Frente do Azure para fornecer proteção centralizada para solicitações HTTP e HTTPS é um exemplo do padrão de descarregamento de gateway. A responsabilidade de examinar solicitações de exploits é transferida para o Web Application Firewall no Azure Front Door. O benefício de uma perspetiva de excelência operacional é que você precisa gerenciar as regras em apenas um lugar.
Importante
O exemplo de entrada segura de rede permite que você implante todos os recursos necessários para se conectar a uma jumpbox por meio do Azure Bastion e se conectar a uma VM segura de rede.
Eficiência de desempenho
A eficiência de desempenho é a capacidade da sua carga de trabalho de ser dimensionada para atender às demandas que os usuários colocam nela. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.
O roteamento global permite o dimensionamento horizontal por meio da implantação de mais recursos na mesma região ou em regiões diferentes.
Próximos passos
- Implante essa implementação seguindo as etapas descritas no exemplo de entrada segura de rede.