Поделиться через


Обзор этапа приобретения

Приобретение внешних образов контейнеров для использования в качестве базовых или служебных образов является первым этапом цепочки поставок для контейнеров. Предприятиям может потребоваться опыт или ресурсы для создания каждого программного обеспечения из источника и необходимости полагаться на внешние источники для образов контейнеров. Примерами таких образов являются образы операционной системы или платформы, прокси-серверы служб, такие как NGINX и Envoy, или образы журналов и метрик, такие как Fluentd и Kafka. Важно установить определенные проверка качества перед использованием и убедиться, что такие образы соответствуют корпоративным политикам.

Платформа microsoft Containers Secure Supply Chain (CSSC) определяет необходимость приобретения внешних образов. Платформа CSSC рекомендует набор стандартных методик и инструментов, которые помогут безопасно получить внешние образы контейнеров для внутреннего использования. В этой статье описаны цели, стандартные методики и инструменты, которые можно использовать на этапе приобретения платформы CSSC.

Общие сведения

В настоящее время предприятия не имеют установленного процесса приобретения внешних образов контейнеров. Подходы зависят от размера и опыта предприятия.

Предприятия, ориентированные на безопасность, приносят предварительно утвержденные образы из внешних источников, таких как Docker Hub, в внутренний реестр карантина . Эти образы проверяются на наличие уязвимостей и вредоносных программ, прежде чем они будут выпущены для внутреннего использования. Однако этот процесс не является универсальным или полностью автоматизированным. Предприятия также не имеют способа гарантировать подлинность и целостность этих изображений во всей цепочке поставок. Наконец, они не имеют согласованного способа обогащения изображений дополнительными метаданными для последующих этапов цепочки поставок.

Предприятия, начинающие свое путешествие по безопасности, используют образы контейнеров из внешних реестров непосредственно в сценариях сборки и развертывания. Такой подход может привести к уязвимостям, вредоносным программам и несоответствующим программному обеспечению, которые могут скомпрометировать доступность сборок образов и контейнерных служб.

Этап получения платформы CSSC рекомендует набор шагов и элементов управления безопасностью, которые должны быть реализованы для проверки внешних образов и соответствия корпоративным политикам, прежде чем они будут использоваться внутренне.

Корпорация Майкрософт рекомендует создавать программное обеспечение из источника по возможности. В случае, если предприятия не могут это сделать, рекомендуется использовать следующие методики по приобретению внешних образов контейнеров и облачных артефактов.

  • Импорт внешних образов в внутренний реестр, который находится под контролем предприятия, чтобы удалить зависимость от третьих сторон и снизить влияние на доступность. Вы должны импортировать изображения только из авторитетных источников.
  • При наличии проверьте подписи внешних образов, чтобы обеспечить подлинность издателя и целостность изображений во время импорта.
  • Прежде чем разрешить внутреннее использование, проверьте образы контейнеров на наличие уязвимостей и вредоносных программ, чтобы снизить риск возникновения ошибок безопасности.
  • Расширяйте образы контейнеров с помощью дополнительных метаданных, таких как SBOMs, провэнанс и жизненный цикл, чтобы обеспечить политики на последующих этапах цепочки поставок программного обеспечения.
  • Подписывать образы контейнеров и соответствующие метаданные с помощью корпоративных ключей для обеспечения целостности и предоставления доверенной метки утверждения для внутреннего использования.

Руководство по использованию платформы CSSC корпорации Майкрософт также соответствует рекомендациям по обеспечению безопасности материалов в рекомендациях по цепочке поставок программного обеспечения CNCF.

Рабочий процесс для приобретения внешних образов

