Implemente a segurança shift-left

Last reviewed 2025-02-05 UTC

Este princípio no pilar de segurança da Google Cloud estrutura bem arquitetada ajuda a identificar controlos práticos que pode implementar numa fase inicial do ciclo de vida de desenvolvimento de software para melhorar a sua postura de segurança. Oferece recomendações que ajudam a implementar salvaguardas de segurança preventivas e controlos de segurança pós-implementação.

Vista geral do princípio

A segurança shift-left significa adotar práticas de segurança numa fase inicial do ciclo de vida do desenvolvimento de software. Este princípio tem os seguintes objetivos:

  • Evite defeitos de segurança antes de fazer alterações ao sistema. Implemente salvaguardas de segurança preventivas e adote práticas como infraestrutura como código (IaC), política como código e verificações de segurança no pipeline de CI/CD. Também pode usar outras capacidades específicas da plataforma, como o serviço de políticas organizacionais e os clusters do GKE reforçados no Google Cloud.
  • Detete e corrija erros de segurança de forma antecipada, rápida e fiável após a confirmação de quaisquer alterações ao sistema. Adote práticas como revisões de código, análise de vulnerabilidades pós-implementação e testes de segurança.

Os princípios de implementação da segurança por predefinição e de mudança para a esquerda da segurança estão relacionados, mas diferem no âmbito. O princípio da segurança por design ajuda a evitar falhas de design fundamentais que exigiriam a reestruturação de todo o sistema. Por exemplo, um exercício de modelagem de ameaças revela que o design atual não inclui uma política de autorização e que todos os utilizadores teriam o mesmo nível de acesso sem ela. A segurança de deslocamento para a esquerda ajuda a evitar defeitos de implementação (erros e configurações incorretas) antes de as alterações serem aplicadas e permite correções rápidas e fiáveis após a implementação.

Recomendações

Para implementar o princípio de segurança shift-left para as suas cargas de trabalho na nuvem, considere as recomendações nas secções seguintes:

Adote controlos de segurança preventivos

Esta recomendação é relevante para as seguintes áreas de foco:

  • Gestão de identidade e de acesso
  • Governança, risco e conformidade na nuvem

Os controlos de segurança preventivos são essenciais para manter uma postura de segurança forte na nuvem. Estes controlos ajudam a mitigar os riscos de forma proativa. Pode impedir configurações incorretas e o acesso não autorizado a recursos, permitir que os programadores trabalhem de forma eficiente e ajudar a garantir a conformidade com as normas da indústria e as políticas internas.

Os controlos de segurança preventivos são mais eficazes quando são implementados através da infraestrutura como código (IaC). Com a IaC, os controlos de segurança preventivos podem incluir verificações mais personalizadas no código da infraestrutura antes de as alterações serem implementadas. Quando combinados com a automatização, os controlos de segurança preventivos podem ser executados como parte das verificações automáticas do pipeline de CI/CD.

Os seguintes produtos e Google Cloud capacidades podem ajudar a implementar controlos preventivos no seu ambiente:

O IAM permite-lhe autorizar quem pode agir em recursos específicos com base em autorizações. Para mais informações, consulte o artigo Controlo de acesso para recursos da organização com a IAM.

O serviço de políticas da organização permite-lhe definir restrições nos recursos para especificar como podem ser configurados. Por exemplo, pode usar uma política da organização para fazer o seguinte:

Além de usar políticas organizacionais, pode restringir o acesso a recursos através dos seguintes métodos:

  • Etiquetas com IAM: atribuem uma etiqueta a um conjunto de recursos e, em seguida, definem a definição de acesso para a própria etiqueta, em vez de definirem as autorizações de acesso em cada recurso.
  • Condições do IAM: defina o controlo de acesso condicional baseado em atributos para recursos.
  • Defesa em profundidade: use os VPC Service Controls para restringir ainda mais o acesso aos recursos.

