Segurança de contêineres do Docker

Uma ampla variedade de cargas de trabalho empresariais e aplicativos nativos da nuvem são executados usando contêineres Docker. Como resultado, a segurança do contêiner Docker tornou-se um dos aspectos mais importantes do segurança da carga de trabalho na nuvem, e proteger os contêineres Docker é essencial para empresas que desejam manter uma postura de segurança forte. 

Aqui, examinaremos mais de perto essa popular plataforma de contêineres, problemas comuns de segurança de contêineres do Docker, práticas recomendadas e ferramentas criadas especificamente para melhorar a segurança de contêineres para empresas modernas.

Solicite uma demo Read Whitepaper

O que é Docker?

Docker é uma plataforma de contêiner que permite aos desenvolvedores e administradores de sistema empacotar um aplicativo com todas as suas dependências em uma unidade de código padronizada. 

Os contêineres Docker permitem que as empresas executem aplicativos como processos isolados em uma ampla variedade de ambientes, desde plataformas de nuvem em hiperescala até máquinas compartilhadas no local. Devido à agilidade, facilidade de uso e escalabilidade da plataforma, os contêineres Docker se tornaram um elemento básico da infraestrutura moderna nativa da nuvem.

Como funciona o Docker

Docker funciona fornecendo uma plataforma padrão para empresas executarem código. Ele empacota todos os binários, bibliotecas e dependências necessárias que um determinado aplicativo precisa em uma única imagem de contêiner imutável.

As imagens de contêiner do Docker podem ser criadas por arquivos de texto conhecidos como Dockerfiles. Depois que as imagens são criadas, elas podem ser instanciadas quantas vezes forem necessárias para executar cargas de trabalho como contêineres Docker em cima de um mecanismo de contêiner (como Docker Engine ou Podman). Por serem leves, rápidos, fáceis de instanciar e altamente escaláveis, os contêineres são mais adequados para muitos fluxos de trabalho de CI\CD e arquiteturas de microsserviços nativas da nuvem do que sistemas operacionais completos executados em máquina virtual (máquina virtual, VM) ou bare. -servidores metálicos.

Segurança de contêineres do Docker

A popularidade do Docker também fez com que ele se tornasse um alvo de alto valor para os invasores. Como demonstrado por ameaças como postar imagens de contêiner maliciosas com mineradores de criptografia Monero em registros de contêineres públicos como Docker Hub e questões de segurança mais sutis, como o Vulnerabilidade do Docker cp (CVE-2018-15664), as empresas devem levar em conta as ameaças em todo o ecossistema comum do Docker para manter seus contêineres seguros. 

Vamos dar uma olhada em alguns dos mais Container Security ameaças enfrentadas pelas empresas que executam contêineres Docker e as práticas recomendadas que podem ajudar as equipes de DevSecOps a mitigá-las.

Problemas de segurança do Docker

De acordo com Docker, há quatro áreas principais que as empresas devem considerar nas análises de segurança do Docker. Eles são:

  • Segurança do kernel 
  • Superfície de ataque do daemon Docker 
  • Desafios de configuração
  • Recursos de proteção do kernel e como eles afetam os contêineres do Docker

Além dessas considerações de segurança do Docker, também é importante que as empresas considerem a origem de suas imagens de contêiner, as bibliotecas e binários que um determinado contêiner usa, a correção de vulnerabilidades conhecidas e levem em conta a complexidade da configuração e comunicação do contêiner. 

Com tudo isso em mente, algumas das questões de segurança do Docker mais importantes que as empresas devem considerar ao avaliar sua postura de segurança são:

  • Imagens de contêiner inseguras: sejam eles mal configurados ou totalmente maliciosos, extrair e implantar uma imagem insegura de um repositório pode reduzir instantaneamente a postura de segurança corporativa. Caso em questão: foi encontrada uma varredura de 4 milhões de contêineres disponíveis publicamente no Docker Hub 6.000 eram mal-intencionados e mais da metade tinham vulnerabilidade crítica.
  • Superfície de ataque: quanto mais portas de rede, arquivos, bibliotecas e dependências abertas em um contêiner, maior será a superfície de ataque. Componentes não utilizados ou desnecessários em um contêiner não apenas aumentam o inchaço, mas também aumentam o número de pontos de entrada potenciais para invasores. 
  • Uso da bandeira privilegiada: O  -privilegiado flag permite que contêineres Docker sejam executados com privilégios totais e ignorem restrições no controlador cgroup do dispositivo. O uso deste sinalizador deve ser limitado a um conjunto muito restrito de casos de uso.
  • Segurança do ambiente host: a vulnerabilidade no kernel subjacente e no sistema operacional host sobre o qual um mecanismo de contêiner é executado pode deixar as cargas de trabalho corporativas em risco. Se a empresa controla o ambiente host do Docker, é necessário proteger e aplicar patches no ambiente host. 
  • Segurança de orquestração de contêineres: Plataformas de orquestração como Kubernetes (K8s) permitem que as empresas gerenciem e implantem contêineres com eficiência. Como resultado, Segurança K8s é um aspecto importante da segurança do contêiner Docker.
  • Visibilidade do contêiner: A visibilidade é um aspecto fundamental da segurança. No entanto, as ferramentas tradicionais de monitoramento e verificação de segurança nem sempre são capazes de fornecer visibilidade granular das cargas de trabalho dos contêineres.