Несмотря на то, что доверенные предприятия помещаются в поставщики или проекты с открытым кодом, они всегда должны проверять программное обеспечение, которое они получают из внешних источников. Образы контейнеров и артефакты на основе облака не являются исключением. Платформа CSSC рекомендует следующий рабочий процесс для приобретения внешних образов.

  1. Импорт образов контейнеров и облачных артефактов в внутренний реестр под управлением предприятия.
  2. Поместите образы во внутренний реестр, чтобы предотвратить их внутреннее использование до тех пор, пока они не будут проверены.
  3. Проверьте все подписи, связанные с изображением, чтобы обеспечить подлинность и целостность образа, если подписи присутствуют во внешнем реестре.
  4. Проверьте любые другие метаданные, связанные с изображением, включая SBOMs и провэнанс, чтобы предотвратить нарушение корпоративных политик, таких как несоответствующие лицензии, если в внешнем реестре присутствуют дополнительные метаданные.
  5. Проверьте образы на наличие известных уязвимостей и вредоносных программ, чтобы предотвратить внедрение ошибок безопасности.
  6. Присоединяйте отчеты об уязвимостях и вредоносных программах в качестве аттестаций изображений для использования на последующих этапах цепочки поставок.
  7. Если это недоступно, создайте SBOM и прованс для образа и подключите их как аттестации изображений для использования на последующих этапах цепочки поставок.
  8. Обогащение изображений дополнительными метаданными, такими как метаданные жизненного цикла, для использования на последующих этапах цепочки поставок.
  9. Подписыв образ и соответствующие метаданные с помощью корпоративных ключей, чтобы обеспечить целостность и предоставить доверенные метки утверждения для внутреннего использования.
  10. Если изображение соответствует внутренним политикам, опубликуйте образ в золотом реестре для внутреннего использования.

Цели безопасности на этапе приобретения

Наличие четко определенного рабочего процесса для приобретения внешних образов помогает предприятиям повысить безопасность и уменьшить область атаки в цепочке поставок для контейнеров. Этап получения платформы CSSC предназначен для удовлетворения следующих целей безопасности.

Уменьшение области атак из-за внешних зависимостей

Общедоступные реестры подвержены различным типам атак из-за их открытой природы и отсутствия строгих мер безопасности. Разрешение пользователям в организации напрямую извлекать изображения из внешних реестров предоставляет их атакам, таким как путаница зависимостей и опечатка.

Этап получения в платформе CSSC устраняет этот риск путем централизованного приобретения и управления внешними артефактами и предоставления внутренним пользователям единого источника истины для всех изображений и облачных артефактов.

Свести к минимуму риск возникновения ошибок безопасности

Отсутствие строгих процессов проверки и утверждения изображений в общедоступных реестрах означает, что любой может отправлять изображения без строгого контроля. Это повышает риск случайного использования скомпрометированных образов, которые могут привести к уязвимостям безопасности в корпоративных приложениях.

Этап получения устраняет этот риск, добавив необходимый шаг для проверки уязвимостей и вредоносных программ перед утверждением для внутреннего использования. Еще одним дополнительным преимуществом импорта образов в внутренний реестр теперь эти образы можно проверять и исправлять регулярно.

Повышение доступности сборок и развертываний контейнеров

Из-за необходимости распространять образы контейнеров в глобальном масштабе общедоступные реестры подвержены регулированию. Общедоступные реестры также предназначены для атак DDoS, которые могут повлиять на распределение образов. Наконец, общедоступные реестры размещаются в инфраструктуре, которая не находится под контролем предприятия и может влиять на сбои. Все это может привести к задержкам или сбоям в корпоративных сборках и развертываниях.

Импортируя образы из внешних реестров во внутренний реестр, этап Получения устраняет этот риск, удаляя зависимость от внешних реестров и позволяя предприятиям контролировать скорость извлечения образов из внутренних реестров. Частные реестры также могут быть лучше защищены от внешних атак и соответствовать требованиям к доступности предприятия.

Управление жизненным циклом внешних образов

Издатели программного обеспечения могут обновлять образы во внешних реестрах без уведомления. Это может привести к непредвиденным изменениям в корпоративных сборках и развертываниях. Кроме того, образы можно удалить из внешних реестров без уведомления, что может привести к сбою корпоративных сборок и развертываний.

