Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ataque e Auditoria de Containers Docker e Clusters Kubernetes

Ataque e Auditoria de Containers Docker e Clusters Kubernetes

Desenvolvedores e equipes de operações (DevOps) avançaram para a utilização de containers e tecnologias de conteinerização de forma geral. Os invasores também estão alcançando essas tecnologias e encontrando falhas de segurança nelas.
Nesta apresentação, veremos como podemos testar problemas de segurança e vulnerabilidades em ambientes conteinerizados, incluindo auditoria de containers Docker e clusters Kubernetes.
Também veremos cenários do mundo real em que invasores comprometeram o ecossistema de Docker e Kubernetes para obter acesso a aplicações, dados e outros ativos.

Fernando Silva

December 06, 2019
Tweet

More Decks by Fernando Silva

Other Decks in Technology

Transcript

  1. O que é Docker? Docker é uma plataforma Open Source

    que permite criar, executar, testar e implantar aplicações distribuídas dentro de containers.
  2. Docker Engine Docker Engine abstrai as chamadas de SO das

    suas aplicações e utiliza as bibliotecas e binários já existentes
  3. Onde usar Docker? Containers Docker estão em todos os lugares:

    Linux, Windows, Data center, Cloud, Serverless, etc.
  4. Kubernetes Kubernetes (K8s) é um produto Open Source utilizado para

    automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em containers
  5. Kubernetes Ele agrupa containers que compõem uma aplicação em unidades

    lógicas para facilitar o gerenciamento e a descoberta de serviço. O Kubernetes se baseia em 15 anos de experiência na execução de containers em produção no Google, combinado com as melhores ideias e práticas da comunidade.
  6. Arquitetura Kubernetes Cluster: conjunto dos componentes (Master, nodes, pods, contêineres,

    etc). Obs: A imagem acima representa o cluster onde trabalharemos.
  7. Arquitetura Kubernetes Master: ponto de controle central que provê uma

    visão unificada do cluster. É a máquina mestre que recebe as configurações preestabelecidas através dos arquivos .yaml.
  8. Arquitetura Kubernetes Node: Uma máquina ativa (gerenciada pelo master), também

    conhecida como Minion. Dentro dele ficam os serviços necessários para rodar os pods. Os serviços em um node incluem Docker, Kubelet e kube-proxy.
  9. Arquitetura Kubernetes Pods: menores unidades implantadas que podem ser criadas,

    escaladas e manuseadas. É uma coleção lógica de contêineres que pertencem a uma aplicação.
  10. Arquitetura Kubernetes Obs: Um master pode gerenciar um ou mais

    nodes, um node pode conter um ou mais pods, e um pod pode conter um ou mais containers.
  11. Nuvem da Tesla foi invadida e usada para minerar criptomoeda

    https://blog.redlock.io/cryptojacking-tesla
  12. 17 imagens Docker disponibilizadas por uma única conta durante 10

    meses no Docker Hub, com mais de 5 milhões de pulls, podem ter minerado US $90.000 em criptomoedas Monero.
  13. Grupo de hackers está sequestrando sistemas Docker com terminais de

    API expostos https://www.zdnet.com/article/a-hacking-group-is-hijacking-docker-systems-with-exposed-api-endpoints/
  14. Anatomia do ataque • verifica mais de 59.000 redes IP

    (netblocks) • identifica um host exposto • Inicia um container Alpine Linux OS • instala um minerador de criptomoeda • desinstala os agentes de monitoramento • encerra os processos associados às botnets rivais • criptografa e rouba arquivos de configuração • cria contas de backdoor, deixando as chaves SSH
  15. Como proteger a API Docker? • Crie regras de firewall

    • Proteja o soquete do daemon do Docker • TLS precisa ser ativado especificando o sinalizador tlsverify e apontando o tlscacert do Docker para um certificado de CA confiável ( https://docs.docker.com/engine/security/https) • Habilitando API do Docker de forma segura utilizando container (https://github.com/fernandodebrando/docker-remote-api-tls)