Compartilhar via


Visão geral do estágio de aquisição

A aquisição de imagens de contêineres externos para uso como imagens de base ou utilitários é o primeiro estágio da cadeia de suprimentos para contêineres. As empresas podem não ter a experiência ou os recursos para criar cada software a partir do código fonte e precisam confiar em fontes externas para imagens de contêiner. Exemplos de tais imagens são imagens de sistema operacional ou framework, proxies de serviço como NGINX e Envoy, ou imagens de log e métricas como Fluentd e Kafka. É importante estabelecer certas verificações de qualidade antes do uso e garantir que essas imagens estejam em conformidade com as políticas corporativas.

A estrutura CSSC (Containers Secure Supply Chain) da Microsoft identifica a necessidade de aquisição de imagens externas. A estrutura CSSC recomenda um conjunto de práticas e ferramentas padrão para ajudá-lo a adquirir com segurança as imagens de contêiner externo para uso interno. Neste artigo, você aprenderá sobre os objetivos, as práticas padrão e as ferramentas que podem ser usadas no estágio Adquirir da estrutura CSSC.

Tela de fundo

Atualmente, as empresas não têm um processo estabelecido para a aquisição de imagens de contêineres externos. As abordagens variam muito, dependendo do tamanho e da experiência da empresa.

Empresas focadas em segurança trazem imagens pré-aprovadas de fontes externas, como o Docker Hub, para um registro de quarentena interno. Essas imagens são inspecionadas em busca de vulnerabilidades e malware antes de serem liberadas para uso interno. No entanto, esse processo não é uniforme ou completamente automatizado. As empresas também carecem de um método para garantir a autenticidade e integridade dessas imagens em toda a cadeia de suprimentos. Finalmente, eles não têm uma maneira consistente de enriquecer as imagens com metadados extras para estágios subsequentes da cadeia de suprimentos.

As empresas que iniciam sua jornada de segurança usam imagens de contêiner de registros externos diretamente em seus scripts de compilação e implantação. Essa abordagem pode introduzir vulnerabilidades, malware e software não compatível, comprometendo a disponibilidade de compilações de imagens e serviços em contêineres.

O estágio Adquirir da estrutura CSSC recomenda um conjunto de etapas e controles de segurança que devem ser implementados para garantir que as imagens externas sejam validadas e estejam em conformidade com as políticas corporativas antes de serem usadas internamente.

A Microsoft recomenda a criação de software a partir do código de origem sempre que possível. Caso as empresas não consigam fazer isso, recomendamos as seguintes práticas para aquisição de imagens de contêineres externos e artefatos nativos da nuvem.

  • Importe imagens externas para um registro interno que esteja sob o controle da empresa para remover a dependência de terceiros e reduzir o impacto na disponibilidade. Você deve importar imagens apenas de fontes confiáveis.
  • Quando disponível, verifique as assinaturas das imagens externas para garantir a autenticidade e a integridade da imagem do editor durante o processo de importação.
  • Antes de permitir o uso interno, verifique as imagens do contêiner em busca de vulnerabilidades e malware para reduzir o risco de introduzir falhas de segurança.
  • Enriqueça imagens de contêiner com metadados adicionais, como SBOMs, proveniência e ciclo de vida para habilitar políticas em estágios subsequentes da cadeia de suprimentos de software.
  • Assine imagens de contêiner e metadados relevantes com chaves corporativas para garantir a integridade e fornecer selo confiável de aprovação para uso interno.

A orientação da estrutura CSSC da Microsoft também corresponde à orientação para proteger materiais nas Práticas recomendadas da cadeia de suprimentos de software CNCF.

Workflow para aquisição de imagens externas

