Entenda o DevSecOps
A adoção da nuvem continua a acelerar à medida que as organizações procuram apoiar a produtividade empresarial, permitir o trabalho remoto e escalar as operações de forma eficiente. No entanto, essa rápida adoção sem infraestrutura de segurança adequada pode comprometer inadvertidamente os dados e expor as organizações a riscos significativos.
A lacuna de segurança nas aplicações na nuvem
As lacunas de segurança persistem mesmo com o crescimento da adoção da nuvem. As organizações que migram para plataformas de nuvem nem sempre implementam controles de segurança apropriados:
Lacunas de encriptação: Muitas aplicações na nuvem não protegem adequadamente os dados:
- Dados em repouso: Bancos de dados, contas de armazenamento e sistemas de arquivos não criptografados deixam os dados vulneráveis quando a mídia de armazenamento é acessada, roubada ou descartada indevidamente.
- Dados em trânsito: As aplicações que transmitem dados através de ligações não encriptadas expõem as informações à interceção. Até mesmo o tráfego de rede interno deve ser criptografado.
- Lacunas comuns: Percentagens significativas de aplicações SaaS não encriptam dados adequadamente. Os aplicativos de armazenamento geralmente não têm criptografia em repouso e em trânsito. Os aplicativos de colaboração frequentemente transmitem informações confidenciais sem proteção adequada.
Deficiências de proteção de sessão: O gerenciamento de sessão fraco cria vulnerabilidades:
- Cabeçalhos de segurança HTTP ausentes: Aplicativos que não implementam cabeçalhos de segurança como HSTS (HTTP Strict Transport Security), CSP (Content Security Policy) e atributos de cookie seguro deixam as sessões vulneráveis a sequestro.
- Exposição ao token: Os tokens de sessão transmitidos de forma insegura podem ser intercetados e reutilizados por invasores para se passar por usuários legítimos.
- Adoção limitada: Muito poucos aplicativos SaaS implementam proteção abrangente de sessão de cabeçalho HTTP, deixando os usuários vulneráveis a ataques baseados em sessão.
O que é Secure DevOps (DevSecOps)
A tensão entre velocidade e segurança: O DevOps enfatiza o trabalho mais rápido por meio de automação, integração contínua e implantação rápida. A segurança tradicionalmente enfatiza o rigor, a revisão cuidadosa e os testes abrangentes. Estes objetivos podem parecer contraditórios.
Problemas tradicionais da abordagem de segurança: Quando as preocupações de segurança são abordadas apenas no final do ciclo de desenvolvimento, surgem várias questões:
- O trabalho não planejado aparece logo antes da implantação, quando as equipes estão sob pressão para liberar.
- Os problemas de segurança detetados tardiamente exigem um retrabalho dispendioso das funcionalidades concluídas.
- A segurança torna-se um gargalo que retarda ou bloqueia as liberações.
- As equipas vêem a segurança como um obstáculo e não como um facilitador.
- Vulnerabilidades críticas de segurança podem ser despriorizadas devido a pressões de liberação.
A solução Secure DevOps: O Secure DevOps integra a segurança com as práticas de DevOps em um conjunto coeso de atividades projetadas para atender aos objetivos de velocidade e eficácia de segurança do DevOps. A segurança torna-se parte do processo de desenvolvimento desde o início, em vez de uma porta no final.
Benefícios da integração: Um pipeline de DevOps seguro permite que as equipes de desenvolvimento trabalhem rapidamente sem interromper seus projetos, introduzindo vulnerabilidades de segurança indesejadas. Segurança e velocidade tornam-se complementares, em vez de objetivos opostos.
Observação
O Secure DevOps também é por vezes referido como DevSecOps. Você pode encontrar os dois termos, mas cada um se refere ao mesmo conceito. A diferença terminológica é puramente estilística. As práticas e os princípios permanecem idênticos.
Como a segurança muda no Secure DevOps
Metodologias tradicionais de segurança: Historicamente, a segurança operava em ciclos mais lentos e concentrava-se principalmente em:
- Controlo de acessos: Gerir quem pode aceder a sistemas e dados através de mecanismos de autenticação e autorização.
- Endurecimento do ambiente: Configurar sistemas para remover serviços desnecessários, aplicar patches de segurança e impor configurações seguras.
- Proteção perimetral: Usando firewalls, sistemas de deteção de intrusão e segmentação de rede para proteger o limite da rede.
Âmbito de segurança alargado: O Secure DevOps inclui essas metodologias de segurança tradicionais, mas estende as preocupações de segurança por todo o ciclo de vida de desenvolvimento de software. Com o Secure DevOps, a segurança consiste em proteger o pipeline em si e tudo o que flui através dele.
Foco na segurança do pipeline: O Secure DevOps envolve determinar onde adicionar proteção aos elementos que se conectam aos seus pipelines de compilação e lançamento:
- Repositórios de código-fonte.
- Crie servidores e agentes.
- Armazenamento e registos de artefactos.
- Ferramentas e processos de implantação.
- Infraestrutura como modelos de código.
- Sistemas de gestão de configuração.
- Soluções de gestão de segredos.
Abordagem global: O Secure DevOps mostra como e onde adicionar segurança às suas práticas de automação, ambientes de produção e outros elementos de pipeline, mantendo os benefícios de velocidade do DevOps. Os controlos de segurança são automatizados e integrados, em vez de manuais e separados.
Principais perguntas que o Secure DevOps aborda
O Secure DevOps ajuda as organizações a responder a perguntas críticas de segurança:
Segurança de componentes de terceiros:
- A minha linha de produção está a consumir componentes de terceiros e são eles seguros?
- Esses componentes vêm de fontes confiáveis?
- As assinaturas dos componentes são verificadas?
- As licenças são compatíveis com a nossa utilização?
Gestão de vulnerabilidades:
- Existem vulnerabilidades conhecidas em algum dos softwares de terceiros que usamos?
- Como rastreamos as divulgações de vulnerabilidades para nossas dependências?
- Qual é o nosso processo de atualização de componentes vulneráveis?
- Temos um inventário de todas as dependências, incluindo as transitivas?
Velocidade de deteção (tempo para detetar):
- Com que rapidez posso detetar vulnerabilidades?
- As verificações de segurança são automáticas no fluxo de trabalho?
- Temos monitoramento de tempo de execução para problemas de segurança?
- Com que rapidez os alertas de segurança chegam às pessoas certas?
Velocidade de remediação (tempo de remediação):
- Com que rapidez posso corrigir as vulnerabilidades identificadas?
- Podemos implantar correções através do mesmo pipeline automatizado?
- Qual é o nosso processo para patches de segurança de emergência?
- Como verificamos se a remediação é eficaz?
Segurança como código
Práticas de segurança automatizadas: As práticas de segurança para detetar possíveis anomalias de segurança devem ser tão robustas e rápidas quanto outras partes do seu pipeline de DevOps. Isto inclui:
Automação da segurança da infraestrutura:
- Varredura de segurança automatizada da infraestrutura como modelos de código.
- Imposição de política como código para configurações de recursos na nuvem.
- Verificação de conformidade antes da implantação da infraestrutura.
- Monitorização contínua da postura de segurança da infraestrutura.
Automação de segurança de aplicativos:
- Teste estático de segurança de aplicativos (SAST) durante compilações.
- Teste dinâmico de segurança de aplicativos (DAST) em ambientes de preparação.
- Análise de composição de software para vulnerabilidades de dependência.
- Verificação de imagem de contêiner antes da implantação.
- Autoproteção de aplicativos em tempo de execução (RASP) em produção.
Segurança contínua: A segurança no Secure DevOps não é um único ponto de verificação. É uma validação contínua durante todo o desenvolvimento, implantação e operação. Cada estágio do pipeline inclui controles de segurança apropriados que são executados automaticamente sem retardar a entrega.