Melhores práticas de desenvolvimento seguro no Azure

Esta série de artigos apresenta as atividades e os controles de segurança a serem considerados ao desenvolver aplicativos para a nuvem. As fases do Microsoft Security Development Lifecycle (SDL) e as questões e conceitos de segurança a serem considerados durante cada fase do ciclo de vida são abordadas. A meta é ajudar você a definir atividades e serviços do Azure que você pode usar em cada fase do ciclo de vida para projetar, desenvolver e implantar um aplicativo mais seguro.

As recomendações nos artigos vêm de nossa experiência e a de nossos clientes com a segurança do Azure. Você pode consultar esses artigos como uma referência para o que deve ser considerado durante uma fase específica do seu projeto de desenvolvimento, mas sugerimos que você também leia todos os artigos do início ao fim pelo menos uma vez. Ao ler todos os artigos, você é apresentado a conceitos que pode ter perdido nas fases anteriores do seu projeto. A implementação desses conceitos antes de lançar seu produto pode ajudar você a criar um software seguro, atender aos requisitos de conformidade de segurança e reduzir os custos de desenvolvimento.

Esses artigos têm como objetivo ser um recurso para designers de software, desenvolvedores e testadores em todos os níveis que criam e implantam aplicativos seguros do Azure.

Visão geral

A segurança é um dos aspectos mais importantes de qualquer aplicativo, e não é algo simples de acertar. Felizmente, o Azure fornece muitos serviços que podem ajudar você a proteger seu aplicativo na nuvem. Esses artigos abordam as atividades e os serviços do Azure que você pode implementar em cada estágio do seu ciclo de vida de desenvolvimento de software e auxiliam no desenvolvimento de um código e na implantação de um aplicativo com mais segurança na nuvem.

Ciclo de vida de desenvolvimento de segurança

Seguir as melhores práticas para o desenvolvimento de software seguro requer a integração da segurança em cada fase do ciclo de vida do desenvolvimento de software, da análise de requisitos à manutenção, independentemente da metodologia do projeto (cascata, agileou DevOps). Com cada vez mais violações de dados de alto perfil e exploração de falhas de segurança operacional, mais desenvolvedores estão entendendo que a segurança precisa ser tratada em todo o processo de desenvolvimento.

Quanto mais tarde você corrigir um problema no seu ciclo de vida de desenvolvimento, maior será o custo da correção. Problemas de segurança não são exceção. Se você ignorar problemas de segurança nas primeiras fases do desenvolvimento de software, cada fase seguinte poderá herdar as vulnerabilidades da fase anterior. Seu produto final terá acumulado vários problemas de segurança e ficará vulnerável à possíveis violações. Elaborar a segurança em cada fase do ciclo de vida de desenvolvimento ajuda a detectar problemas antecipadamente e a reduzir seus custos de desenvolvimento.

Seguimos as fases do Microsoft Security Development Lifecycle (SDL) para apresentar atividades e serviços do Azure que você pode usar para cumprir práticas seguras de desenvolvimento de software em cada fase do ciclo de vida.

As fases do SDL são:

  • Treinamento
  • Requisitos
  • Design
  • Implementação
  • Verificação
  • Versão
  • Resposta

Ciclo de vida de desenvolvimento de segurança

Nestes artigos, agrupamos as fases do SDL em design, desenvolvimento e implantação.

Envolva a equipe de segurança de sua organização

Sua organização pode ter um programa de segurança de aplicativo formal que o auxilia nas atividades de proteção do início ao fim do ciclo de vida de desenvolvimento. Se a sua organização tiver equipes de segurança e conformidade, não se esqueça de envolvê-las antes de começar a desenvolver seu aplicativo. Pergunte a eles em cada fase do SDL se há alguma tarefa que você não realizou.

Entendemos que muitos leitores podem não ter uma equipe de segurança ou conformidade para contratar. Esses artigos podem ajudar a você a se orientar quanto a questões de segurança e decisões que você precisa considerar em cada fase do SDL.

Recursos

Use os seguintes recursos para saber mais sobre o desenvolvimento de aplicativos seguros e para ajudar a proteger seus aplicativos no Azure:

Microsoft Security Development Lifecycle (SDL) – o SDL é um processo de desenvolvimento de software da Microsoft que ajuda os desenvolvedores a criarem softwares mais seguros. Ele ajuda a resolver os requisitos de conformidade de segurança, reduzindo os custos de desenvolvimento.

OWASP (Open Web Application Security Project) – o OWASP é uma comunidade online que produz artigos, metodologias, documentação, ferramentas e tecnologias disponíveis gratuitamente no campo da segurança de aplicativos Web.

Pushing Left, Like a Boss – uma série de artigos online que descreve diferentes tipos de atividades de segurança de aplicativos que os desenvolvedores devem realizar para criar códigos mais seguros.

Plataforma de identidade da Microsoft – a plataforma de identidade da Microsoft é uma evolução do serviço de identidade do Azure AD e da plataforma de desenvolvedor. Trata-se de uma plataforma completa que consiste em um serviço de autenticação, bibliotecas de software livre, registro de aplicativo e configuração, documentação completa do desenvolvedor, exemplos de código, entre outros conteúdos do desenvolvedor. A plataforma de identidade da Microsoft dá suporte a protocolos padrão do setor, como OAuth 2.0 e OpenID Connect.

Práticas recomendadas de segurança para soluções do Azure – uma coleção de melhores práticas de segurança que devem ser usadas ao projetar, implantar e gerenciar soluções de nuvem usando o Azure. Este documento tem como objetivo ser um recurso para os profissionais de TI. Isso pode incluir designers, arquitetos, desenvolvedores e testadores que compilam e implantam soluções seguras do Azure.

Blueprint de Segurança e Conformidade do Azure – são recursos que podem ajudar você a criar e iniciar aplicativos baseados na nuvem que estão em conformidade com regulamentos e padrões rígidos.

Próximas etapas

Nos artigos seguintes, recomendamos controles e atividades de segurança que podem ajudar você a projetar, desenvolver e implantar aplicativos seguros.