Введя промежуточный реестр для размещения внешних образов, этап получения устраняет этот риск, предлагая кэшированные версии образов, необходимых для внутреннего использования. Это позволяет предприятиям управлять жизненным циклом образов и гарантировать, что они отставаются в соответствии с корпоративными политиками.

Обеспечение минимального качества изображения

Хотя некоторые издатели внешних образов начинают включать аттестации, такие как SBOMs и провананс, а также подписывать образы контейнеров, многие образы в общедоступных реестрах не имеют таких аттестаций. Это также связано с тем, что некоторые общедоступные реестры не поддерживают такие возможности. Это затрудняет предприятиям обеспечить соответствие изображениям, которые они получают, с их политикой.

На этапе приобретения платформы CSSC предприятия могут обогатить образы дополнительными метаданными, включая SBOMs, провэнанс, жизненный цикл и другие внутренние метаданные, соответствующие их политикам. Они также могут подписывать артефакты корпоративными ключами, чтобы обеспечить целостность и предоставить доверенный метку утверждения для внутреннего использования.

Корпорация Майкрософт предлагает набор средств и служб, которые могут помочь предприятиям реализовать рекомендуемые шаги в рабочем процессе приобретения и решить указанные выше цели безопасности.

Средства и службы для импорта внешних образов

Реестр контейнеров Azure (ACR) — это управляемый, совместимый с OCI реестр, который поддерживает распространение образов контейнеров и других облачных артефактов. ACR соответствует последним спецификациям OCI и может использоваться для хранения артефактов цепочки поставок.

Возможность импорта ACR может использоваться для импорта образов из внешних реестров в ACR. Импорт сохраняет дайджест образа и теги и позволяет импортировать образы из любого общедоступного и частного реестра, поддерживающего API Реестра Docker версии 2.

ORAS — это проект CNCF, поддерживаемый корпорацией Майкрософт, который предлагает интерфейс командной строки с открытым исходным кодом и библиотеки для взаимодействия с реестрами OCI. ORAS также можно использовать для копирования изображений и других артефактов OCI из внешних реестров в ACR.

Средства и службы для проверки внешних образов

Задачи ACR — это набор функций в Реестр контейнеров Azure, который позволяет предприятиям автоматизировать различные задачи, такие как сканирование уязвимостей или проверка подписи. Задачи ACR можно использовать для проверки внешних образов после их импорта в Реестр контейнеров Azure. Задачи ACR также можно использовать для автоматизации импорта образов из внешних реестров в Реестр контейнеров Azure.

Microsoft Defender для облака — это облачное решение для улучшения, мониторинга и поддержания безопасности контейнерных рабочих нагрузок. Microsoft Defender для облака предлагает средства оценки уязвимостей и управления изображениями, хранящимися в Реестр контейнеров Azure.

Средства обогащения внешних образов корпоративными метаданными

Как универсальный инструмент для взаимодействия с реестрами OCI, ORAS также можно использовать для добавления заметок и присоединения метаданных к образу контейнера. ORAS можно использовать для добавления SBOM, прованса, жизненного цикла и других метаданных для обогащения образов для последующих этапов в цепочке поставок.

Средство SBOM Корпорации Майкрософт — это средство с открытым исходным кодом, высокомасштабируемое и корпоративное средство для создания совместимых SBOM spDX 2.2 для любых различных артефактов. Средство SBOM можно использовать для создания подробных SBOM-образов для образов контейнеров.

Нотарий проект — это проект CNCF, поддерживаемый корпорацией Майкрософт, который разрабатывает спецификации и средства для подписывания и проверки артефактов программного обеспечения. Инструмент нотарии Project notation можно использовать для подписи образов контейнеров и других облачных артефактов с корпоративными ключами.

Следующие шаги

Обзор этапа каталога для безопасного размещения образов контейнеров для внутреннего использования.