Jump to section

DevSecOps

Copiar URL

DevSecOps significa desenvolvimento, segurança e operações. É uma abordagem à cultura, automação e design da plataforma que integra segurança ao DevOps como uma responsabilidade compartilhada em todo o ciclo de vida da TI.

A metodologia DevOps não envolve apenas as equipes de desenvolvimento e de operações. Se você quiser aproveitar ao máximo a agilidade e a capacidade de resposta proporcionadas pela abordagem DevOps, também será necessário que a equipe de segurança da TI desempenhe um papel integrado em todo o ciclo de vida das aplicações da sua empresa.

Por quê? Antigamente, a segurança era delegada a uma equipe específica que atuava isoladamente no estágio final do desenvolvimento. Isso não era um problema quando os ciclos de desenvolvimento duravam meses ou anos. Mas hoje em dia, não é mais assim. Uma implementação eficaz de DevOps consegue ciclos de desenvolvimento rápidos e frequentes, muitas vezes com duração de semanas ou dias. No entanto, práticas antigas de segurança podem arruinar até as iniciativas de DevOps mais eficientes.

Illustration representing a linear progression from Development to Security and then to Operations

Agora, no framework colaborativo do DevOps, a segurança é uma responsabilidade compartilhada e integrada do início ao fim. É uma mentalidade tão importante que resultou na criação do termo "DevSecOps" para enfatizar a necessidade de criar uma base de segurança para sustentar as iniciativas de DevOps.

Illustration representing collaboration between Development, Security, and Operations roles

DevSecOps significa pensar na segurança da aplicação e da infraestrutura desde o início. Também significa automatizar algumas barreiras de segurança para evitar que o fluxo de trabalho de DevOps fique lento. Selecionar as ferramentas corretas para integrar a segurança continuamente – como concordar em implementar um ambiente de desenvolvimento integrado (IDE) com funcionalidades de segurança – é um meio de atingir essas metas. No entanto, uma segurança eficaz em DevOps requer mais do que ferramentas novas: ela deve ser criada com base nas mudanças culturais geradas pelo DevOps e se integrar ao trabalho das equipes de segurança o quanto antes.

Independentemente de receber o nome de "DevOps" ou "DevSecOps", o ideal sempre foi incluir a segurança como parte integral de todo o ciclo de vida da aplicação. DevSecOps é uma abordagem de segurança integrada, não apenas uma camada de proteção em torno de aplicações e dados. Se a segurança for implantada apenas no final do pipeline de desenvolvimento, as empresas que usam DevOps podem acabar voltando aos longos ciclos de desenvolvimento que querem evitar.

Em parte, o DevSecOps destaca a necessidade de convidar as equipes e parceiros de segurança a participarem das iniciativas de DevOps desde o início, a fim de integrar a segurança da informação e estabelecer um plano de automação de segurança. Essa metodologia também salienta que é preciso ajudar os desenvolvedores a criar os códigos levando a segurança em consideração, um processo que exige que as equipes de segurança compartilhem insights, feedbacks e visibilidade sobre as ameaças conhecidas, como internas ou malware em potencial. Possivelmente, esse esforço demandará também um novo treinamento de segurança para os desenvolvedores, já que esse tópico nem sempre está entre os focos principais do desenvolvimento de aplicações tradicional.

O que é a integração da segurança de fato? Primeiro, uma boa estratégia de DevSecOps é determinar a tolerância a riscos e conduzir uma análise de riscos e benefícios. Quantos controles de segurança são necessários para uma determinada aplicação? Quão importante é acelerar o time to market para aplicações diferentes? Automatizar tarefas repetitivas é essencial para o DevSecOps, já que verificações de segurança manuais no pipeline podem ser muito demoradas.

DevOps Culture and Practice with OpenShift e-book cover image

Aprenda sobre a cultura e prática de DevOps com o Red Hat OpenShift

O que é preciso fazer: manter os ciclos de desenvolvimento curtos e frequentes, integrar as medidas de segurança com mínima interrupção das operações, acompanhar o ritmo das tecnologias inovadoras (como containers e microsserviços) e, acima de tudo, estimular a colaboração entre equipes que normalmente trabalham isoladas, uma tarefa complicada em qualquer organização. Todas essas iniciativas começam pelas pessoas, com a colaboração de todos na empresa. No entanto, o elemento facilitador dessas mudanças no aspecto humano do framework de DevSecOps é a automação.

Illustrations representing that DevOps plus Automation equals Security

Mas o que e como automatizar? Existe uma orientação por escrito que ajuda a responder a essa pergunta. As organizações devem dar um passo para trás e refletir sobre todo o ambiente de desenvolvimento e operações. Isso inclui repositórios de controle de fontes, registros de containers, pipeline de integração e implantação contínuas (CI/CD), automação de orquestração e lançamento, gerenciamento de interfaces de programação de aplicações (APIs) e gerenciamento/monitoramento operacional.