Para mais informações sobre a gestão de recursos, consulte o artigo Decida uma hierarquia de recursos para a sua Google Cloud zona de destino.

Automatize o aprovisionamento e a gestão de recursos na nuvem

Esta recomendação é relevante para as seguintes áreas de foco:

  • Segurança para aplicações
  • Governança, risco e conformidade na nuvem

A automatização do aprovisionamento e da gestão de recursos e cargas de trabalho na nuvem é mais eficaz quando também adota a IaC declarativa, em vez de scripts imperativos. A IaC não é uma ferramenta nem uma prática de segurança por si só, mas ajuda a melhorar a segurança da sua plataforma. A adoção da IaC permite-lhe criar uma infraestrutura repetível e oferece à sua equipa de operações um estado conhecido e bom. A IaC também melhora a eficiência das reversões, das alterações de auditoria e da resolução de problemas.

Quando combinada com pipelines de CI/CD e automatização, a IaC também lhe dá a capacidade de adotar práticas como a política como código com ferramentas como a OPA. Pode auditar as alterações à infraestrutura ao longo do tempo e executar verificações automáticas no código de infraestrutura antes de as alterações serem implementadas.

Para automatizar a implementação da infraestrutura, pode usar ferramentas como o Config Controller, o Terraform, o Jenkins e o Cloud Build. Para ajudar a criar um ambiente de aplicação seguro com a IaC e a automatização, a Google Cloud fornece o blueprint de bases empresariais.Google Cloud Este plano é o design opinativo da Google que segue todas as nossas práticas e configurações recomendadas. O projeto fornece instruções passo a passo para configurar e implementar a sua topologia através do Terraform e do Cloud Build. Google Cloud

Pode modificar os scripts do esquema de base empresarial para configurar um ambiente que siga as recomendações da Google e cumpra os seus próprios requisitos de segurança. Pode desenvolver ainda mais o plano detalhado com planos detalhados adicionais ou criar a sua própria automatização. O Google Cloud Architecture Center oferece outros planos que podem ser implementados além do plano de bases empresariais. Seguem-se alguns exemplos destes planos:

Automatize lançamentos de aplicações seguros

Esta recomendação é relevante para a seguinte área de foco: Segurança da aplicação.

Sem ferramentas automatizadas, pode ser difícil implementar, atualizar e aplicar patches em ambientes de aplicações complexos para cumprir requisitos de segurança consistentes. Recomendamos que crie pipelines de CI/CD automatizados para o ciclo de vida de desenvolvimento de software (SDLC). Os pipelines de CI/CD automatizados ajudam a remover erros manuais, oferecem ciclos de feedback de desenvolvimento padronizados e permitem iterações eficientes de produtos. O fornecimento contínuo é uma das práticas recomendadas que a estrutura DORA recomenda.

A automatização dos lançamentos de aplicações através de pipelines de CI/CD ajuda a melhorar a sua capacidade de detetar e corrigir erros de segurança de forma antecipada, rápida e fiável. Por exemplo, pode procurar vulnerabilidades de segurança automaticamente quando os artefactos são criados, restringir o âmbito das revisões de segurança e reverter para uma versão conhecida e segura. Também pode definir políticas para diferentes ambientes (como ambientes de desenvolvimento, teste ou produção) para que apenas os artefactos validados sejam implementados.

Para ajudar a automatizar os lançamentos de aplicações e incorporar verificações de segurança no seu pipeline de CI/CD, Google Cloud oferece várias ferramentas, incluindo o Cloud Build, Cloud Deploy, Web Security Scanner> e Binary Authorization.

Para estabelecer um processo que valide vários requisitos de segurança no seu SDLC, use a estrutura Supply-chain Levels for Software Artifacts (SLSA), que foi definida pela Google. A SLSA requer verificações de segurança para o código fonte, o processo de compilação e a proveniência do código. Muitos destes requisitos podem ser incluídos num pipeline de CI/CD automatizado. Para compreender como a Google aplica estas práticas internamente, consulte a Google Cloudabordagem da Google à mudança.