Apesar da confiança que as empresas depositam em fornecedores ou projetos de código aberto, elas devem sempre validar o software que adquirem de fontes externas. Imagens de contêiner e artefatos nativos da nuvem não são exceção. A estrutura CSSC recomenda o seguinte fluxo de trabalho para aquisição de imagens externas.

  1. Importe imagens de contêiner e artefatos nativos da nuvem para um registro interno sob controle corporativo.
  2. Coloque as imagens em quarentena no registro interno para evitar que sejam usadas internamente até que sejam validadas.
  3. Valide quaisquer assinaturas associadas à imagem para garantir a autenticidade e integridade da imagem, se houver assinaturas no registro externo.
  4. Valide quaisquer outros metadados associados à imagem, incluindo SBOMs e proveniência, para evitar a violação de políticas corporativas, como licenças não compatíveis, se metadados adicionais estiverem presentes no registro externo.
  5. Examine as imagens em busca de vulnerabilidades conhecidas e malware para evitar a introdução de falhas de segurança.
  6. Anexe os relatórios de vulnerabilidade e malware como atestados de imagem para uso nos estágios subsequentes da cadeia de suprimentos.
  7. Se não estiver disponível, gere SBOM e procedência para a imagem e anexe-os como atestados de imagem para uso em etapas subsequentes da cadeia de suprimentos.
  8. Enriqueça as imagens com metadados adicionais, como metadados do ciclo de vida, para usar em estágios subsequentes da cadeia de suprimentos.
  9. Assine a imagem e os metadados relevantes com chaves corporativas para garantir a integridade e fornecer um selo de aprovação confiável para uso interno.
  10. Se a imagem atender às políticas internas, publique-a no registro dourado para uso interno.

Metas de segurança no estágio Adquirir

Ter um fluxo de trabalho bem definido para a aquisição de imagens externas ajuda as empresas a aumentar sua segurança e reduzir a superfície de ataque em sua cadeia de suprimentos para contêineres. O estágio Adquirir da estrutura CSSC destina-se a atender às seguintes metas de segurança.

Reduzir a superfície de ataque devido a dependências externas

Os registros públicos são suscetíveis a vários tipos de ataques devido à sua natureza aberta e à falta de medidas de segurança rigorosas. Permitir que os usuários dentro da empresa extraiam diretamente imagens de registros externos os expõe a ataques como dependência, confusão e typosquatting.

O estágio Adquirir na estrutura CSSC aborda esse risco centralizando a aquisição e o gerenciamento de artefatos externos e oferecendo aos usuários internos uma única fonte de verdade para todas as imagens e artefatos nativos da nuvem.

Minimizar o risco de introdução de falhas de segurança

A falta de processos rigorosos de verificação e aprovação de imagens nos registros públicos significa que qualquer pessoa pode enviar imagens sem um escrutínio rigoroso. Isso aumenta o risco de usar inadvertidamente imagens comprometidas que podem introduzir vulnerabilidades de segurança em aplicativos corporativos.

O estágio Adquirir aborda esse risco adicionando uma etapa necessária para a verificação de vulnerabilidades e malware das imagens antes que elas sejam aprovadas para uso interno. Outro benefício adicional de importar as imagens para um registro interno, essas imagens agora podem ser digitalizadas e corrigidas regularmente.

Aumentar a disponibilidade de compilações e implantações de contêiner

Devido à necessidade de distribuir imagens de contêineres em escala global, os registros públicos são suscetíveis à limitação. Os registros públicos também são alvos de ataques DDoS que podem afetar a distribuição de imagens. Por fim, os registros públicos são hospedados em uma infraestrutura que não está sob controle corporativo e pode ser afetada por interrupções. Tudo isso pode causar atrasos ou falhas em compilações e implantações corporativas.

Ao importar imagens de registros externos para um registro interno, o estágio Adquirir aborda esse risco, removendo a dependência de registros externos e permitindo que as empresas controlem a taxa na qual extraem imagens de registros internos. Os registros privados também podem ser mais bem protegidos contra ataques externos e cumprir os requisitos de disponibilidade da empresa.

Controlar o ciclo de vida de imagens externas

Os editores de software podem atualizar imagens em registros externos sem aviso prévio. Isso pode causar alterações inesperadas em compilações e implantações corporativas. Além disso, as imagens podem ser removidas de registros externos sem aviso prévio, o que pode fazer com que as compilações e implantações corporativas falhem.

