ANÚNCIO

~/questoes/devops

Qual é a principal limitação de segurança dos contêineres Docker?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência A REAL diferença entre DOCKER e MÁQUINAS VIRTUAIS
Para fixar

O Risco de Segurança do Kernel Compartilhado no Docker

Conceito central

Docker funciona através de contêineres que compartilham o kernel do sistema operacional hospedeiro, diferente de máquinas virtuais que possuem seus próprios kernels isolados. Essa arquitetura enxuta oferece eficiência, mas também introduz uma limitação crítica de segurança: vulnerabilidades no kernel afetam potencialmente todos os contêineres rodando no mesmo host.

Por que essa resposta faz sentido

A alternativa está correta porque identifica o trade-off fundamental da tecnologia Docker. Ao compartilhar o kernel do host, todos os contêineres dependem da mesma instância do kernel. Se uma vulnerabilidade é descoberta e explorada no kernel, isso pode comprometer a segurança de todos os contêineres daquele computador, não apenas um isoladamente.

Armadilhas comuns

  • Confundir isolamento de processos com isolamento de kernel - contêineres isolam processos mas compartilham o kernel do host
  • Pensar que namespaces e cgroups oferecem a mesma segurança que um kernel separado em VMs
  • Acreditar que Docker é menos seguro que VMs em todos os cenários (na prática, é suficiente para maioria dos casos de uso moderno)

Entenda as alternativas

A

Correta. Esta é a principal limitação de segurança do Docker. Como contêineres compartilham o kernel do host, uma falha de segurança no kernel pode afetar múltiplos contêineres simultaneamente, diferente de VMs que possuem kernels isolados.

B

Incorreta. Namespaces não impedem completamente a comunicação entre contêineres. Eles apenas isolam os recursos (como rede, processos e filesystems), permitindo que contêineres se comuniquem quando necessário, como em uma rede Docker.

C

Incorreta. Contêineres conseguem acessar o disco rígido do host quando volumes são montados explicitamente. Essa é uma funcionalidade, não uma limitação de segurança do Docker em si.

D

Incorreta. Docker permite sim o isolamento de usuários dentro de um contêiner através de namespaces de usuário (user namespaces). É possível executar processos com diferentes níveis de privilégio dentro de um contêiner.

Dica prática: Ao escolher entre Docker e máquinas virtuais, considere o risco: se sua aplicação processa dados altamente sensíveis de múltiplos clientes no mesmo host, uma VM pode ser mais segura. Para microsserviços e aplicações modernas internas, Docker é eficiente e suficientemente seguro com boas práticas de isolamento.

Revise pensando: Se uma vulnerabilidade crítica for encontrada no kernel do Linux que sua máquina usa, quantos de seus contêineres Docker poderiam ser afetados ao mesmo tempo?