Cloud

Proteja o Azure Kubernetes com recursos avançados de rede para contêineres.

A Microsoft inclui recursos de segurança e monitoramento de código aberto em sua plataforma de nuvem gerenciada nativa.

man monitoring network security
Imagem: stephmcblack/Burst

A AKS inicialmente focava nos fundamentos da operação do Kubernetes, porém, com o crescimento da plataforma, os usuários passaram a demandar serviços mais avançados para obter insights mais detalhados sobre as aplicações e garantir uma segurança mais sofisticada, tudo isso de forma mais eficiente. A modularidade do Kubernetes é útil nesse sentido, permitindo o uso de sidecars e malhas de serviço para ampliar a plataforma e incluir funcionalidades adicionais sem a necessidade de modificar as aplicações existentes.

Apresentação inicial.

O Advanced Container Networking Services (ACNS) combina ferramentas de código aberto para melhorar a observação e segurança no AKS. A Microsoft simplifica a configuração, facilitando a integração de ferramentas como Grafana e Prometheus com nós habilitados para Cilium, utilizando Hubble e eBPF para uma integração mais profunda com os sistemas de hospedagem de contêineres subjacentes. Como opção, é possível construir nós em torno da ferramenta de observação Retina Kubernetes da Microsoft.

Atualmente, a ferramenta oferece suporte a dois serviços interligados: Advanced Network Observability e um novo serviço de filtragem Fully Qualified Domain Name (FQDN) com um proxy DNS correspondente. Ambos utilizam a capacidade do Azure de aplicar filtros de pacotes de Berkeley, com acesso ao nível do kernel para redes Windows e Linux.

As ferramentas de monitoramento oferecem informações em tempo real sobre a performance da rede em seus clusters AKS, auxiliando na detecção precoce de possíveis problemas de desempenho. Elas incluem visualizações que destacam as conexões e a interação entre os serviços. Por outro lado, as ferramentas de DNS colaboram com a rede Azure para implementar políticas que regulam o acesso ao serviço, minimizando falhas relacionadas ao DNS. Se estiver utilizando a Retina para monitoramento, será necessário migrar para o Cilium para utilizar as ferramentas de rede nos Serviços de Rede de Contêineres Avançados.

Utilizar nomes de domínio para controlar o acesso aos serviços é uma prática eficiente ao lidar com ambientes baseados em orquestradores, como o Kubernetes. Em vez de depender de endereços IP para fazer esse controle, optar por nomes de domínio facilita a administração do acesso de hosts aos serviços, tanto dentro quanto fora do AKS. Dessa forma, as tabelas de controle de acesso resultantes se tornam mais legíveis do que listas de endereços IP, permitindo que os engenheiros de segurança operacional identifiquem rapidamente possíveis erros e riscos.

RELACIONADO:  A maior parte dos problemas na computação em nuvem não está relacionada à própria nuvem.

Apesar de ainda estar em fase de pré-visualização, o ACNS traz novas funcionalidades interessantes para serem incluídas na infraestrutura AKS. Combinando ferramentas de segurança e plataforma, é provável que se torne um elemento crucial em um ambiente nativo em nuvem do Azure.

Iniciar com a filtragem de domínio ACNS.

A configuração necessita de uma das opções de comando do Azure: usar Bash no Cloud Shell ou o Azure CLI em um terminal de desktop. É preciso estar conectado ao ambiente do Azure que está sendo configurado ao utilizar o CLI. Como o ACNS é um serviço em fase de visualização, é necessário instalar a extensão de visualização do Azure CLI para habilitar as funcionalidades necessárias para utilizar o ACNS em modo de visualização.

Após criar um grupo de recursos para o cluster AKS, você está pronto para configurar o cluster e adicionar serviços ACNS. Ao configurar as opções necessárias do AKS, certifique-se de incluir o plano de dados adequado, como o Cilium se estiver utilizando a filtragem da FQDN. Adicione simplesmente a bandeira –habilitar-acns ao comando aks criar e estará pronto para aproveitar o suporte à observabilidade e filtragem FQDN.

Se deseja apenas utilizar a filtragem FQDN, é possível substituir a opção –enable-acns por –enable-fqdn-policy. Para adicionar suporte ACNS aos clusters AKS já em uso, utilize as mesmas opções durante a atualização do AKS.

