BLOG TD SYNNEX
O blog dos negócios de TI.

Segurança em arquiteturas de microsserviços

Descubra os desafios e as vantagens oferecidas pelo modelo de contêiner e quais são as mudanças necessárias na aplicação de segurança com sua implantação.

 

Segurança em arquiteturas de microsserviços

 

 

Microsserviço é uma nova abordagem que divide as aplicações maiores em componentes pequenos e distintos, unindo-os em contêineres virtuais capazes de serem movidos ou duplicados para lidar com cargas de trabalho pesadas. Eles são ideais para serviços individuais, são mais fáceis de entender e podem ser desenvolvidos e implantados de forma independente.


A partir da arquitetura de microsserviço é possível desenvolver uma única aplicação como uma suíte de serviços, rodando em seu próprio processo e se comunicando com os demais através de mecanismos leves. Existe um gerenciamento centralizado mínimo destes serviços, os quais podem ser escritos em diferentes linguagens e usar diferentes tecnologias para armazenamento de dados.


Esta arquitetura possui diversos benefícios, como o de cada serviço pode ser implantado de forma independente de outros, ou seja, caso o desenvolvedor de um serviço precise implementar uma modificação, não será necessário coordenação com outros desenvolvedores. Ele poderá simplesmente implantar suas modificações.


Além disso, cada serviço pode ser escalado de forma independente dos outros e ser implantado em um hardware mais adequado para as exigências de seus recursos. A arquitetura de microsserviços ainda melhora o isolamento de falhas e facilita o escalonamento de processos.


Porém, como toda tecnologia em desenvolvimento, também possui uma série de desafios. Ela gera uma complexidade operacional maior, pois há um número elevado de elementos que devem ser gerenciados na produção, assim, precisa-se de um alto nível de automação. Além de que a implantação de serviços requer uma coordenação maior, sendo importante um plano para gerenciar as várias equipes de desenvolvimento.


A arquitetura de microsserviços ainda se difere dos mecanismos tradicionais de segurança. Ela consegue minimizar a superfície de ataque e permitir uma maior segmentação dos componentes de aplicação. Entretanto, esse mecanismo é mais difícil de se monitorar através de ferramentas tradicionais de segurança.


Portanto, antes de se dedicar a esta abordagem, é necessário compreender os principais conceitos e as melhores táticas para garantir que a proteção seja configurada de maneira adequada.

Principais conceitos:

1 - Proliferação de endpoints: cada instância do serviço ainda é um endpoint de uma rede exclusiva. Embora a superfície de ataque da aplicação não seja mais concentrada em servidores isolados, aumenta de acordo com a propagação de serviços, pois muito mais portas estão abertas, APIs expostos e a autenticação se tornou apenas uma questão de distribuição.


2 - IPs efêmeros e perímetros indefiníveis: contêineres podem ser movidos em questão de segundos, assim a noção de perímetro está desaparecendo. Além disso, IPs dinâmicos e escalonamento de serviços não são mais viáveis para configurar IPs estáticos ou para orientar o tráfego de perímetros de segurança de aplicativos tradicionais.


3 - Entropia e mascaramento do contêiner: contêineres aumentam a entropia da infraestrutura, porque podem ser orquestradas de forma dinâmica em todos os serviços, ou nuvens. Outro desafio é que o endereço IP de um contêiner pode ser invisível fora de onde é executado, assim a configuração de segurança em uma aplicação externa torna-se um problema, já que as fontes de tráfego não podem ser identificadas.


4 - Arquiteturas de microsserviços e contêineres: possui facilidade de implantar novos serviços e instâncias dinâmicas de serviços, mas pode complicar a definição de políticas de segurança, caso os administradores não saibam as regras que regem as suas interações. Além disso, o aumento de serviços no interior do Data Center ou na nuvem significa que mais transações requerem interações entre os serviços para serem cumpridas.


5 - Os princípios de DevOps (amálgama de Desenvolvedor e Operações - que é a reação à interdependência entre desenvolvimento de software e operações de TI): são conceitos promissores para a linha de negócio, tanto para desenvolvedores como para administradores de sistemas, pois assim, os desenvolvedores conseguem manter o foco na sua atividade principal, enquanto os times de operações se beneficiam da flexibilidade, de menores áreas ocupadas no Data Center e de custos mais baixos. Porém, processos e ferramentas de segurança ainda estão se desenvolvendo para acompanhar a agilidade desse desenvolvimento.

Práticas recomendadas de segurança para microsserviços:

A questão da segurança deve ser levada em conta antes de se adotar e implementar aplicações de microsserviços. Como as práticas de DevOps têm ocupado espaço nas empresas e o uso de aplicações de contêiner tem crescido, os administradores de TI precisam conhecer as melhores práticas de segurança para garantir a proteção das aplicações de microsserviços. Confira as principais:


Monitorar as comunicações entre serviços: os administradores de segurança, muitas vezes, não sabem as interações permitidas entre os diferentes serviços nas aplicações de microsserviços. Por isso, precisam configurar políticas de segurança que governam as interações com base nas instruções de implantação dos aplicativos dos desenvolvedores.


Para garantir a segurança, deve-se visualizar o tráfego entre os serviços, para entender o comportamento da aplicação e ser possível estabelecer as bases da política. Assim, identifica-se automaticamente novos serviços na aplicação. Além de ajudar as equipes de segurança a notarem padrões de comunicação anômalos ou identificar possíveis violações.


Segmentação de serviços isolados: a segmentação para trabalhar em aplicações de microsserviços deve aplicar políticas no nível de cluster em todas as instâncias de serviço, uma vez que a direção do tráfego baseado no perímetro não é prático.


Criptografia dos dados em trânsito e estáticos: realizar a criptografia do tráfego entre as aplicações ou serviços que compõem uma aplicação para atender aos requisitos de conformidade e para melhorar a segurança, especialmente quando o tráfego atravessa redes públicas.


Automatizar o gerenciamento de políticas: para minimizar erros humanos, é ideal a automatização de tarefas, tais como a definição de políticas que podem ser replicadas em todos os aplicativos, separando funções de desenvolvimento das administrativas, e gerenciamento de certificados SSL e chaves.


A tecnologia de contêiner trabalha melhor quando cada elemento é designado para um processo simples. Portanto, começar a implantação de uma arquitetura de microsserviços para grandes aplicações ou projetos de software pode representar uma demanda intensiva de recursos inicialmente, porém todos os esforços são recompensados com ganho de agilidade.

Por isso, antes de se iniciar o processo de implantação, é importante que o departamento de TI divida as funções de cada equipe, assim cada uma fica responsável pelo desenvolvimento e implantação de um único serviço ou um conjunto de serviços relacionados, tornando possível desenvolver, implantar e escalar seus serviços de forma independente.

 

80f01a82-lp-digital-02_10000000lr0gn000000028
ESPAÇOS DE TRABALHO DIGITAIS. CONHEÇA TUDO SOBRE ESTA NOVA ESTRATÉGIA COLABORATIVA.

Escreva seu comentário

Posts relacionados

3 previsões de privacidade para os próximos anos

As violações de dados estão aumentando. O que esperar para os próximos anos? Confira as principais previsões de privacidade para ficar de olho. 

3 estratégias para fortalecer a segurança da Supply Chain

Saiba como fortalecer a segurança da Supply Chain. 

Cibersegurança: as ameaças virtuais mais comuns no Brasil

O cenário de ameaças virtuais está se intensificando. Saiba quais são os principais ataques cibernéticos no Brasil!