Partilhar via


Segurança de contêiner no AKS habilitada pelo Azure Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Este artigo descreve vários métodos para proteger os contêineres usados para empacotar e implantar aplicativos e evitar a introdução de vulnerabilidades de segurança no AKS habilitado pelo Azure Arc.

Os contêineres fornecem benefícios operacionais e de segurança porque os aplicativos e serviços são separados dentro de um ambiente. Os contêineres também ajudam a reduzir os efeitos de falhas em todo o sistema devido à sua abstração, o que garante o tempo de atividade e evita ataques que podem comprometer aplicativos ou serviços. Os contêineres geralmente são executados em uma camada abstrata sobre o sistema operacional do host, e a abstração oferece alguma barreira de separação e a oportunidade de aplicar um modelo de defesa em camadas.

Você também pode configurar a segurança contínua do contêiner protegendo o pipeline de contêiner, o aplicativo e o ambiente de implantação do contêiner. As seções a seguir descrevem algumas práticas recomendadas para implementar a segurança de contêiner.

Imagens seguras

Para evitar o acesso não autorizado, hospede as imagens em um registro seguro e confiável. As imagens devem ter um certificado TLS com uma CA raiz confiável e o registro deve usar RBAC (controle de acesso baseado em função) com autenticação forte. Você deve incluir uma solução de digitalização de imagem ao projetar CI/CD para a construção e entrega do contêiner. A solução de verificação de imagens ajuda a identificar vulnerabilidades e exposições comuns (CVEs) e garante que as imagens exploráveis não sejam implantadas sem correção.

Proteger o ambiente do host

Um aspeto importante da segurança de contêineres é a necessidade de fortalecer a segurança dos sistemas em que seus contêineres estão sendo executados e a maneira como eles agem durante o tempo de execução. A segurança do contêiner deve se concentrar em toda a pilha, incluindo seu host e os daemons. Você deve remover serviços do host que não são críticos e não deve implantar contêineres não compatíveis no ambiente. Ao fazer isso, o acesso ao host só pode ocorrer através dos contêineres e o controle é centralizado para o daemon do contêiner, removendo o host da superfície de ataque. Essas etapas são especialmente úteis quando você usa servidores proxy para acessar seus contêineres, que podem ignorar acidentalmente seus controles de segurança de contêiner.

Limitar os recursos do contêiner

Quando um contêiner é comprometido, os invasores podem tentar usar os recursos de host subjacentes para executar atividades maliciosas. É uma boa prática definir limites de uso de memória e CPU para minimizar o impacto de violações.

Proteja adequadamente os segredos

Um segredo é um objeto que contém informações confidenciais que podem precisar ser passadas entre o host e o contêiner, por exemplo, senhas, certificados SSL/TLS, chaves privadas SSH, tokens, cadeias de conexão e outros dados que não devem ser transmitidos em texto simples ou armazenados sem criptografia. Você deve manter todos os segredos fora das imagens e montá-los através do mecanismo de orquestração de contêineres ou de um gerenciador de segredos externo.

Pratique o isolamento

Use o isolamento e não use um usuário privilegiado ou root para executar o aplicativo em um contêiner. Evite executar contêineres no modo privilegiado porque isso pode permitir que um invasor escale facilmente os privilégios se o contêiner for comprometido. Conhecer o UID (Código de Identificação Única) e o GID (Código de Identificação de Grupo) do usuário raiz em um contêiner pode permitir que um invasor acesse e modifique os arquivos gravados pela raiz na máquina host. Também é necessário usar o princípio de privilégios mínimos quando um aplicativo só tem acesso aos segredos de que precisa. Você pode criar um usuário do aplicativo para executar o processo do aplicativo.

Implantar monitoramento de segurança em tempo de execução

Como ainda há a chance de ficar comprometido mesmo depois de tomar precauções contra ataques à sua infraestrutura, é importante monitorar e registrar continuamente o comportamento do aplicativo para prevenir e detetar atividades maliciosas. Ferramentas como o Prometheus fornecem um meio eficaz para monitorizar a sua infraestrutura.

Próximos passos