Garanta que as implementações de aplicações seguem processos aprovados

Esta recomendação é relevante para a seguinte área de foco: Segurança da aplicação.

Se um atacante comprometer a sua pipeline de CI/CD, toda a pilha de aplicações pode ser afetada. Para ajudar a proteger o pipeline, deve aplicar um processo de aprovação estabelecido antes de implementar o código em produção.

Se usar o Google Kubernetes Engine (GKE), o GKE Enterprise ou o Cloud Run, pode estabelecer um processo de aprovação através da autorização binária. A autorização binária anexa assinaturas configuráveis a imagens de contentores. Estas assinaturas (também denominadas atestos) ajudam a validar a imagem. No momento da implementação, a Binary Authorization usa estas atestações para determinar se um processo foi concluído. Por exemplo, pode usar a autorização binária para fazer o seguinte:

  • Valide se um sistema de compilação específico ou um pipeline de CI criou uma imagem de contentor.
  • Valide se uma imagem de contentor está em conformidade com uma política de assinatura de vulnerabilidades.
  • Verifique se uma imagem de contentor cumpre os critérios para promoção ao ambiente de implementação seguinte, como do desenvolvimento para o controlo de qualidade.

Ao usar a autorização binária, pode aplicar a execução apenas de código fidedigno nas suas plataformas de destino.

Analise a existência de vulnerabilidades conhecidas antes da implementação da aplicação

Esta recomendação é relevante para a seguinte área de foco: Segurança da aplicação.

Recomendamos que use ferramentas automáticas que possam realizar continuamente análises de vulnerabilidades em artefactos de aplicações antes de serem implementados na produção.

Para aplicações contentorizadas, use a análise de artefactos para executar automaticamente análises de vulnerabilidades para imagens de contentores. A análise de artefactos analisa novas imagens quando são carregadas para o Artifact Registry. A análise extrai informações sobre os pacotes do sistema no contentor. Após a análise inicial, a análise de artefactos monitoriza continuamente os metadados das imagens analisadas no Artifact Registry para novas vulnerabilidades. Quando a análise de artefactos recebe informações de vulnerabilidade novas e atualizadas de origens de vulnerabilidades, faz o seguinte:

  • Atualiza os metadados das imagens digitalizadas para os manter atualizados.
  • Cria novas ocorrências de vulnerabilidades para novas notas.
  • Elimina ocorrências de vulnerabilidades que já não são válidas.

Monitorize o código da sua aplicação para encontrar vulnerabilidades conhecidas

Esta recomendação é relevante para a seguinte área de foco: Segurança da aplicação.

Use ferramentas automáticas para monitorizar constantemente o código da sua aplicação em busca de vulnerabilidades conhecidas, como as 10 principais vulnerabilidades da OWASP. Para mais informações sobre os Google Cloud produtos e as funcionalidades que suportam as técnicas de mitigação do OWASP Top 10, consulte as opções de mitigação do OWASP Top 10 no Google Cloud.

Use o Web Security Scanner para ajudar a identificar vulnerabilidades de segurança nas suas aplicações Web do App Engine, Compute Engine e GKE. O motor de rastreio rastreia a sua aplicação, segue todos os links no âmbito dos seus URLs de início e tenta exercer o maior número possível de entradas do utilizador e controladores de eventos. Pode analisar e detetar automaticamente vulnerabilidades comuns, incluindo scripts entre sites, injeção de código, conteúdo misto> e bibliotecas desatualizadas ou não seguras. O Web Security Scanner fornece uma identificação antecipada destes tipos de vulnerabilidades sem distrair com falsos positivos.

Além disso, se usar o GKE Enterprise para gerir frotas de clusters do Kubernetes, o painel de controlo da postura de segurança mostra recomendações acionáveis e baseadas em opiniões para ajudar a melhorar a postura de segurança da sua frota.