O que é Container Network Security?
A Segurança de Rede de Contêineres é uma oferta de Serviços Avançados de Rede de Contêineres que fornece controle aprimorado sobre o tráfego de rede entre contêineres. O Container Network Security aproveita as políticas baseadas no Cilium, oferecendo uma abordagem mais granular e fácil de usar para gerenciar a segurança da rede em comparação com os métodos tradicionais baseados em IP.
Características do Container Network Security
A partir de hoje, o primeiro recurso disponível no Container Network Security é a filtragem FQDN. Isso permite que você defina políticas de segurança de rede com base em nomes de domínio, fornecendo uma abordagem mais granular e amigável para gerenciar o tráfego de rede.
Visão geral da filtragem FQDN
Os ambientes em contentores apresentam desafios de segurança únicos. Os métodos tradicionais de segurança de rede, muitas vezes dependentes da filtragem baseada em IP, podem tornar-se complicados e menos eficazes à medida que os endereços IP mudam frequentemente. Além disso, compreender os padrões de tráfego de rede e identificar ameaças potenciais pode ser complexo.
A filtragem FQDN oferece uma abordagem eficiente e fácil de usar para gerenciar políticas de rede. Ao definir essas políticas com base em nomes de domínio em vez de endereços IP, as organizações podem simplificar significativamente o processo de gerenciamento de políticas. Essa abordagem elimina a necessidade de atualizações frequentes que normalmente são necessárias quando os endereços IP mudam, reduzindo assim a carga administrativa e minimizando o risco de erros de configuração.
Em um cluster Kubernetes, os endereços IP do pod podem mudar com frequência, o que torna difícil proteger os pods com políticas de segurança usando endereços IP. A filtragem FQDN permite criar políticas de nível pod usando nomes de domínio em vez de endereços IP, o que elimina a necessidade de atualizar políticas quando um endereço IP é alterado.
Nota
O Azure CNI Powered by Cilium e Kubernetes versão 1.29 ou superior é necessário para usar os recursos de segurança de Rede de Contêiner dos Serviços Avançados de Rede de Contêiner.
Componentes da filtragem FQDN
Cilium Agent: O Cilium Agent é um componente de rede crítico que é executado como um DaemonSet dentro de clusters CNI do Azure alimentados pela Cilium. Ele lida com rede, balanceamento de carga e políticas de rede para pods no cluster. Para pods com políticas FQDN impostas, o Cilium Agent redireciona pacotes para o ACNS Security Agent for DNS resolution e atualiza a diretiva de rede usando os mapeamentos FQDN-IP obtidos do ACNS Security Agent.
Agente de Segurança do ACNS: o Agente de Segurança do ACNS é executado como DaemonSet no Azure CNI com tecnologia de cluster Cilium com serviços de Rede de Contêiner Avançado habilitados. Ele lida com a resolução DNS para pods e, na resolução DNS bem-sucedida, atualiza o Cilium Agent com FQDN para mapeamentos IP.
Como funciona a filtragem FQDN
Quando a Filtragem FQDN está habilitada, as solicitações DNS são primeiro avaliadas para determinar se devem ser permitidas, após o que os pods só podem acessar nomes de domínio especificados com base na diretiva de rede. O Cilium Agent marca os pacotes de solicitação DNS originários dos pods, redirecionando-os para o Agente de Segurança do ACNS. Esse redirecionamento ocorre apenas para pods que estão aplicando políticas FQDN.
Em seguida, o Agente de Segurança do ACNS decide se encaminha uma solicitação DNS para o servidor DNS com base nos critérios de política. Se permitido, a solicitação é enviada ao servidor DNS e, ao receber a resposta, o Agente de Segurança do ACNS atualiza o Cilium Agent com mapeamentos FQDN. Isso permite que o Cilium Agent atualize a diretiva de rede dentro do mecanismo de política. A imagem a seguir ilustra o fluxo de alto nível da Filtragem FQDN.
Principais benefícios
Gerenciamento escalável de políticas de segurança: os administradores de cluster e segurança não precisam atualizar as políticas de segurança sempre que um endereço IP é alterado, tornando as operações mais eficientes.
Conformidade de segurança aprimorada: a filtragem FQDN suporta um modelo de segurança Zero Trust. O tráfego de rede é restrito apenas a domínios confiáveis, reduzindo os riscos de acesso não autorizado.
Aplicação de políticas resilientes: o Agente de Segurança ACNS implementado com filtragem FQDN garante que a resolução DNS continue sem problemas, mesmo que o agente Cilium fique inativo e as políticas continuem a ser aplicadas. Essa implementação garante criticamente que a segurança e a estabilidade sejam mantidas em ambientes dinâmicos e distribuídos.
Considerações:
- Os recursos de Segurança de Rede de Contêiner exigem o Azure CNI Powered by Cilium e Kubernetes versão 1.29 e superior.
Limitações:
- As políticas FQDN curinga são parcialmente suportadas. Isso significa que você pode criar políticas que correspondam a padrões específicos com um curinga à esquerda (por exemplo, .example.com), mas não pode usar um curinga universal () para corresponder a todos os domínios no campo
spec.egress.toPorts.rules.dns.matchPattern
Padrão suportado:
*.example.com
- Isso permite o tráfego para todos os subdomínios sob example.com.Padrão não suportado
*
Isso tenta corresponder a qualquer nome de domínio, que não é suportado.
- Atualmente, a filtragem FQDN não é suportada com o DNS local do nó.
- A pilha dupla não é suportada.
- Não há suporte para nomes de serviço do Kubernetes.
- Outras políticas L7 não são suportadas.
- Os pods FQDN podem apresentar degradação de desempenho ao lidar com mais de 1000 solicitações por segundo.
- As imagens de contêiner baseadas em Alpine podem encontrar problemas de resolução de DNS quando usadas com as Diretivas de Rede da Cilium. Isto é devido à iteração de domínio de pesquisa limitada do musl libc. Para contornar isso, defina explicitamente todos os domínios de pesquisa nas regras DNS da Diretiva de Rede usando padrões curinga, como o exemplo abaixo
rules:
dns:
- matchPattern: "*.example.com"
- matchPattern: "*.example.com.*.*"
- matchPattern: "*.example.com.*.*.*"
- matchPattern: "*.example.com.*.*.*.*"
- matchPattern: "*.example.com.*.*.*.*.*"
- toFQDNs:
- matchPattern: "*.example.com"
Preços
Importante
Advanced Container Networking Services é uma oferta paga. Para obter mais informações sobre preços, consulte Advanced Container Networking Services - Pricing.
Próximos passos
Saiba como ativar o Container Network Security no AKS.
Explore como a comunidade de código aberto cria as Políticas de Rede da Cilium.
Para obter mais informações sobre os Serviços Avançados de Rede de Contêiner para o Serviço Kubernetes do Azure (AKS), consulte O que é Serviços Avançados de Rede de Contêiner para o Serviço Kubernetes do Azure (AKS)?.
Explore os recursos de Observabilidade de Rede de Contêiner em Serviços Avançados de Rede de Contêiner em O que é Observabilidade de Rede de Contêiner?.
Azure Kubernetes Service