O que é DevSecOps?

Copiar URL

DevSecOps significa desenvolvimento, segurança e operações. É uma abordagem a cultura, automação e design da plataforma que integra segurança 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 de uma abordagem DevOps, a equipe de segurança da TI também precisará participar integradamente de todo o ciclo de vida das suas apps.

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 tão problemático quando os ciclos de desenvolvimento duravam meses ou até anos, mas já 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 impedir a desaceleração do fluxo de trabalho de DevOps. 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 de DevOps eficaz requer mais do que novas ferramentas: ela se baseia nas mudanças culturais do DevOps para integrar o trabalho das equipes de segurança o quanto antes.

Essa prática de priorizar a segurança a partir das primeiras frases de planejamento e desenvolvimento por meio do runtime é referida com frequência como segurança shift left e shift right. Implementar e automatizar o DevSecOps, utilizando a abordagem de shift left, oferece aos desenvolvedores recursos de segurança intuitivos que podem reduzir os erros de usuário nos estágios de criação e implantação, além de proteger as cargas de trabalho no runtime. Realizar shift right é continuar a prática de testes, controle de qualidade e avaliação de desempenho no ambiente de pós-produção.

Mais informações sobre por que escolher a Red Hat para DevSecOps

Recursos da Red Hat

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 app. O DevSecOps trata de segurança integrada, e não de segurança que funciona como um perímetro em torno de apps e dados. Se a segurança permanecer no final do pipeline de dados de desenvolvimento, as organizações que adotam o DevOps podem acabar voltando para os longos ciclos de desenvolvimento que estavam tentando 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 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. O DevSecOps também se concentra em identificar riscos à cadeia de suprimentos de software, reforçando a segurança dos componentes e dependências do software open source no início do ciclo de vida de desenvolvimento do software. Para ter sucesso, uma abordagem DevSecOps eficaz também pode incluir novos treinamentos de segurança para desenvolvedores, já que esse nem sempre foi o foco no desenvolvimento de aplicações mais tradicionais.

Como realmente é a segurança integrada? Para começar, uma boa estratégia de DevSecOps é determinar a tolerância a riscos e realizar uma análise de risco/benefício. Quantos controles de segurança são necessários em uma determinada app? Qual é a importância da velocidade da disponibilização para diferentes apps? Automatizar tarefas repetitivas é fundamental para o DevSecOps, já que fazer verificações manuais de segurança no pipeline de dados pode consumir muito tempo.

Use o Red Hat® Trusted Software Supply Chain na codificação, criação e monitoramento

O que fazer: manter ciclos de desenvolvimento curtos e frequentes, integrar medidas de segurança com disrupções para operações, manter tecnologias inovadoras como containers e microsserviços, e ao mesmo tempo promover uma colaboração mais próxima entre equipes comumente isoladas. Essa é uma tarefa difícil para 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? Existem orientações escritas para ajudar a responder a essa pergunta. As organizações precisam recuar e considerar todo o ambiente de operações e desenvolvimento. Isso inclui repositórios de controle de fontes, registros de containers, pipeline de integração e implantação contínuas (CI/CD), gerenciamento de interface de programação de aplicações (API), automação de versão e orquestração e monitoramento e gerenciamento operacional.

Novas tecnologias de automação ajudam organizações a adotar práticas de desenvolvimento mais ágeis e também desempenham um papel no avanço das novas medidas de segurança. No entanto, a automação não é apenas a única coisa sobre o cenário de TI que mudou nos últimos anos, as tecnologias nativas em nuvem, como containers e microsserviços, são agora a maior parte das iniciativas DevOps, e a segurança do DevOps precisa se adaptar para atendê-las.

Cinco maneiras de implementar o DevSecOps usando a automação da TI

A escala maior e a implantação e o desenvolvimento mais dinâmicos possibilitados pelos containers mudaram a maneira como muitas organizações inovam. Por isso, as práticas de segurança de DevOps devem se adaptar ao novo cenário e se alinhar às diretrizes de segurança específicas para containers.

Tecnologias nativas em nuvem não cedem a checklists e políticas de segurança estáticas. Em vez disso, a segurança precisa ser contínua e integrada em todas as fases do ciclo de vida da app e da infraestrutura.

DevSecOps significa incorporar segurança em todo o desenvolvimento de apps. Além de novas ferramentas, essa integração no pipeline de dados exige uma nova mentalidade organizacional. 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.

O Red Hat® Advanced Cluster Security for Kubernetes realiza o shift left da segurança e automatiza as práticas recomendadas de DevSecOps. A plataforma funciona com qualquer ambiente Kubernetes e se integra com o DevOps e as ferramentas de segurança, ajudando as equipes a operacionalizar e proteger melhor suas cadeias de suprimentos, infraestruturas e cargas de trabalho.

Segurança de ambientes e dados

  • Padronizar e automatizar o ambiente: cada serviço deve ter menor privilégio possível para minimizar acesso e conexões não autorizadas.
  • Centralizar recursos de controle de acesso e identidade de usuário: controle de acesso rigoroso e mecanismos de autenticação centralizados são essenciais para proteger microsserviços, pois a autenticação é feita em diversos pontos.
  • Isolar containers que executam microsserviços uns dos outros e da rede: isso abrange dados em repouso e em trânsito pois ambos podem ser alvos de grande valor para invasores.
  • Criptografar dados entre apps e serviços: uma plataforma de orquestração de containers com funcionalidades de segurança integradas ajuda você a minimizar a chance de acessos não autorizados.
  • Introduzir gateways de API segura: APIs seguras aumentam a visibilidade de roteamento e autorização. Ao reduzir APIs expostas, as organizações podem reduzir superfícies de ataques.

Segurança do processo de CI/CD

  • Integrar varreduras de segurança para containers: isso deve fazer parte do processo de inclusão de containers ao registro.
  • Automatizar o teste de segurança no processo de CI: isso inclui executar ferramentas de análise estáticas de segurança como parte de builds, além de verificar imagens de container pré-cridas em busca de vulnerabilidades de segurança conhecidas conforme são inseridas no pipeline de build.
  • Adicionar testes automatizados para recursos de segurança em processo de aceitação: automatize testes de validação de entrada e funcionalidade de aceitação e autorização de verificação.
  • Automatizar as atualizações de segurança, como patches para vulnerabilidades conhecidas: faça isso com o pipeline de DevOps. Ele deve eliminar a necessidade de os administradores entrarem nos sistemas de produção, ao mesmo tempo que cria um log de alterações documentado e rastreável.
  • Automatizar recursos de gerenciamento de configuração de serviços e sistemas: isso possibilita a conformidade com políticas de segurança e a eliminação de erros manuais. As tarefas de auditoria e correção também devem ser automatizadas.

Mais informações sobre segurança de CI/CD 

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

O que é gerenciamento de segredos?

O gerenciamento de segredos é um método para garantir a proteção das informações confidenciais necessárias para realizar suas operações diárias.

O que é o controle de acesso baseado em função (RBAC)?

O controle de acesso baseado em função é uma maneira de gerenciar o acesso de um usuário a sistemas, redes ou recursos com base na função dele dentro de uma equipe ou empresa de maior porte.

Shift left e shift right

Realizar shift left e shift right é implementar testes contínuos em cada estágio do ciclo de vida de desenvolvimento do software.

Segurança: leitura recomendada

Artigos relacionados