Melhores práticas de segurança para Docker

Algumas medidas e uso de ferramentas de proteção aumenta a segurança do ambiente de desenvolvimento Docker. Confira as nossas dicas.

A segurança é um dos grandes receios das empresas para adesão à plataforma Docker, projetada para criar soluções de virtualizalização em Cloud Computing (Computação em Nuvem) com a técnica de contêiner. Na tentativa de derrubar essa barreira, a Docker, companhia que leva o mesmo nome da tecnologia, está investindo em ferramentas para reduzir os riscos com adoção da arquitetura de código aberto.

Há muito tempo que o mercado vem tentando emplacar a virtualização por contêiner no mundo corporativo. Mas só recentemente essa técnica atraiu empresas interessadas no uso de Docker, que veio para fazer frente ao modelo tradicional de virtualização.

Uma das arquiteturas típicas do mercado de virtualização é a baseada em hypervisor, sistema mais conhecido por VMM (Virtual Machine Monitor) ou simplesmente VM. Hoje, empresas já oferecem soluções de hypervisor para criação de máquinas virtuais, gerenciamento e compartilhamento dos seus recursos.

A virtualização por hypervisor funciona como uma camada de software localizada entre o hardware e o sistema operacional. Seu papel é fornecer recursos da máquina física para as virtuais.

Entre as vantagens desse modelo destacam-se o gerenciamento centralizado dos vários sistemas operacionais e hardware, atualização de patches centralizada com mais rapidez, além de redução dos riscos com erros de software testados em ambientes virtuais.

Expansão da plataforma

A tecnologia chegou ao mercado há pouco mais de três anos e avançou rapidamente. Hoje, a plataforma de código aberto é uma das mais aplicadas em empresas para virtualização por contêiner.

Desenvolvedores, administradores e outros profissionais utilizam a técnica de Docker para criar contêiner para produção, testes e distribuição de aplicativos com mais flexibilidade pela Cloud.

Os adeptos da ferramenta perceberam que Docker poderia simplificar e acelerar o desenvolvimento e implementação de aplicativos. Porém, esse trabalho precisa ser realizado de forma segura e com adoção das melhores práticas para mitigar riscos dos projetos.

A plataforma Docker nasceu baseada no Linux Containers (LXC). Conforme foi evoluindo ganhou uma interface própria para acessar as funcionalidades de grupos de monitoramento (Cgroups) e espaços de nomes (Namespace) do kernel, ou núcleo, do sistema operacional Linux.

Com sua expansão no mercado, o sistema passou a criar e rodar ambientes virtuais de forma isolada em um único host (hospedeiro), como faz o LXC. Esse ambiente cria um contêiner onde são executados os aplicativos.

Práticas de segurança

Uma exploração de falhas em ambiente Docker pode trazer grandes prejuízos, considerando que o processo de contêiner tem um grande índice de automatização.

A Docker, dona do produto, informa que vem investindo pesadamente em tecnologias de segurança para entregar uma suíte confiável ao mercado corporativo.

Em junho último, a companhia apresentou a versão beta Docker Datacenter para entrega de Contêineres as a Service (CaaS) por Cloud. A nova solução vem com a proposta de gerenciar contêineres e reduzir riscos nesse ambiente.

A plataforma oferece uma camada adicional de proteção do kernel (núcleo do sistema operacional Linux) chamada de “Capabilities”. A empresa reduziu o privilégio do acesso ao ambiente de contêiner. Também há um sistema que faz isolamento das aplicações e dos desenvolvimentos.

Os contêineres Docker são muito parecidos aos do LXC, com recursos de segurança semelhantes. Ao iniciar um projeto, é criado um conjunto de funções de proteção. O Namespaces (espaços para nomes) fornecem formas simples de isolamento para não afetar outro contêiner em execução. É essencial ficar atendo com essas configurações.

Medidas simples

– Utilize um repositório confiável para baixar o software.
– Faça atualizações de segurança para corrigir vulnerabilidades.
– Treine sua equipe para gerenciar vulnerabilidades e dar respostas rápidas
– Execute apenas recipientes de partes confiáveis.

Ferramentas para proteção

Listamos a seguir algumas ferramentas lançadas pela Docker que ajudam a reforçar a segurança dos contêineres.

Docker Content Trust

– Verifica se os contêineres virtuais levam assinatura criptografada dos usuários antes de serem liberados. O sistema utiliza duas chaves de criptografia, sendo uma para a assinatura de imagens Docker (disponível online). A segunda tem capacidade para criar novas chaves por repositório (mantidas offline). Esse mecanismo dificulta a falsificação de assinaturas de imagens por intrusos.

Bench for Security

– Avalia se o ambiente Docker está em conformidade com as melhores práticas. Sua função é verificar se as recomendações de segurança implementadas corretamente durante a configuração do serviço Docker.

Docker Hub

– Ferramenta tem funcionalidade parecida dom o GiftHub, que cria repositório para armazenar imagens do Docker. Sistema faz a liberação das imagens de forma segura.

Security Scanning

– Conhecido por Projeto Nautilus, sistema foi liberado recentemente em Nuvem. A solução fornece um perfil de segurança detalhado das imagens Docker com objetivo de tornar o ambiente em conformidade com as melhores práticas. A ferramenta faz uma varredura das imagens antes de serem utilizadas e monitoramento de vulnerabilidades.

Com uso dessas ferramentas e implementação das boas práticas de segurança você reduz os riscos na adoção não apenas do Docker como de qualquer outra tecnologia para tornar seu negócio mais ágil e competitivo.

Gostou do artigo? Comente!


Comente o que achou