Protegendo uma VNET personalizada em Aplicativos de Contêiner do Azure com Grupos de Segurança de Rede
Os NSGs (grupos de segurança de rede) necessários para configurar redes virtuais se assemelham muito às configurações exigidas pelo Kubernetes.
Você pode bloquear uma rede por meio de NSGs com regras mais restritivas do que as regras padrão do NSG para controlar todo o tráfego de entrada e saída para o ambiente de Aplicativos de Contêiner no nível da assinatura.
No ambiente de perfis de carga de trabalho, há suporte para rotas definidas pelo usuário (UDRs) e 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 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 não há suporte para o bloqueio do tráfego de entrada por meio do NSG ou do Firewall em um ambiente de perfis de carga de trabalho externo. Para obter mais informações, consulte Rede em ambientes de Aplicativos de Contêiner do Azure.
No ambiente Somente consumo, não há suporte para rotas expressas e UDRs (rotas definidas pelo usuário) personalizadas têm suporte limitado. Para obter mais detalhes sobre qual nível de suporte a UDR está disponível no ambiente somente de consumo, consulte as perguntas frequentes.
Regras de permissão do NSG
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.
Entrada
Observação
Ao usar perfis de carga de trabalho, as regras de NSG de entrada só se aplicam ao tráfego que passa pela rede virtual. Se os aplicativos de contêiner estiverem definidos para aceitar o 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 | Descrição |
---|---|---|---|---|---|
TCP | Seus IPs de cliente | * | Sub-rede1 do aplicativo de contêiner | 80 , 31080 |
Permita que os IPs do 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 | Seus IPs de cliente | * | Sub-rede1 do 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 aplicativo de contêiner | 30000-32767 2 |
Permitir que o Azure Load Balancer investigue 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, pois uma porta dentro do intervalo será alocada dinamicamente. Depois de criadas, as portas necessárias são dois valores estáticos imutáveis e você pode atualizar suas regras de NSG.
Saída
Protocolo | Origem | Portas de origem | Destino | Portas de destino | Descrição |
---|---|---|---|---|---|
TCP | A sub-rede do aplicativo de contêiner | * | MicrosoftContainerRegistry |
443 |
Essa é a marca de serviço do registro de contêiner da Microsoft para contêineres do sistema. |
TCP | A sub-rede do aplicativo de contêiner | * | AzureFrontDoor.FirstParty |
443 |
Essa é uma dependência da MicrosoftContainerRegistry marca de serviço. |
Algum | A sub-rede do aplicativo de contêiner | * | A sub-rede do aplicativo de contêiner | * | Permita a comunicação entre IPs na sub-rede do aplicativo de contêiner. |
TCP | A sub-rede do aplicativo de contêiner | * | AzureActiveDirectory |
443 |
Se você estiver usando a identidade gerenciada, isso será necessário. |
TCP | A sub-rede do aplicativo de contêiner | * | AzureMonitor |
443 |
Necessário apenas ao usar o Azure Monitor. Permite chamadas de saída ao Azure Monitor. |
TCP e UDP | A sub-rede do 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 | Sub-rede1 do aplicativo de contêiner | * | Seu registro de contêiner | A porta do registro de contêiner | Isso é necessário para se comunicar com o registro de contêiner. Por exemplo, ao usar o ACR, você precisa AzureContainerRegistry e AzureActiveDirectory para o destino, e a porta será a porta do registro de contêiner, a menos que esteja usando pontos de extremidade privados.2 |
TCP | A sub-rede do aplicativo de contêiner | * | Storage.<Region> |
443 |
Necessário apenas 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 você estiver usando o ACR (Registro de Contêiner do Azure) com NSGs configurados em sua rede virtual, crie um ponto de extremidade privado em seu ACR para permitir que os Aplicativos de Contêiner do Azure efetuem pull de imagens por meio da rede virtual. Você não precisa 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 as portas
80
e443
. - Não negue explicitamente o endereço
168.63.129.16
DNS do Azure nas regras de NSG de saída ou seu ambiente de Aplicativos de Contêiner não poderá funcionar.