3 razões pelas quais você não deve executar o Docker sem sudo
O Docker é uma das plataformas de conteinerização mais usadas e é muito apreciado pelos engenheiros de software. Ele vem com uma poderosa ferramenta 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. Obviamente, você pode alterar isso por conveniência e executar comandos do Docker sem privilégios de root, mas deve estar ciente das implicações de segurança.
O que é a superfície de ataque do Docker?
Uma superfície de ataque é o número de pontos de ataque, mais parecido com o número de janelas, que um usuário mal-intencionado pode usar para entrar em seu sistema e causar estragos. Como regra geral, os sistemas de TI devem ter superfícies de ataque mínimas para reduzir 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 isolado seguro e não afetam o sistema operacional do host, a menos que o contrário. Além disso, os contêineres do Docker executam apenas serviços mínimos, o que os torna mais seguros.
Você pode configurar seu sistema Linux para controlar o Docker sem privilégios sudo. Isso pode ser conveniente em ambientes de desenvolvimento, mas pode ser uma séria vulnerabilidade de segurança em sistemas de produção. E é por isso que você nunca deve executar o Docker sem sudo.
1. Capacidade de controlar contêineres do Docker
Sem os privilégios sudo, qualquer pessoa que tenha acesso ao seu sistema ou servidor pode controlar todos os aspectos do Docker. Eles têm acesso aos seus arquivos de log do Docker e podem parar e excluir contêineres à vontade ou acidentalmente. Você também pode perder dados críticos que são vitais para a continuidade dos negócios.
Se você estiver usando contêineres do Docker em ambientes de produção, o tempo de inatividade resultará em perda de negócios 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êineres gravando-os em uma pasta especificada no sistema operacional host.
Uma das maiores ameaças que a execução do Docker sem sudo apresenta é que qualquer pessoa em seu sistema pode obter controle dos diretórios do sistema operacional host, incluindo o diretório raiz.
Tudo o que você precisa fazer é executar uma imagem do Linux Docker, por exemplo, a imagem do Ubuntu, e montá-la na pasta raiz usando o seguinte comando:
docker run -ti -v /:/hostproot ubuntu bash
E como os contêineres Linux Docker são executados como usuário root, isso significa essencialmente que você tem acesso a toda a pasta raiz.
O comando mencionado acima irá baixar e executar a imagem mais recente do Ubuntu e montá-la no diretório raiz.
No terminal de contêiner do Docker, vá para o diretório /hostproot usando o comando cd:
cd /hostproot
Listar o conteúdo desse diretório usando o comando ls mostra todos os arquivos do sistema operacional host que agora estão disponíveis em seu contêiner. Agora, você pode manipular arquivos, visualizar arquivos secretos, ocultar e exibir arquivos, alterar permissões, etc.
3. Instale software malicioso
Uma imagem do Docker bem elaborada pode ser executada em segundo plano e manipular 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 vários casos práticos de uso de contêineres do Docker, e com cada aplicativo vem um conjunto diferente de ameaças à segurança.
Proteja seus contêineres do Docker no Linux
O Docker é uma plataforma poderosa e segura. A execução do Docker sem sudo aumenta sua 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 em um sistema, torna-se extremamente difícil atribuir permissões a cada usuário. Nesses casos, seguir as melhores práticas de controle de acesso pode ajudá-lo a manter a segurança do seu sistema.
Deixe um comentário