Razões pelas quais você não deve implementar o Docker sem sudo

O Docker é uma das plataformas de contêineres mais usadas e muito popular entre engenheiros e desenvolvedores de software. Ele vem com uma poderosa ferramenta de interface gráfica (CLI) para gerenciar contêineres Docker e outras tarefas relacionadas.

Por padrão, você precisa de privilégios de root para executar qualquer comando relacionado ao Docker no Linux. Claro, você pode alterar essa configuração para tornar a execução mais confortável e executar comandos do Docker sem privilégios de usuário root, mas você deve estar ciente das implicações de segurança. Verificar Como usar a ferramenta Docker Containers no Linux.

Qual é a superfície de ataque no Docker?

A “superfície de ataque” é o número de pontos de ataque, como o número de janelas, que um usuário mal-intencionado pode usar para invadir seu sistema e causar estragos. Em geral, os sistemas de TI devem ter superfícies de ataque mínimas para minimizar os riscos de segurança.

Em geral, a superfície de ataque do Docker é mínima. Os contêineres são executados em um ambiente seguro e isolado e não afetam o sistema operacional do host, a menos que configurados de outra forma. Além disso, os contêineres do Docker executam apenas serviços mínimos, o que os torna mais seguros.

Você pode configurar um sistema Linux para controlar o Docker sem privilégios sudo. Isso pode ser apropriado em ambientes de desenvolvimento, mas pode ser uma séria vulnerabilidade de segurança em sistemas de produção. Veja por que o Docker nunca é implementado sem sudo.

1. A capacidade de controlar os contêineres do Docker

Sem privilégios sudo, qualquer pessoa com acesso ao seu sistema ou servidor pode controlar todos os aspectos do Docker. Ele tem acesso aos seus arquivos de log do Docker e pode parar e excluir contêineres à vontade ou por engano. Você também pode perder dados críticos que são vitais para a continuidade dos negócios.

Se você usar contêineres do Docker em ambientes de produção, o tempo de inatividade levará à perda de vários dados e confiança.

2. Obtenha o controle dos diretórios do sistema operacional host

O Docker Volumes é um serviço poderoso que permite compartilhar e manter dados de contêiner gravando-os em uma pasta especificada no sistema operacional do host.

Uma das maiores ameaças que vem com a execução do Docker sem sudo é que qualquer pessoa em seu sistema pode obter controle dos diretórios do sistema operacional do host, incluindo o diretório inicial.

Tudo o que você precisa fazer é executar uma imagem do Linux Docker, por exemplo, uma imagem do Ubuntu, e montá-la em sua pasta pessoal com o seguinte comando:

docker run -ti -v /:/hostproot ubuntu bash

Como os contêineres Linux Docker são executados como usuário root, isso basicamente significa que você tem acesso a toda a pasta inicial.

O comando acima irá baixar, executar e instalar a imagem mais recente do Ubuntu em seu diretório pessoal.

Nos contêineres Terminal for Docker, vá para o diretório /hostproot Usando o comando cd:

cd /hostroot

Mostra listando o conteúdo deste diretório usando o comando ls Todos os arquivos do sistema operacional do host que agora estão disponíveis em seu contêiner. Agora, você pode manipular arquivos, exibir arquivos confidenciais, ocultar e exibir arquivos, alterar permissões e assim por diante.

3. Instale malware

Uma imagem do Docker bem projetada pode ser executada em segundo plano e adulterar seu sistema ou coletar dados confidenciais. Pior ainda, um usuário mal-intencionado pode espalhar código malicioso em sua rede por meio de contêineres do Docker.

Existem muitos casos de uso prático para contêineres do Docker e, com cada aplicativo, vem um conjunto diferente de ameaças à segurança. Verificar Como instalar a ferramenta Docker no Linux.

Protegendo contêineres do Docker no Linux

O Docker é uma plataforma poderosa e segura. A execução do Docker sem sudo aumenta a superfície de ataque e torna seu sistema vulnerável. Em ambientes de produção, é altamente recomendável usar o sudo com o Docker.

Com tantos usuários no sistema, fica muito difícil atribuir permissões a cada usuário. Nesses casos, seguir as práticas recomendadas de controle de acesso pode ajudar a manter seu sistema seguro. Você pode ver agora O que é controle de acesso e por que você precisa dele?

Ir para o botão superior