The Secure Developer: conversando sobre DevSecOps no Azure com Victoria Almazova, da Microsoft
Hayley Denbraver
26 de setembro de 2019
0 minutos de leituraEm fevereiro deste ano, a Snyk lançou uma nova comunidade educacional, independente de fornecedores e focada em segurança: The Secure Developer. A Snyk quer ajudar desenvolvedores a adotar uma mentalidade de segurança em todo o processo de desenvolvimento, e a comunidade The Secure Developer é o lugar ideal para isso: um espaço para aprender boas práticas de segurança com especialistas, de forma acessível e positiva.
Nos últimos sete meses, The Secure Developer promoveu sessões virtuais quinzenais sobre temas que vão de segurança de microsserviços a 10 controles proativos do OWASP.
Se você duvida do valor de uma sessão virtual, deixe-me dar uma ideia rápida do que acontece nelas, apresentando uma sessão recente do The Secure Developer. Espero que isso convença você a participar da nossa próxima sessão virtual.
DevSecOps no Azure com Victoria Almazova, da Microsoft
Victoria Almazova é arquiteta de soluções em nuvem na Microsoft. Seu trabalho envolve ajudar pessoas a planejar, projetar e implantar projetos na nuvem do Azure. Ela considera a segurança em todas as etapas desse processo — e foi exatamente sobre isso que falou em sua sessão recente. Victoria explicou como:
implementar a segurança do Azure no nível da assinatura
desenvolver aplicações seguras
implantar suas aplicações com segurança
fazer verificações periódicas de conformidade e segurança em produção
Quando o DevOps começou a ganhar popularidade, Victoria desconfiava do conceito, pois parecia deixar a segurança de lado. Com o tempo, ela passou a ver o DevOps como uma oportunidade de integrar a segurança de forma mais abrangente. Victoria definiu DevOps como a união de pessoas, processos e tecnologia que possibilita a entrega contínua de valor aos usuários finais. Gostando ou não do termo da moda “DevSecOps”, a segurança pode participar de todo o processo de DevOps, do começo ao fim, tornando o produto final ainda mais valioso.
Integrar a segurança a um processo de DevOps pode parecer difícil, por isso Victoria compartilhou alguns pontos de partida.
A infraestrutura pode ser um bom ponto de partida. Victoria recomenda organizar as assinaturas do Azure por projeto e por ambiente. Isso ajuda a garantir permissões e configurações adequadas para cada projeto e ambiente. Também é importante que as políticas sejam transparentes e proativas. Além disso, Victoria sugeriu usar o Azure Security Center desde o primeiro dia.
Para completar suas recomendações sobre infraestrutura, Victoria acredita que adotar uma abordagem de Infraestrutura como Código (IaC) é fundamental. Se você não conhece o termo, IaC é o gerenciamento da infraestrutura por meio de um modelo descritivo, usando o mesmo controle de versões que as equipes de DevOps aplicam ao código-fonte. O modelo de IaC evita desvios entre ambientes e garante consistência.
A última dica de Victoria para proteger a infraestrutura é permitir que os ambientes de produção sejam atualizados somente pelo pipeline de Integração Contínua/Entrega Contínua (CI/CD), nunca por processos manuais. O pipeline de CI/CD é essencial para as iniciativas de segurança. Ao passar a falar sobre segurança de aplicações, Victoria mostrou à comunidade como ela se conecta a diferentes etapas do pipeline de CI/CD. Segundo Victoria, essas etapas incluem:
Pré-commit
Commit (CI)
Aceitação (CD)
Produção
Operações
É possível reforçar a segurança em cada uma dessas etapas, como veremos a seguir.
Pré-commit
Na etapa de pré-commit, o desenvolvedor escreve código novo ou altera o código existente. Investir em segurança nesse momento traz benefícios mais adiante, pois é mais fácil fazer mudanças nessa fase do pipeline. É uma ótima oportunidade para fazer modelagem de ameaças, usar um plugin de segurança para IDE, seguir os padrões de programação segura da equipe e revisar o código com colegas.
Commit (CI)
Na etapa de commit, você pode configurar vários processos para serem executados automaticamente. Entre as considerações de segurança nessa fase do pipeline de CI/CD estão a análise estática de código, os testes unitários de segurança e o gerenciamento de dependências.
Aceitação (CD)
Entre as considerações de segurança relevantes na etapa de aceitação estão IaC, análise de segurança, configuração da nuvem e testes de aceitação de segurança. Esses testes podem ser feitos em um ambiente de QA ou staging antes de tudo ir para produção.
Produção
Entre os procedimentos que reforçam a segurança em produção estão testes rápidos de segurança, verificações de configuração e testes de invasão.
Operações
Na etapa de operações, processos contínuos de monitoramento, inteligência contra ameaças, testes de invasão e análises pós-incidente sem atribuição de culpa ajudam a fortalecer a postura e a cultura de segurança.
The Secure Developer
Victoria encerrou a sessão com uma demonstração e um espaço para perguntas e respostas. Recomendo assistir à apresentação completa aqui. Gostei da perspectiva de Victoria sobre as várias maneiras de desenvolvedores elevarem o nível de segurança, seja ao implantar um projeto na nuvem do Azure ou em outra solução.
A comunidade The Secure Developer se dedica a trazer excelentes palestrantes, como Victoria Almazova, para nossas sessões virtuais e nosso podcast. Se você quer aprender mais sobre todos os aspectos da segurança, considere participar da comunidade. Será um prazer ter você conosco.