As vantagens práticas do DevOps já são cada vez mais conhecidas, assim como as brechas de segurança que podem surgir de sua prática. Felizmente, surge uma alternativa que une a velocidade e a segurança ideais: o SecDevOps
O DevOps surgiu baseado em uma premissa inteligente e que faz completo sentido no contexto da busca por performance e eficiência: eliminar silos operacionais, aproximando a área de desenvolvimento da de operações. Os benefícios desta metodologia de trabalho já foram amplamente comentados e, por este motivo, é cada vez mais comum sua adoção por empresas dos mais variados tamanhos e segmentos. Por outro lado, como ocorre em qualquer prática de trabalho, o DevOps também traz desvantagens e requer certos cuidados; no caso, estes pontos recaem majoritariamente sobre a segurança.
Como o foco desta prática é a escalabilidade e a agilidade na produção, em grande parte pela pressão de se produzir cada vez mais rápido e com foco em usabilidade. Diante disso, a segurança é frequentemente vista como o entrave, um gargalo em um fluxo de produção acelerado; como consequência, ela é frequentemente relegada a segundo plano dentro do pipeline de CI/CD do DevOps. Ato contínuo, os apps produzidos e publicados assim podem carregar vulnerabilidades não identificáveis logo de início, chegando ao público com brechas que podem ser exploradas por criminosos.
Em um momento em que as regulamentações como GDPR e LGPD se tornam cada vez mais presentes e relevantes, e a sociedade, mais crítica com relação à forma como seus dados são processados e armazenados, ignorar a segurança em qualquer projeto é expor o próprio negócio a riscos elevados – com consequências potenciais muito sérias. Esta dualidade – agilidade x segurança – leva rotineiramente a conflitos de equipe e escolhas forçadas entre reduzir o ritmo do desenvolvimento ou acelerar a produção, sob risco de deixar espaço para ações maliciosas. A solução, portanto, envolvia mudar novamente a perspectiva da execução do projeto.
Segurança é uma questão de princípio
Foi seguindo o mesmo princípio do DevOps – união de áreas e disciplinas para otimização da condução do projeto – que surgiu o conceito de SecDevOps. Aqui, as equipes de desenvolvimento e operações recebem também o apoio do pessoal de segurança, de modo que questões essenciais deste quesito são solucionadas logo no início do desenvolvimento. Ao invés de deixar a segurança para a etapa final de testes e QA, ela já é pensada direto no código – seguindo o preceito de security-as-a-code (SaC) – por meio de análises, automação e inserção de recursos de segurança nas ferramentas usadas pelo DevOps; isso garante mais proteção sem prejudicar a agilidade no desenvolvimento.
A importância desta prática não pode ser ignorada. Ao se adotar um pensamento em segurança desde o início do fluxo de CI/CD, toda a construção do software é conduzida de modo a integrar as boas práticas de desenvolvimento seguro ao produto, o que reduz substancialmente a quantidade de vulnerabilidades com que ele é publicado. Na prática, isso se traduz em um aplicativo muito mais robusto e confiável do ponto de vista da cibersegurança, o que gera menos riscos de violações do programa por parte de indivíduos ou grupos maliciosos. Para a empresa dona do produto, este nível de confiabilidade é crucial para reduzir as chances de sanções e penalidades dos órgãos governamentais, por conta de exposição de dados de clientes. Similarmente, para aplicações corporativas ou de uso interno, essa solidez proporcionada pelo SaC ajuda a trazer mais proteção para dados críticos e propriedade intelectual e financeira da empresa, ao minimizar as chances de sucesso em ações de hackers.
Diante disso, convém analisar alguns pontos que podem ajudar uma empresa interessada em adotar este procedimento em seu pipeline:
Automação
Processos manuais não funcionam bem para o DevOps e, seguramente, serão ainda piores para o SecDevOps. Invista em ferramentas de orquestração e automação de segurança, se utilizando de recursos como análises de imagem de container, machine learning e inteligência de ameaças para manter seu fluxo seguro desde o desenvolvimento até o roll-out.
Procedimento
O próprio princípio do CI/CD exige constante troca colaborativa entre os stakeholders de cada área envolvida no projeto, e isso é particularmente importante para esta metodologia. Cada atualização deve ser automaticamente analisada em busca de vulnerabilidades, e soluções para os problemas encontrados devem ser discutidas dentro do fluxo de produção para implementação efetiva e sem perda de performance.
Aculturação
Segurança tem um alto valor agregado, porém nem sempre isso fica evidente diante do usuário final (seja ele público externo ou interno da empresa). Isso pode enfraquecer a iniciativa de se somar a equipe de segurança aos projetos de DevOps – o que efetivamente impediria a implantação do SecDevOps. É necessário, portanto, que a liderança atue diretamente na conscientização de cada área sobre a importância de uma atuação conjunta constante.
Um olhar para o futuro
Implementar o SecDevOps é uma questão de necessidade para as empresas que buscam o máximo em produtividade sem sacrificar a qualidade da segurança em todo o processo de desenvolvimento. Como ocorre em qualquer caso de implementação de novas metodologias, é necessário superar o apego a práticas antigas para pôr em prática as novas, e vale salientar: quanto mais cedo, melhor.
Ao investir em ferramentas de automação de segurança e análise, a adoção de recursos como nuvens, contêineres e estruturas serverless se torna mais efetiva, com proteção sem perda de performance; paralelamente, a junção da expertise em cibersegurança com a de desenvolvimento e operações traz uma visão abrangente e madura sobre o fluxo de CI/CD, o que resulta em produtos bem construídos, feitos com agilidade e com a robustez necessária para enfrentar o atual cenário digital mundial.