A gestão das políticas da FQDN é realizada pelo agente do Cilium que está em funcionamento no seu nó. Quando um pod faz pedidos de DNS, o Cilium redireciona esses pedidos para o proxy DNS ACNS. Caso o pedido seja autorizado, o proxy realiza a solicitação de DNS, recebe os resultados e envia uma resposta válida de volta para o pod. Se o agente bloquear um pedido, nenhuma consulta é efetuada e nenhuma resposta é enviada.

RELACIONADO:  A inteligência artificial generativa está trazendo nuvens privadas?

Embora o ACNS baseie-se nas capacidades do Cilium, não oferece suporte ao conjunto completo de recursos. É possível configurar outras políticas de rede, mas elas serão bloqueadas pelo AKS no momento. Isso sugere a possibilidade de expansões futuras para o serviço, mas a Microsoft precisará avaliar e testar esses recursos adicionais em sua implementação AKS Kubernetes, além de desenvolver quaisquer recursos de suporte necessários, como o DNS Proxy na versão ACNS. O Cilium armazenará endereços IP resolvidos para acelerar as operações, embora o cache seja relativamente pequeno e expirará rapidamente os endereços mais antigos se muitas conexões de curta duração forem feitas.

Em Cilium, é possível utilizar um recurso Layer 7 para filtrar os nomes de domínio, regulando o acesso a recursos externos. Esse recurso tem prioridade sobre outras políticas, o que significa que um bloqueio DNS pode impedir o acesso a um ponto final, mesmo que outras políticas autorizem a conexão do seu pod. Cilium disponibiliza diversas opções de filtragem de DNS que podem ser configuradas por meio de YAML ou JSON.

Utilizando ACNS para supervisionar a rede.

As ferramentas de observação da ACNS auxiliam na obtenção das informações de rede essenciais para otimizar uma arquitetura nativa em nuvem, utilizando Cilium ou Retina para obter métricas dos hosts de serviço e relacioná-las a nós e pods. Os dados são registrados no formato Prometheus do Kubernetes, e é possível visualizá-los por meio de um painel Grafana pré-configurado.

O Hubble possui capacidade de monitorar os fluxos em seu ambiente, analisando a comunicação entre as cápsulas e criando um gráfico de conexão de serviço. Para utilizar a funcionalidade DNS do Hubble, é necessário utilizá-la com Retina, pois não é compatível com Cilium.

RELACIONADO:  Como manter os custos da computação em nuvem sob controle.

ACNS não oferece suporte às ferramentas de visualização Hubble. Caso deseje utilizá-las, será necessário configurar seus próprios servidores, seja localmente ou na plataforma Azure. Optar pelo Azure acarretará em custos adicionais para sua aplicação, além das taxas de uso do ACNS.

Advanced Container Networking Services está incluído no pacote AKS, porém implica em despesas extras. O preço é de $0.025 por nó por hora, resultando em custos mais elevados conforme o aplicativo se torna maior e mais complexo. Os gastos serão variáveis à medida que o AKS ajusta a quantidade de nós conforme a demanda aumenta ou diminui.

A Microsoft simplificou bastante a instalação de ferramentas de rede Kubernetes em seu ambiente AKS gerenciado. Com apenas um comando, é possível instalar o Cilium, configurar sondas eBPF e preparar o ambiente Hubble.

Entretanto, essa é apenas uma parte da questão, e é preciso adicionar outra abordagem no ACNS para auxiliar na configuração, direcionando os usuários para ajustes que possam proteger e melhorar o desempenho de seus aplicativos. As configurações predefinidas não precisam ser complicadas, podendo ser algo simples como um formulário para listar os domínios aprovados e, em seguida, gerar a configuração do Cilium automaticamente, ou uma lista de configurações de observabilidade recomendadas com base na arquitetura de seus aplicativos.

No momento, é necessário dedicar esforço para aprender um novo dialeto YAML, ajustar as sondas e configurações corretas. Embora não seja tempo desperdiçado, pois resultará em maior segurança e dados de desempenho essenciais, seria positivo investir esse tempo na otimização da aplicação Kubernetes para os usuários, utilizando os resultados do ACNS.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Verifique também
Close
Back to top button