Modernização de Aplicações com contêiner – Mitos e verdades

conteineres-docker

DevOps, contêineres e microsserviços estão tomando conta do campo de desenvolvimento, assim como softwares estão dominando o mundo. Mas, com o crescimento explosivo dessas tecnologias e metodologias para modernização de aplicações, está tornando cada vez mais difícil separar o que é verdade do que é falso. Este é o caso, principalmente, quando se fala de segurança de um contêiner.

Neste artigo, vamos dar uma olhada especificamente nos mitos com relação à segurança e as oportunidades que a tecnologia de contêiner apresenta para integrar um ambiente confiável em cada fase do ciclo de vida de uma aplicação, que caso não tivesse a tecnologia de empacotamento, seria difícil de haver êxito.

Os fatos que você verá a seguir são essenciais para você que pensa em modernizar suas aplicações através de de metodologias ágeis, como DevOps. São dicas cruciais para quem quer turbinar suas operações.

Mito 1: Contêineres são inseguros

Contêineres são, na verdade, uma ferramenta de segurança que oferece mais métodos para proteger suas aplicativos. Melhoram o isolamento de aplicações e fornecem mecanismos mais rápidos e seguros para a correção de softwares em comparação com sistemas tradicionais, como Virtual Machines.

A realidade crua e simples é que contêineres inerentemente possuem uma superfície de ataque muito menor que a alternativa de entrega em VMs. Quando comparados ao modelo tradicional de entrega de application servers JEE, o avanço em segurança é calculado em ordens de magnitude.

Além disso, as plataformas de contêiner podem ter determinados recursos e processos de segurança integrados. Contêineres bem concebidos e entregues seguem o princípio de privilégio mínimo, onde o isolamento é estabelecido por padrão para limitar o acesso a somente os recursos necessários.

A restrição da visibilidade do contêiner para o mundo exterior e a limitação de suas comunicações com recursos desnecessários, faz com que a orquestração de privilégio mínimo proteja os contêineres e as aplicações.

Mito 2: Contêineres precisam de segurança adicional para proteger aplicações

Antes de comprar segurança adicional, examine sua solução de contêiner. O questionamento que vale a pena ser feito é:

“A sua solução garante segurança em todo o ciclo de vida da aplicação?”

A Segurança integrada deve ser um componente essencial de uma plataforma de contêiner. Precisa oferecer proteção para a maioria dos casos de uso.

Você não vai querer orçar uma solução de segurança se sua plataforma atual do contêiner já atende a essas necessidades. Além disso, ninguém quer o incômodo de tentar incorporar um pedaço de software a sua stack de tecnologia. Afinal, isso pode interromper o fluxo de desenvolvimento e resultar em sobrecarga operacional.

A maioria das plataformas de contêineres seguras preocupam-se com os perfis seccomp por padrão e facilita o uso dos Módulos de Segurança do Linux, e dos recursos de segurança do Kernel. Usando esses recursos e políticas que bloqueiam aplicativos, é possível atenuar muitos ataques.

Se ainda tiver dúvidas depois de alavancar recursos de segurança nativa do toda a solução contêiner, então considerar a segurança adicional de outras ferramentas pode ser o próximo passo lógico.

Mito 3: Preciso mudar minhas aplicações para obter segurança moderna

Contêineres aceleram o desenvolvimento, implantação e modernização de aplicações fazendo atualizações de segurança, upgrades, e patches de vulnerabilidade rápidos e fáceis de se instituir. Isto é possível sem alterar a natureza subjacente de suas aplicações existentes. Você não precisa adaptar seus aplicativos especiais de APIs, bibliotecas ou interfaces de usuário (UI).

Um bom exemplo disso é como contêineres facilitam a proteção de dados usando funcionalidades intuitivas. Podemos citar as redes de sobreposição criptografadas, que escondem e protegem as comunicações entre os contêineres. Não é preciso modificar aplicações para tirar proveito desse recurso padrão.

A verificação (scanning) de segurança e assinatura de imagem apresentam outro exemplo. As empresas querem abordagem de segurança que não atrapalhe o processo de desenvolvimento. Com segurança, verificação e assinatura de imagem, companhias podem estar seguras sabendo que as imagens são verificadas e livres de vulnerabilidades de segurança conhecidas. Essas políticas de assinatura impedem que conteúdo não confiável seja implantado, sem afetar o fluxo de trabalho.

