Boas práticas para mantermos o container seguro

Michelle Mesquita
3 min readDec 26, 2021

--

Olá, pessoal :)

Hoje, vamos comentar sobre algumas boas práticas para mantermos o nosso container (docker) rodando de maneira segura

Existem alguns fatores, como configurar os recursos utilizados pelo container ou verificar as APIs utilizadas pelo Docker, conforme podemos observar aqui:

Porém, os pontos que eu gostaria de realmente ressaltar são quatro:

1# Manter o Docker com a versão mais recente possível

Sei que nem sempre isso é possível ser feito, principalmente quando pensamos em ambiente de produção. Caso utilizemos a versão mais recente, não necessariamente a código da aplicação conseguirá rodar nesse ambiente.

Para isso, coloque na versão mais estável possível, mas observe no ambiente de teste e futuramente, no ambiente de homologação, se é possível utilizar a ultima versão disponível.

Portanto, tente utilizar a tag com a versão especificada (ubuntu:18.04) ou com latest, conforme a imagem acima.

2# Utilize sempre o container com a versão oficial

Podemos encontrar as versões oficiais pelo próprio site Dockerhub, onde ficam disponíveis diversos containers.

3# Realize o scan do container

Embora você vá utilizar o container oficial na empresa, nem sempre isso ocorre. Pois em determinados projetos, você cria o próprio container com as especificações que você precisa e as vezes, você precisa participar de projetos legados, onde dificilmente, esses containers foram atualizados.

Para isso, utilize dessa boa prática

Caso não consiga rodar diretamente com esse comando, não há problema. É possível ser feito utilizando o snyk (que é o programa que ele chama para analisar as dependências utilizadas no Dockerfile)

snyk container test michelleamesquita/simple-app

4# Não utilize ROOT!

Quando rodamos o container, ele inicia a sessão como Root, ou seja, usuário com maior privilégio.

Vale lembrar, que na segurança, devemos seguir o princípio de sempre termos o menor privilégio, para evitar que alguém consiga acessar a sua aplicação ou sistema e possua o acesso máximo de uma só vez.

Dessa forma, devemos escrever um Dockerfile, adicionando um usuário de menor privilégio, da seguinte maneira:

FROM ubuntu:latest# criar grupo e usuarioRUN groupadd -r michelle && useradd -g michelle michelle# dar permissao ao usuarioRUN chown -R michelle:michelle /app# trocar usuarioUSER michelle# rodar aplicaçaoCMD python3 app.py

Portanto, essas são algumas boas práticas para mantermos segura a nossa aplicação 💜

--

--

Michelle Mesquita
Michelle Mesquita

Written by Michelle Mesquita

DevSecOps & AppSec Engineer & Developer girl 👩‍💻

Responses (1)