As novas tecnologias de automação ajudam as organizações a adotar práticas de desenvolvimento mais ágeis. Elas também têm desempenhado um papel fundamental ao promover avanços nas novas medidas de segurança. No entanto, a automação não é a única parte do panorama de TI que mudou nos últimos anos. As tecnologias nativas da nuvem, como containers e microsserviços, agora são essenciais na maioria das iniciativas de DevOps, e é necessário adaptar a segurança de DevOps para que seja compatível com elas.

Com o uso de containers, as infraestruturas ganharam mais dinamismo e escalabilidade e, assim, muitas organizações mudaram completamente sua maneira de fazer negócios. Por isso, as práticas de segurança de DevOps precisam ser adaptadas a esse novo panorama e alinhadas a diretrizes de segurança específicas para containers.

As tecnologias nativas em nuvem são compatíveis com as políticas e listas de verificação de segurança estáticas. É necessário que a segurança seja contínua e integrada em todos os estágios do ciclo de vida da infraestrutura e dos aplicativos.

DevSecOps significa integrar a segurança ao desenvolvimento de aplicativos do início ao fim. Essa integração no pipeline requer que a organização adote uma nova mentalidade, assim como novas ferramentas. Com isso em mente, as equipes de DevOps devem automatizar a segurança para proteger o ambiente e os dados em geral, assim como o processo de entrega e integração contínuas. Essa é uma meta que provavelmente incluirá a segurança de microsserviços em containers.

Veja como implantar uma solução DevSecOps completa

Segurança para ambientes e dados

  • Padronize e automatize o ambiente: cada serviço deve ter o mínimo possível de privilégios para reduzir as conexões e os acessos não autorizados.
  • Centralize os recursos de controle de acesso e identidade de usuários: ter um controle rígido do acesso e usar mecanismos de autenticação centralizados são fatores essenciais para a segurança dos microsserviços, já que a autenticação é iniciada em vários pontos.

  • Isole os containers que executam microsserviços um dos outros e da rede: isso inclui dados em trânsito e em repouso, já que ambos os tipos podem ser alvos de ataques.

  • Criptografe os dados trocados entre aplicações e serviços: uma plataforma de orquestração de containers com funcionalidades de segurança integradas ajuda a minimizar a chance de ocorrerem acessos não autorizados.

  • Introduza gateways de API seguros: APIs seguras aumentam a visibilidade de autorização e roteamento. Ao diminuir a quantidade de APIs expostas, as organizações podem reduzir as superfícies de ataque.

Segurança do processo de CI/CD

  • Integre verificadores de segurança para containers: isso deve fazer parte do processo de inclusão de containers no registro.

  • Automatize os testes de segurança no processo de integração contínua: isso inclui executar ferramentas de análise estática de segurança como parte das compilações, bem como verificar quaisquer imagens de container criadas anteriormente para encontrar vulnerabilidades de segurança conhecidas conforme elas são inseridas no pipeline de criação.

  • Adicione testes automatizados para os recursos de segurança no processo de teste de aceitação: automatize os testes de validação de entradas e os funcionalidades de autorização e autenticação da verificação.

  • Automatize as atualizações de segurança, como patches, para identificar vulnerabilidades conhecidas: faça isso por meio de um pipeline DevOps. Essa medida deve eliminar a necessidade de administradores se conectarem aos sistemas de produção, a mesmo tempo que cria um log de alterações rastreáveis e documentadas.

  • Automatize os recursos de gerenciamento das configurações de serviços e sistemas: com isso, é possível manter a conformidade com as políticas de segurança e eliminar os erros manuais. As tarefas de auditoria e correção também devem ser automatizadas.

Leitura recomendada

ARTIGO

O que é DevSecOps?

Se você quiser aproveitar ao máximo a agilidade e a capacidade de resposta do DevOps, a equipe de segurança da TI precisará participar de todo o ciclo de vida das suas aplicações.

ARTIGO

O que é CI/CD?

A prática de CI/CD aplica monitoramento e automação contínuos a todo o ciclo de vida das aplicações, desde as etapas de teste e integração até a entrega e a implantação.

ARTIGO

O que faz o engenheiro de DevOps?

O engenheiro de DevOps é um profissional que reúne uma combinação única de habilidades e tem o conhecimento especializado para promover mudanças em termos de colaboração, inovação e cultura dentro da empresa.  

Leia mais sobre DevOps

Soluções Red Hat

Um programa de residência imersiva com especialistas da Red Hat, no qual você aprende a usar uma metodologia ágil e ferramentas open source para solucionar problemas empresariais.

Os consultores estratégicos da Red Hat fornecem uma visão geral da sua organização, analisam os desafios e ajudam a superá-los com soluções abrangentes e econômicas.

Conteúdo adicional

Checklist

Automação empresarial com uma metodologia DevOps

Whitepaper

Otimize pipelines de CI/CD com o Red Hat Ansible Automation Platform