Um dos maiores benefícios de contêineres é a segurança adicional. Ela pode ser incluída como uma capa em torno de um aplicativo, sem a necessidade de modificação de seu código-fonte. Adicione os recursos de segurança integrada que vêm com uma plataforma de contêiner e organizações terão recursos para manter suas aplicações seguras.

Um recurso simples, como a verificação das imagens, teria detectado a exposição do vazamento da Equifax. O episódio comprometeu a informações sigilosas de mais de 140 milhões de consumidores.

Mito 4: Todos os contêineres são os mesmos

Nem todos os contêineres são iguais. É necessário garantir uma postura de segurança forte, usando perfis padrão e diretivas de segurança de tempo de execução como armadura de aplicação. Certifique-se de que você está usando uma plataforma de contêiner que leva isso em consideração e estabelece um ciclo de vida seguro. Dessa maneira, você sabe a proveniência das imagens base dos contêineres (ou “golden images”). Isso garante uma base confiável para cada aplicativo que você desenvolver.

É importante ter em mente que imagens confiáveis são puxadas de registros privados. Elas são autenticadas porque isso permite a verificação da fonte e a segurança delas através de certificados, assinaturas e análises de confiança. Escaneando seu repositório de imagens base, é possível verificar a conformidade com os requisitos normativos e garantir a segurança das imagens do contêiner antes de você promovê-los para produção.

Mito n º 5: Contêineres são menos seguros do que Virtual Machines

A verdade é que contêineres bem feitos são muito mais seguros do que VMs. Fornecedores e desenvolvedores criam contêineres para empacotar aplicativos, adicionando uma camada de segurança. É muito mais simples de aplicar ambientes read-only com contêineres do que tentar impor limitações a VMs. Esse tipo de ambiente afasta muitos tipos de ataques, como por exemplo o Panamá Papers, que recentemente ganhou muita atenção.

Mito n º 6: A conformidade é difícil com contêineres

A conformidade é fácil com os contêineres. Eles usam políticas que permitem a predeterminação de uma infraestrutura que facilmente pode ser auditada. É possível aplicar e revisar estas políticas através de clusters de máquinas, dimensionando recursos de auditoria e a visibilidade. Além disso, contêineres permitem a automação baseada em políticas de regras de controle de acesso que cumpra os regulamentos de indústrias e governos.

É através destas políticas que organizações podem impor a segurança das imagens base,  abastecendo repositórios privados com verificação, independentemente da escala. Você pode promover contêineres e aplicações de produção alinhado com conformidade aos regulamentos. Essa abordagem elimina erros humanos e as vulnerabilidades abertas, que poderiam gerar não-conformidades.

Passando os mitos

Conforme apresentamos, a noção que os contêineres são inseguros está longe da verdade. Organizações querem o Santo Graal quando se trata de segurança. Buscam recursos de proteção integrados que abordam cada estágio do ciclo de vida do aplicativo. Tud isso sem impactar negativamente os fluxos de trabalho dos desenvolvedores.

Uma plataforma de contêineres pode ajudar a alcançar esse objetivo, protegendo contêineres e aplicações por padrão, limitando o acesso para o sistema de host usando diretrizes nativas do seccomp do Linux. Além disso, ela pode fornecendo capacidades adicionais como gestão de segredos, controle de acesso baseados em papel (RBAC) e verificação de imagens.

Quanto mais empresas adotam plataformas de contêineres, atingimos o consenso de que a tecnologia apresenta uma oportunidade única para reforçar a segurança em todo o ciclo de vida da aplicação. Isso permite a criação um modelo de governança forte.

É por isso que  muitas empresas que trabalham com dados pessoais e sensíveis usam Docker Enterprise Edition para construir um fluxo de trabalho de confiança progressiva para seu processo de desenvolvimento de aplicativos.

Este foi um conteúdo traduzido e adaptado do blog CSO. Estamos sempre produzindo e trazendo conteúdos relevantes como esse para nossa página. Que tal você recebe-los diretamente em seu e-mail assim que forem lançados?

Assine nossa newsletter! Basta incluir seu e-mail no rodapé da nossa page.

Esperamos te ver em breve. Até mais!