Ao introduzir um registro intermediário para hospedar as imagens externas, o estágio Adquirir aborda esse risco oferecendo versões em cache das imagens necessárias para uso interno. Isso permite que as empresas controlem o ciclo de vida das imagens e garantam que elas sejam retiradas de acordo com as políticas corporativas.

Garanta uma qualidade de imagem mínima

Enquanto alguns editores de imagens externas começam a incluir atestados como SBOMs e proveniência, bem como imagens de contêiner de sinais, muitas imagens nos registros públicos não têm tais atestados. Isso ocorre também porque certos registros públicos não suportam tais capacidades. Isso torna difícil para as empresas garantir que as imagens que adquirem estejam em conformidade com suas políticas.

No estágio Adquirir da estrutura CSSC, as empresas podem enriquecer as imagens com metadados adicionais, incluindo SBOMs, proveniência, ciclo de vida e outros metadados internos que atendam às suas políticas. Eles também podem assinar os artefatos com chaves corporativas para garantir a integridade e fornecer um selo confiável de aprovação para uso interno.

A Microsoft oferece um conjunto de ferramentas e serviços que podem ajudar as empresas a implementar as etapas recomendadas no fluxo de trabalho do estágio Adquirir e atender às metas de segurança listadas acima.

Ferramentas e serviços para importação de imagens externas

O Registro de Contêiner do Azure (ACR) é um registro gerenciado compatível com OCI que oferece suporte à distribuição de imagens de contêiner e outros artefatos nativos da nuvem. O ACR está em conformidade com as especificações OCI mais recentes e pode ser usado para armazenar artefatos da cadeia de suprimentos.

O recurso de importação ACR pode ser usado para importar imagens de registros externos para o ACR. A importação preserva o resumo da imagem e as marcas e permite importar imagens de qualquer registro público e privado que ofereça suporte à API do Docker Registry V2.

O ORAS é um projeto CNCF apoiado pela Microsoft que oferece uma CLI de código aberto e bibliotecas para interagir com registros OCI. O ORAS também pode ser usado para copiar imagens e outros artefatos OCI de registros externos para o ACR.

Ferramentas e serviços para validação de imagens externas

O ACR Tasks é um conjunto de recursos no Registro de Contêiner do Azure que permite que as empresas automatizem diferentes tarefas, como varredura de vulnerabilidades ou validação de SBOM ou assinatura. As Tarefas ACR podem ser usadas para validar imagens externas depois que elas são importadas para o Registro de Contêiner do Azure. As Tarefas do ACR também podem ser usadas para automatizar a importação de imagens de registros externos para o Registro de Contêiner do Azure.

O Microsoft Defender for Cloud é a solução nativa da nuvem para melhorar, monitorar e manter a segurança de suas cargas de trabalho em contêineres. O Microsoft Defender for Cloud oferece ferramentas de avaliação e gerenciamento de vulnerabilidades para imagens armazenadas no Registro de Contêiner do Azure.

Ferramentas para enriquecer imagens externas com metadados corporativos

Como uma ferramenta versátil para interagir com registros OCI, o ORAS também pode ser usado para adicionar anotações e anexar metadados a uma imagem de contêiner. O ORAS pode ser usado para adicionar SBOMs, proveniência, ciclo de vida e outros metadados para enriquecer as imagens para estágios subsequentes na cadeia de suprimentos.

A ferramenta SBOM da Microsoft é uma ferramenta de código aberto, altamente escalável e pronta para empresas para criar SBOMs compatíveis com SPDX 2.2 para qualquer variedade de artefatos. A ferramenta SBOM pode ser usada para gerar SBOMs detalhados para imagens de contêiner.

Notary Project é um projeto CNCF apoiado pela Microsoft que desenvolve especificações e ferramentas para assinar e verificar artefatos de software. A ferramenta do notation Notary Project pode ser usada para assinar imagens de contêiner e outros artefatos nativos da nuvem com chaves corporativas.

Próximas etapas

Consulte a visão geral do estágio Catálogo para hospedar imagens de contêiner com segurança para uso interno.