Protegendo uma VNET personalizada em Aplicativos de Contêiner do Azure com Grupos de Segurança de Rede
Os NSGs (Network Security Groups) necessários para configurar redes virtuais se assemelham muito às configurações exigidas pelo Kubernetes.
Você pode bloquear uma rede via NSGs com regras mais restritivas do que as regras NSG padrão para controlar todo o tráfego de entrada e saída para o ambiente de Aplicativos de Contêiner no nível de assinatura.
No ambiente de perfis de carga de trabalho, há suporte para rotas definidas pelo usuário (UDRs) e a proteção do tráfego de saída com um firewall . Ao usar um ambiente de perfis de carga de trabalho externo, o tráfego de entrada para os Aplicativos de Contêiner do Azure é roteado por meio do IP público que existe no grupo de recursos gerenciados, em vez de por meio de sua sub-rede. Isso significa que o bloqueio do tráfego de entrada via NSG ou Firewall em um ambiente de perfis de carga de trabalho externos não é suportado. Para obter mais informações, consulte Rede em ambientes de Aplicativos de Contêiner do Azure.
No ambiente Somente consumo, rotas expressas não são suportadas e rotas personalizadas definidas pelo usuário (UDRs) têm suporte limitado. Para obter mais detalhes sobre o nível de suporte UDR disponível no ambiente Somente consumo, consulte as Perguntas frequentes.
NSG permitir regras
As tabelas a seguir descrevem como configurar uma coleção de regras de permissão do NSG. As regras específicas necessárias dependem do seu tipo de ambiente.
Interna
Nota
Ao usar perfis de carga de trabalho, as regras NSG de entrada só se aplicam ao tráfego que passa pela sua rede virtual. Se seus aplicativos de contêiner estiverem definidos para aceitar tráfego da Internet pública, o tráfego de entrada passará pelo ponto de extremidade público em vez da rede virtual.
Protocolo | Origem | Portas de origem | Destino | Portas de destino | Description |
---|---|---|---|---|---|
TCP | Os IPs do seu cliente | * | A sub-rede1 do seu aplicativo de contêiner | 80 , 31080 |
Permita que seus IPs de Cliente acessem os Aplicativos de Contêiner do Azure ao usar HTTP. 31080 é a porta na qual o Proxy de Borda do Ambiente de Aplicativos de Contêiner responde ao tráfego HTTP. Ele está atrás do balanceador de carga interno. |
TCP | Os IPs do seu cliente | * | A sub-rede1 do seu aplicativo de contêiner | 443 , 31443 |
Permita que seus IPs de Cliente acessem os Aplicativos de Contêiner do Azure ao usar HTTPS. 31443 é a porta na qual o Proxy de Borda do Ambiente de Aplicativos de Contêiner responde ao tráfego HTTPS. Ele está atrás do balanceador de carga interno. |
TCP | AzureLoadBalancer | * | A sub-rede do seu aplicativo de contêiner | 30000-32767 2 |
Permita que o Azure Load Balancer sonde pools de back-end. |
1 Esse endereço é passado como um parâmetro quando você cria um ambiente. Por exemplo, 10.0.0.0/21
.
2 O intervalo completo é necessário ao criar seus Aplicativos de Contêiner do Azure como uma porta dentro do intervalo será alocada dinamicamente. Uma vez criadas, as portas necessárias são dois valores estáticos imutáveis e você pode atualizar suas regras NSG.
De Saída
Protocolo | Origem | Portas de origem | Destino | Portas de destino | Description |
---|---|---|---|---|---|
TCP | A sub-rede do seu aplicativo de contêiner | * | MicrosoftContainerRegistry |
443 |
Esta é a marca de serviço para o registro de contêiner da Microsoft para contêineres do sistema. |
TCP | A sub-rede do seu aplicativo de contêiner | * | AzureFrontDoor.FirstParty |
443 |
Esta é uma dependência da MicrosoftContainerRegistry etiqueta de serviço. |
Qualquer | A sub-rede do seu aplicativo de contêiner | * | A sub-rede do seu aplicativo de contêiner | * | Permita a comunicação entre IPs na sub-rede do seu aplicativo de contêiner. |
TCP | A sub-rede do seu aplicativo de contêiner | * | AzureActiveDirectory |
443 |
Se você estiver usando a identidade gerenciada, isso é necessário. |
TCP | A sub-rede do seu aplicativo de contêiner | * | AzureMonitor |
443 |
Necessário apenas ao usar o Azure Monitor. Permite chamadas de saída para o Azure Monitor. |
TCP e UDP | A sub-rede do seu aplicativo de contêiner | * | 168.63.129.16 |
53 |
Permite que o ambiente use o DNS do Azure para resolver o nome do host. |
TCP | A sub-rede1 do seu aplicativo de contêiner | * | O seu Registo de Contentores | A porta do seu registo de contentores | Isso é necessário para se comunicar com o registro do contêiner. Por exemplo, ao usar o ACR, você precisa AzureContainerRegistry e AzureActiveDirectory para o destino, e a porta será a porta do seu registro de contêiner, a menos que use pontos de extremidade privados.2 |
TCP | A sub-rede do seu aplicativo de contêiner | * | Storage.<Region> |
443 |
Apenas necessário ao usar Azure Container Registry para hospedar suas imagens. |
1 Esse endereço é passado como um parâmetro quando você cria um ambiente. Por exemplo, 10.0.0.0/21
.
2 Se estiver a utilizar o Azure Container Registry (ACR) com NSGs configurados na sua rede virtual, crie um ponto de extremidade privado no seu ACR para permitir que as Aplicações de Contentor do Azure extraiam imagens através da rede virtual. Não é necessário adicionar uma regra NSG para ACR quando configurado com pontos de extremidade privados.
Considerações
- Se você estiver executando servidores HTTP, talvez seja necessário adicionar portas
80
e443
. - Não negue explicitamente o endereço
168.63.129.16
DNS do Azure nas regras NSG de saída, ou seu ambiente de Aplicativos de Contêiner não poderá funcionar.