📅 Ebook GRATUITO 🚀 Como preparar o seu site para receber muitos acessos? 💰

Kinghost | Blog

Segurança no uso do Docker: veja alguns cuidados importantes

Publicado em 23/02/2018

Atualizado em 26/04/2023
segurança no uso do docker

E ai pessoal! Neste texto vou falar sobre algumas questões ligadas à segurança no uso do Docker. Poucas pessoas se preocupam, mas eventualmente a falta de atenção a alguns fatores pode prejudicar sua aplicação e seu negócio.

Preocupações relacionadas à segurança no uso do Docker

Kernel exploits (exploração do kernel)
Ao contrário de uma Virtual Machine, ao usar containers o kernel é compartilhado entre todos os containers e o host, aumentando a importância de qualquer vulnerabilidade que explore o kernel.

Denial-of-service attacks (ataque de negação de serviço)
Como todos os containers compartilham recursos do kernel, se um container pode monopolizar o acesso a certos recursos, incluindo memória, ou até IDs de usuário (UIDs), pode faltar recursos para outros containers, resultando em uma negação de serviço (DoS).

Container breakouts (invasão de container)
Um invasor que tem acesso a um container não pode ter acesso a outros containers ou ao host. Se você usa root no container, você será root no host.

Poisoned images (imagens “envenenadas”)
Como você sabe que as imagens que você está usando são seguras, não foram adulteradas, e vêm de onde elas afirmam vir?

Application secrets (segredos de aplicações)
Quando um container acessa um banco de dados ou serviço, provavelmente exigirá credenciais, como um token ou mesmo usuário e senha. Se um invasor tiver acesso ao container terá acesso a estes dados.

Boas práticas de segurança ao usar Docker

No tópico anterior foi levantada algumas preocupações de segurança que devemos ter ao usar containers, agora vamos ver algumas possíveis soluções para tentar resolver estes problemas.
Inicio esse tópico com uma pergunta.
Como devemos armazenar dados sensíveis, como senhas, chaves privadas, tokens, chaves de APIs?
Para começar a responder esta pergunta, eu acho mais fácil e direto responder como não devemos armazenar dados sensíveis.
Não use variáveis de ambiente ou incorpore na imagem de container. É uma dica meio óbvia mas acontece e muito. Se quiserem ler sobre um caso, de utilização de credenciais incorporadas na imagem e que vazou, tem um consideravelmente conhecido que aconteceu com a IBM: IBM Data Science Experience: Whole-Cluster Privilege Escalation Disclosure.

Mas como então devemos armazenar nossas credenciais de acesso quando usamos containers? Uma ótima solução é utilizar o Docker Secrets Management.

docker security

Docker Secrets Management

O Docker Secrets funciona como um cofre onde você pode colocar coisas sensíveis lá e só quem tem a chave do cofre consegue utilizar, no caso essa chave é designada aos nós dos serviços que a chave for atribuída. Mais de como funciona pode ser visto no blog Mundo Docker – Docker Secrets.

Outras dicas de segurança menciono abaixo em forma de tópicos:

Proteja seu host

  • Certifique-se de que seu host e a configuração do Docker engine sejam seguras
  • Mantenha seu SO atualizado
  • Impor controle de acesso para evitar operações indesejadas, tanto no host como nos containers, usando ferramentas como SecComp, AppArmor ou SELinux

Redução dos privilégios

  • Tomar cuidado ao executar como root
  • Crie namespaces isolados
  • Limitar privilégios ao máximo
  • Verifique se o container é confiável (verifique a imagem)

Alto uso de recursos do container

  • Limite os recursos no kernel ou no container
  • Fazer testes de carga antes de pôr em produção
  • Implemente monitoramento e alertas

Autenticidade da imagem

  • De onde veio?
  • Você confia no criador?
  • Quais políticas de segurança está usando?
  • Identificação do autor
  • Não use se não confia na fonte
  • Use um servidor Docker Registry próprio
  • Verifique a assinatura da imagem

Vulnerabilidades de segurança presentes na imagem

  • Inspecionar as imagens
  • Atualize para pegar novos patches de segurança
  • Utilize uma ferramenta de scanner de vulnerabilidades
  • Integre esse scanner como etapa do seu CI/CD

E aí, curtiu esse material sobre segurança no uso do Docker? Fique por dentro dos outros materiais relacionados ao assunto clicando aqui!

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Fernando

Fernando Silva

Especialista em Segurança da Informação na KingHost, mestrando em Ciência da Computação (UFRGS) com foco na linha de pesquisa em Segurança Cibernética, pós-graduado em Segurança Cibernética pela UFRGS, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre. Um dos coordenadores da comunidade PHP-RS, entusiasta Open Source e Software Livre.

Fernando

Fernando Silva

Especialista em Segurança da Informação na KingHost, mestrando em Ciência da Computação (UFRGS) com foco na linha de pesquisa em Segurança Cibernética, pós-graduado em Segurança Cibernética pela UFRGS, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre. Um dos coordenadores da comunidade PHP-RS, entusiasta Open Source e Software Livre.

Compartilhe esse conteúdo com alguém que possa gostar também

Conteúdos relacionados

Se você trabalha diariamente na internet, com certeza em algum momento se preocupou com a segurança das suas informações. Afinal, diversos dados pessoais e bancários são acessados todos os dias. Nesse contexto, cada dia mais existe a necessidade de reforçar a segurança dos seus dados e se proteger de possíveis golpes no mundo online. Por...
Você já ouviu falar de chatbot? Provavelmente a resposta é sim. Isso porque, essa tecnologia tem ganhado cada vez mais espaço na comunicação digital. Afinal, com a evolução tecnológica e as inúmeras ferramentas que prometem facilitar nossa rotina, os chatbots garantem destaque em diversos setores, desde atendimento ao cliente até vendas e marketing. Neste artigo,...
Você certamente já passou pela frustração de abrir um site que demora uma eternidade para carregar. Então, sabe como isso é irritante, não é mesmo? Com isso, sabe que a velocidade do site desempenha um papel fundamental na experiência dos usuários e no sucesso do seu negócio online.  Neste artigo, você vai conhecer as melhores...
Aprender a programar nunca foi tão fácil! Visto que, hoje em dia, existem diversos recursos gratuitos na web que podem te ajudar nessa jornada.  Então, se você é um completo novato no assunto, não se preocupe, esses recursos são perfeitos para você.  Mas não pense que eles são exclusivos para iniciantes, pois mesmo quem já...

Assine a nossa newsletter e receba conteúdos para apoiar o crescimento do seu negócio

Sem Título(obrigatório)

📅 Aulão GRATUITO 🚀 Como VENDER MAIS na internet 💰

Mensagens para você