Compartilhar via


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

Aplica-se ao: AKS no Azure Local 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 em 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 possam comprometer aplicativos ou serviços. Os contêineres normalmente são executados em uma camada abstrata sobre o sistema operacional 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 do 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 impedir o acesso não autorizado, hospede as imagens em um registro seguro e confiável. As imagens devem ter um certificado TLS com uma autoridade de certificação raiz confiável e o registro deve usar o RBAC (controle de acesso baseado em função) com autenticação forte. Você deve incluir uma solução de verificação de imagem ao projetar CI/CD para a compilaçã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.

Fortalecer o ambiente do host

Um aspecto importante da segurança de contêiner é 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 por meio dos contêineres e o controle é centralizado no 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, o que pode ignorar acidentalmente os controles de segurança do contêiner.

Limitar recursos de 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 das violações.

Segredos seguros adequadamente

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 sem formatação ou armazenados sem criptografia. Você deve manter todos os segredos fora das imagens e montá-los por meio do mecanismo de orquestração de contêiner ou de um gerenciador de segredos externo.

Pratique o isolamento

Use o isolamento e não use um usuário privilegiado ou usuário raiz para executar o aplicativo em um contêiner. Evite executar contêineres no modo privilegiado, pois isso pode permitir que um invasor escale facilmente os privilégios se o contêiner estiver comprometido. Conhecer o UID (Código de Identificação Exclusivo) 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 em que 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 de tempo de execução

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

Próximas etapas