O que é Segurança de rede de contêiner?
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. A Segurança de Rede de Contêiner aproveita as políticas baseadas em Cilium, oferecendo uma abordagem mais granular e amigável para gerenciar a segurança de rede em comparação com os métodos tradicionais baseados em IP.
Recursos da Segurança da Rede de Contêineres
A partir de hoje, o primeiro recurso disponível na Segurança de Rede de Contêiner é a filtragem de 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 de FQDN
Ambientes conteinerizados apresentam desafios de segurança únicos. Métodos tradicionais de segurança de rede, geralmente dependentes da filtragem baseada em IP, podem se tornar complicados e menos eficazes uma vez que os endereços IP mudam com frequência. Além disso, entender os padrões de tráfego de rede e identificar possíveis ameaças pode ser uma tarefa complexa.
A filtragem de FQDN oferece uma abordagem eficiente e amigável 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 são alterados, tendo como resultado a redução da carga administrativa e a diminuição do risco de erros de configuração.
Em um cluster do Kubernetes, os endereços IP do pod podem ser alterados com frequência, o que torna desafiador proteger os pods com políticas de segurança usando endereços IP. A filtragem de FQDN permite que você crie políticas no 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.
Observação
A CNI do Azure da plataforma Cilium e a versão 1.29 do Kubernetes ou superior são necessários para usar os recursos de segurança de Rede de Contêiner dos serviços avançados de rede de contêineres como a filtragem de FQDN.
Componentes da filtragem de FQDN
Agente Cilium: O Agente Cilium é um componente de rede crítico que é executado como um DaemonSet em clusters de CNI do Azure da plataforma Cilium. Ele lida com políticas de rede, balanceamento de carga e políticas de rede para pods no cluster. Para pods com políticas de FQDN impostas, o Agente Cilium redireciona pacotes para o Agente de Segurança ACNS para resolução DNS e atualiza a política de rede usando os mapeamentos FQDN-IP obtidos do Agente de Segurança ACNS.
Agente de Segurança ACNS: o Agente de Segurança ACNS é executado como DaemonSet no CNI do Azure alimentado pelo cluster Cilium com os serviços avançados de rede de contêiner habilitados. Ele lida com a resolução do DNS para pods e, se a resolução DNS for bem-sucedida, atualiza o Agente Cilium com FQDN para mapeamentos de IP.
Como funciona a filtragem de FQDN
Quando a Filtragem de FQDN está habilitada, as solicitações DNS são avaliadas primeiro para determinar se elas devem ser permitidas, após o que os pods só poderão acessar nomes de domínio especificados com base na política de rede. O Agente Cilium marca os pacotes de solicitação DNS provenientes dos pods, redirecionando-os para o Agente de Segurança ACNS. Esse redirecionamento ocorre apenas para pods que estão aplicando políticas FQDN.
Em seguida, o Agente de Segurança ACNS decide se deseja encaminhar uma solicitação DNS para o servidor DNS com base nos critérios da política. Se a política permitir, a solicitação é enviada para o servidor DNS e, ao receber a resposta, o Agente de Segurança ACNS atualiza o Agente Cilium com mapeamentos FQDN. Isso permite que o Agente do Cilium atualize a política de rede dentro do mecanismo de política. A imagem a seguir ilustra o fluxo de alto nível da Filtragem de FQDN.
Principais benefícios
Gerenciamento escalonável de política 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 de FQDN dá suporte a um modelo de segurança de Confiança Zero. O tráfego de rede é restrito a domínios confiáveis, mitigando apenas os riscos do acesso não autorizado.
Imposição de política resiliente: o Agente de Segurança ACNS implementado com a filtragem do FQDN garante que a resolução DNS continue a funcionar perfeitamente mesmo se o agente Cilium falhar e as políticas continuarem a ser impostas. Essa implementação garante de forma crítica 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 CNI do Azure alimentado pelo Cilium e pelo Kubernetes versão 1.29 e superior.
Limitações:
- As políticas de FQDN curinga têm suporte parcial. 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 com Suporte:
*.example.com
- Isso permite o tráfego para todos os subdomínios em example.com.Padrão sem Suporte
*
Isso tenta corresponder a qualquer nome de domínio, o que não tem suporte.
- Atualmente, não há suporte para filtragem de FQDN com DNS local de nó.
- Não há suporte para pilha dual.
- Não há suporte para nomes de serviço do Kubernetes.
- Outras políticas L7 não têm suporte.
- Os pods FQDN podem apresentar degradação de desempenho ao lidar com mais de 1.000 solicitações por segundo.
- As imagens de contêiner baseadas em alpina podem encontrar problemas de resolução de DNS quando usadas com Políticas de Rede Cilium. Isso ocorre 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 Política 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
Os Serviços Avançados de Rede de Contêineres são uma oferta paga. Para obter mais informações sobre o preço, consulte Serviços Avançados de Rede de Contêineres – Preço.
Próximas etapas
Saiba como habilitar a Segurança de Rede de Contêiner no AKS.
Explore como a comunidade de software livre cria as Políticas de rede do Cilium.
Para obter mais informações sobre os Serviços Avançados de Rede de Contêineres para o AKS (Serviço de Kubernetes do Azure), consulte O que são serviços avançados de rede de contêineres para o AKS (Serviço de Kubernetes do Azure)?.
Explore os recursos de Observabilidade de Rede do Contêiner nos serviços avançados de rede de contêineres em O que é Observabilidade de Rede do Contêiner?
Azure Kubernetes Service