Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
À medida que as organizações dependem cada vez mais do Serviço Kubernetes do Azure (AKS) para executar cargas de trabalho em contêineres, garantir a segurança do tráfego de rede entre aplicativos e serviços torna-se essencial, especialmente em ambientes regulamentados ou sensíveis à segurança. A criptografia em trânsito com o WireGuard protege os dados à medida que se movem entre pods e nós, reduzindo os riscos de intercetação ou adulteração. O WireGuard é conhecido por sua simplicidade e criptografia robusta, oferecendo uma solução poderosa para proteger a comunicação dentro de clusters AKS.
A criptografia WireGuard para AKS faz parte do conjunto de recursos Advanced Container Networking Services (ACNS) e sua implementação é baseada no Cilium.
Importante
Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões de teste do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
Escopo de criptografia do WireGuard
A criptografia em trânsito do WireGuard no AKS foi projetada para proteger fluxos de tráfego específicos dentro do cluster Kubernetes. Esta seção descreve quais tipos de tráfego são criptografados e quais não são suportados atualmente por meio do ACNS (Advanced Container Networking Services).
Fluxos de tráfego suportados/encriptados:
- Tráfego de pod entre nós: tráfego que sai de um pod de um nó destinado a um pod em outro nó.
Fluxos de tráfego não suportados/não encriptados
- Tráfego de pods do mesmo nó: tráfego entre pods no mesmo nó
- Tráfego de nó-rede: tráfego gerado pelo próprio nó para outro nó
Visão geral da arquitetura
A criptografia do WireGuard depende do Azure CNI potenciado por cilium para proteger as comunicações entre os nós dentro de um sistema distribuído. A arquitetura usa um agente WireGuard dedicado que orquestra o gerenciamento de chaves, a configuração da interface e as atualizações dinâmicas de pares. Esta secção tenta fornecer uma explicação detalhada
Agente WireGuard
Após a inicialização, o agente Cilium avalia sua configuração para determinar se a criptografia está habilitada. Quando o WireGuard é selecionado como o modo de criptografia, o agente inicializa um subsistema WireGuard dedicado. O agente wireguard é responsável por configurar e inicializar os componentes necessários para aplicar a criptografia do WireGuard.
Geração de chaves
Um requisito fundamental para proteger a comunicação é a geração de pares de chaves criptográficas. Cada nó no cluster do Kubernetes gerará automaticamente um par de chaves WireGuard exclusivo durante a fase de inicialização e distribuirá a sua chave pública por meio da anotação 'network.cilium.io/wg-pub-key' no objeto de recurso personalizado CiliumNode do Kubernetes. Os pares de chaves são armazenados na memória e rodados a cada 120 segundos. A chave privada serve como identidade confidencial do nó. A chave pública é compartilhada com os nós pares no cluster para decifrar e cifrar o tráfego de e para os endpoints geridos pelo Cilium em execução nesse nó. Essas chaves são gerenciadas inteiramente pelo Azure, não pelo cliente, garantindo um manuseio seguro e automatizado sem a necessidade de intervenção manual. Esse mecanismo garante que apenas nós com credenciais validadas possam participar da rede criptografada.
Criação de interfaces
Quando o processo de geração de chaves é concluído, o agente WireGuard configura uma interface de rede dedicada (cilium_wg0). Este processo envolve a criação e configuração da interface com a chave privada gerada anteriormente.
Comparação com criptografia de rede virtual
O Azure oferece várias opções para proteger o tráfego em trânsito no AKS, incluindo criptografia no nível da rede virtual e criptografia baseada no WireGuard. Embora ambas as abordagens melhorem a confidencialidade e a integridade do tráfego de rede, elas diferem em escopo, flexibilidade e requisitos de implantação. Esta secção ajuda-o a compreender quando utilizar cada solução.
Utilize a criptografia de redes virtuais quando
Você precisa de criptografia de camada de rede completa para todo o tráfego dentro da rede virtual: A criptografia de rede virtual garante que todo o tráfego, independentemente da carga de trabalho ou da camada de orquestração, seja automaticamente criptografado à medida que atravessa a Rede Virtual do Azure.
Você precisa de uma sobrecarga de desempenho mínima: A criptografia de rede virtual usa aceleração de hardware em SKUs de VM suportadas, descarregando a criptografia do sistema operacional para o hardware subjacente. Este design oferece alta taxa de transferência com baixo uso da CPU.
Todas as suas máquinas virtuais suportam encriptação de rede virtual: A criptografia de rede virtual depende de SKUs de VM que suportam a aceleração de hardware necessária. Se a sua infraestrutura consistir inteiramente em SKUs suportados, a criptografia de rede virtual pode ser perfeitamente habilitada.
As suas configurações de rede AKS suportam encriptação de rede virtual: A criptografia de rede virtual tem algumas limitações quando se trata de rede aks pod. Para obter mais informações, consulte Cenários suportados pela criptografia de rede virtual
Utilize a criptografia WireGuard quando
Você deseja garantir que o tráfego da sua aplicação seja criptografado através de todos os nós A criptografia em redes virtuais não criptografa o tráfego entre nós que estão no mesmo host físico.
Você deseja unificar a criptografia em ambientes multinuvem ou híbridos: O WireGuard oferece uma solução independente da nuvem, permitindo criptografia consistente entre clusters executados em diferentes provedores de nuvem ou no local.
Você não precisa ou deseja criptografar todo o tráfego dentro da rede virtual: O WireGuard permite uma estratégia de criptografia mais direcionada, ideal para proteger cargas de trabalho confidenciais sem incorrer na sobrecarga de criptografar todo o tráfego.
Algumas das suas SKUs de VM não suportam encriptação de rede virtual: O WireGuard é implementado em software e funciona independentemente do suporte de hardware de VM, tornando-se uma opção prática para ambientes heterogêneos.
Considerações & limitações
• O WireGuard não é compatível com FIPS . • A encriptação WireGuard não se aplica a pods que utilizam rede host (spec.hostNetwork: true) porque esses pods usam a identidade do host em vez de terem identidades individuais.
Importante
A criptografia WireGuard opera no nível do software, o que pode introduzir latência e afetar o desempenho da taxa de transferência. A extensão desse impacto depende de vários fatores, incluindo o tamanho da VM (SKU do nó), a configuração da rede e os padrões de tráfego do aplicativo. Nosso benchmarking indica que a taxa de transferência é limitada a 1,5 Gbps com uma MTU de 1500; no entanto, os resultados podem variar dependendo das características da carga de trabalho e da configuração do cluster. O uso de uma SKU que suporta MTU 3900 resultou em uma taxa de transferência aproximadamente 2,5x maior. Embora a criptografia do WireGuard possa ser usada junto com as políticas de rede, isso pode levar a uma degradação adicional do desempenho, com taxa de transferência reduzida e latência aumentada. Para aplicativos sensíveis à latência ou à taxa de transferência, é altamente recomendável avaliar primeiro o WireGuard em um ambiente que não seja de produção. Como sempre, os resultados podem variar com base nas características da carga de trabalho e na configuração do cluster.
Pricing
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 aplicar a criptografia WireGuard no AKS.
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?.