Práticas recomendadas de segurança do Docker

Para limitar sua exposição a problemas comuns de segurança de contêineres do Docker, existem várias práticas recomendadas de segurança do Docker que as empresas podem seguir. Além do básico, como gerenciamento eficaz de patches e shifting security left, aqui estão alguns dos mais importantes:

  • Siga o princípio do menor privilégio: As políticas e configurações de segurança devem garantir que os contêineres e os usuários possam executar apenas o conjunto mínimo de funções necessárias para realizar seu trabalho. De uma perspectiva tática, isso significa que as empresas devem tomar medidas como: implementar políticas granulares de IAM, executando contêineres no modo sem raiz, usando imagens de contêiner base mínimas, bloqueando a camada de rede e não expondo o soquete daemon do Docker, limitando ou restringindo o uso do -privilegiado flag e usando sistemas de arquivos somente leitura sempre que possível.
  • Execute apenas contêineres confiáveis: restringir o uso de contêineres extraídos de registros de contêineres do Docker apenas para imagens confiáveis e assinadas (por exemplo, usando tags assinadas e Docker Content Trust) pode reduzir bastante a exposição da empresa a imagens de contêineres vulneráveis.
  • Aplicar cotas de recursos: As cotas de recursos limitam a quantidade de recursos (por exemplo Unidade de processamento central (Unidade Central de Processamento, CPU) e RAM) que um contêiner Docker pode consumir. A configuração de cotas de recursos pode limitar a capacidade de um invasor consumir recursos do host ou impactar outros serviços caso um contêiner seja comprometido. 
  • Isole os recipientes tanto quanto possível: como os contêineres são executados como processos em ambientes Linux, há diversas soluções disponíveis que permitem que as empresas se protejam contra escapes de kernel e melhorem o isolamento lógico entre contêineres. Para empresas que mantêm seus próprios ambientes host, o uso de soluções como AppArmor, cgroups, namespaces Linux ou SELinux pode ajudar a proteger os ambientes Docker.
  • Monitore e verifique proativamente: a verificação e o monitoramento proativo de ponta a ponta em todo o pipeline de CI\CD permitem que as empresas detectem ameaças rapidamente, identifiquem vulnerabilidades em imagens de contêiner e solucionem problemas rapidamente. Ferramentas que fornecem a visibilidade granular que as empresas precisam para detectar problemas de segurança com contêineres Docker são essenciais para essa prática recomendada.

Segurança Docker com CloudGuard

Para implementar as melhores práticas aqui e cargas de trabalho de contêiner seguras, as empresas precisam de soluções de segurança desenvolvidas especificamente com Docker e pipelines DevSecOps modernos em mente. Segurança de contêineres do CloudGuard plataforma oferece às empresas um conjunto completo de ferramentas para proteger contêineres Docker e implementar segurança de contêineres em escala.

Por exemplo, com o CloudGuard, as empresas podem aproveitar a verificação de segurança de imagens para detectar problemas de segurança com imagens de contêineres e sugerir proativamente etapas de correção. 

Além disso, com a plataforma CloudGuard Container Security, as empresas também ganham:

  • Proteção completa em toda a nuvem em ambientes multi-nuvem.
  • Controlador de admissão para definir políticas e impor o acesso menos privilegiado em clusters. 
  • Varreduras de código que detectam credenciais e vulnerabilidades incorporadas.
  • Gerenciamento de postura de segurança com avaliação automática de riscos e geração de funções IAM com privilégios mínimos.
  • Prevenção de ameaças em tempo real e proteção em tempo de execução.
  • Implantação automática de controles de segurança para Pipelines DevSecOps.
  • Detecção de intrusão e inteligência de ameaça. 

Para saber mais, o senhor pode inscreva-se para uma demo de segurança de contêiner liderada por um especialista em CloudGuard Segurança de nuvem. Durante a demo, o profissional de Segurança de nuvem explorará as melhores práticas de segurança de contêineres relevantes para ambientes modernos nativos da nuvem e como você pode aproveitar a automação para implementar o Docker.

Para saber mais sobre as práticas recomendadas de segurança de contêineres mais recentes, você também pode Baixe nosso Guia de segurança de contêineres e Kubernetes. Este guia de segurança detalhado fornece insights baseados em evidências sobre os desafios de segurança que as empresas enfrentam e explora abordagens práticas para enfrentá-los em grande escala.

×
  Opinião
Este site usa cookies para sua funcionalidade e para fins de análise e marketing. Ao continuar a usar este site, você concorda com o uso de cookies. Para mais informações, leia o nosso Aviso de Cookies.
OK