DevSecOps para aplicações baseadas na Nuvem

A tarefa de implementar o DevSecOps em um ambiente de desenvolvimento que seja altamente baseado na nuvem tem alguns desafios próprios, por conta de:

  • Vulnerabilidades próprias das operações em nuvem;
  • Abordagem de configuração-como-código;
  • Dinamismo do ambiente.

 

Desafiador? Sim, mas não impossível!

DevSecOps sob medida

Escaneamento e automação

Um dos fundamentos da segurança no desenvolvimento de softwares é escanear o código em busca de vulnerabilidades. Na nuvem, normalmente as aplicações rodam como pacotes em um container; assim, o ideal é checar o código antes de montá-lo como imagem de container em sistemas de CI/CD.

As verificações devem ser distribuídas ao longo de todo o processo (desenvolvimento, testagem e implementação) não só para encontrar vulnerabilidades o mais cedo possível, mas também para evitar que a segurança se torne um gargalo. No fim das contas, isso vai garantir que o código seja seguro para ser “empacotado” e distribuído na nuvem.

Ferramentas de SAST e SCA são extremamente valiosas nessa tarefa, tanto pela qualidade dos resultados quanto pela flexibilidade – elas podem rodar tanto localmente como em sistemas de CI/CD nas diferentes fases da cadeia de desenvolvimento.

Esses processos devem ser feitos de maneira contínua e, sempre que possível, automatizada.

Proteção na execução

É possível criar imagens de container com aplicações livres de vulnerabilidades, mas como elas são distribuídas para data centers e rodam em máquinas virtuais, é importante se proteger contra problemas que surgem na execução do software.

Quando falamos em aplicações nativas da nuvem, é crucial monitorar e analisar as atividades dentro dos containers (conexões de rede, processos, chamadas de sistema, atividades em arquivos).

Também é necessário prestar atenção na infraestrutura do container – os sistemas de segurança devem ser capazes de detectar comportamentos incomuns (como mudanças de configuração e variações de ambiente) e suspeitos.

Soluções nativas

Provedores de serviços de nuvem normalmente oferecem soluções de segurança próprias. Idealmente, elas criam uma camada de segurança externa que é ao mesmo tempo sólida e flexível.

Este segundo ponto é importante porque pode ser necessário alterar as configurações de segurança durante a implementação ou em fases posteriores do ciclo. Com a flexibilidade, fica mais fácil automatizar esses processos nos sistemas de CI/CD.

Políticas e restrições

Existem três grandes categorias de políticas em ambientes de nuvem que ajudam a garantir a integridade e a privacidade das informações da sua organização:

  • Políticas de Rede: Estabelecem um “perímetro de segurança” para a aplicação que roda no provedor, de modo que apenas ports, IPs e redes autorizados tenham acesso;
  • Políticas de Gerenciamento Financeiro: Controlam os orçamentos operacionais e monitoram as tendências para identificar aumentos súbitos (que podem estar ligados a invasões);
  • Políticas de Performance: Estabelecem limites de performance para VMs, armazenamento e redes para monitorar o uso de serviços.

 

É preciso definir o alcance dessas políticas, implementá-las no provedor de nuvem e monitorar mudanças não autorizadas. Também é necessário mantê-las atualizadas de acordo com a implementação das aplicações, e incorporá-las em todas as fases da cadeia de DevSecOps.

O DevSecOps pode estar ao alcance da sua organização – especialmente se você contar com o apoio de um especialista qualificado. Clique aqui e agende uma conversa!

Newsletter

Assine nossa newsletter e seja avisado sobre novos artigos, cases, eventos e muito mais.

E-books e Relatórios

Conheça nossa base de ebooks, artigos, relatórios e cases. Aprenda sobre as boas práticas de testes, qualidade de software e muito mais.

Tudo disponível para download gratuitamente.