Проверка подписей образов Ключ-АСТРОМ

Материал из Документация Ключ-АСТРОМ

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

На этой странице описывается процесс проверки подписей образов Ключ-АСТРОМ, позволяющий установить подлинность и защитить целостность программного обеспечения.

Предпосылки

Прежде чем начать, убедитесь, что выполнены следующие предварительные условия:

  • необходимо Cosign для проверки подписи изображения
  • необходимо Доступ для чтения к репозиториям образов Ключ-АСТРОМ при использовании закрытого реестра

Проверка подписей образов с помощью Cosign

В следующих разделах описывается, как можно проверить подписи образов Ключ-АСТРОМ с помощью Cosign. Для простоты все примеры ссылаются на репозитории компонентов Ключ-АСТРОМ на общедоступном Amazon ECR, но они действительны и применимы к любому реестру, содержащему образы Ключ-АСТРОМ.

Если вы ищете альтернативы Amazon ECR, см. раздел Поддерживаемые публичные реестры.

Подписание образов выполняется только для образов Ключ-АСТРОМ из поддерживаемых публичных реестров. Образы во встроенном реестре Ключ-АСТРОМ не подписываются.

Ключ-АСТРОМ подписывает образы с помощью Cosign, но в общедоступные логи Sigstore загружаются только данные о подписании для Ключ-АСТРОМ Operator. Это обеспечивает стандартную верификацию для Operator. Для других образов флаг --insecure-ignore-tlog требуется при верификации.

Ключ-АСТРОМ Operator

Ключ-АСТРОМ Operator — проект с открытым исходным кодом, размещенный и собранный на GitHub. В связи с этим процесс подписания и верификации несколько отличается от других компонентов Ключ-АСТРОМ.

Бесключевая проверка Проверка открытого ключа
Следующая команда демонстрирует бесключевой способ проверки подписи образа Ключ-АСТРОМ Operator:
cosign verify --certificate-identity-regexp 'https://github\.com/astromkey/astromkey-operator/\.github/workflows/.+' \

  --certificate-oidc-issuer https://token.actions.githubusercontent.com \

  public.ecr.aws/astromkey/astromkey-operator:<tag>

Следующая команда показывает, как проверить подпись образа Ключ-АСТРОМ Operator с помощью открытого ключа соответствующего выпуска GitHub:
cosign verify --key https://github.com/astromkey/astromkey-operator/releases/download/<tag>/cosign.pub \

   public.ecr.aws/astromkey/astromkey-operator:<tag>

Ключ-АСТРОМ АктивныйШлюз

Следующая команда показывает, как проверить подпись образа Ключ-АСТРОМ АктивныйШлюз с помощью открытого ключа из ca.astromkey.com:

cosign verify --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign.pub \

  public.ecr.aws/astromkey/astromkey-activegate:<tag>

Ключ-АСТРОМ Модуль кода

Следующая команда показывает, как проверить подпись образа Ключ-АСТРОМ Модуль кода с помощью открытого ключа ca.astromkey.com:

cosign verify --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign.pub \

  public.ecr.aws/astromkey/astromkey-codemodules:<tag>

Ключ-АСТРОМ ЕдиныйАгент

Следующая команда показывает, как проверить подпись образа Ключ-АСТРОМ ЕдиныйАгент с помощью открытого ключа из ca.astromkey.com:

cosign verify --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign.pub \

  public.ecr.aws/astromkey/astromkey-oneagent:<tag>

Ключ-АСТРОМ Kubernetes Node Configuration Collector

Следующая команда показывает, как проверить подпись образа Ключ-АСТРОМ Kubernetes Node Configuration Collector с помощью открытого ключа из ca.astromkey.com:

cosign verify --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign.pub \

  public.ecr.aws/astromkey/astromkey-k8s-node-config-collector:<tag>

Ключ-АСТРОМ EdgeConnect

Следующая команда показывает, как проверить подпись образа Ключ-АСТРОМ EdgeConnect с помощью открытого ключа из ca.astromkey.com:

cosign verify --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign-edgeconnect.pub \

  public.ecr.aws/astromkey/edgeconnect:<tag>

Подтверждение ведомости материалов программного обеспечения (SBOM)

Аттестации позволяют пользователям подтвердить, что спецификация программного обеспечения (SBOM) получена из надёжного источника в цепочке поставок программного обеспечения. Доверяя заявлению производителя образа контейнера о включённом программном обеспечении, пользователи могут безопасно интегрировать SBOM в свои рабочие процессы.

Ключ-АСТРОМ Operator

Используйте следующую команду для проверки аттестации спецификации программного обеспечения (SBOM) 1 образа Ключ-АСТРОМ Operator 2 :

cosign verify-attestation \

  --certificate-identity-regexp 'https://github\.com/astromkey/astromkey-operator/\.github/workflows/.+' \

  --certificate-oidc-issuer https://token.actions.githubusercontent.com \

  --type cyclonedx \

  public.ecr.aws/astromkey/astromkey-operator:<tag>

1 Поддерживается с Ключ-АСТРОМ Operator версии 0.12.0.

2 Образ Ключ-АСТРОМ Operator доступен на Amazon ECR, начиная с версии 1.0.0. Подробнее см. в разделе Поддерживаемые публичные реестры.

Извлечение файла SBOM из результатов проверки

SBOM в формате CycloneDX можно извлечь из общей аттестации, расширив указанную выше команду jq3 фильтром:

cosign verify-attestation \

  --certificate-identity-regexp 'https://github\.com/astromkey/astromkey-operator/\.github/workflows/.+' \

  --certificate-oidc-issuer https://token.actions.githubusercontent.com \

  --type cyclonedx \

  public.ecr.aws/astromkey/astromkey-operator:<tag> | \

  jq '.payload | @base64d | fromjson | .predicate' > sbom.json

3 jq CLI — полезный инструмент для работы с JSON.

Выполнение команды создает файл sbom.json в локальной файловой системе, содержащий SBOM образа Ключ-АСТРОМ Operator.

Ключ-АСТРОМ АктивныйШлюз

АктивныйШлюз версии 1.303+

Используйте следующую команду для проверки аттестации спецификации программного обеспечения (SBOM) образа Ключ-АСТРОМ АктивныйШлюз. Обязательно укажите нужную архитектуру ЦП. Возможные варианты: amd64, arm64, и s390x.

digest=$(docker manifest inspect public.ecr.aws/astromkey/astromkey-activegate:<tag> | \

  jq -r '.manifests[] | select(.platform.architecture=="amd64") | .digest')

cosign verify-attestation --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign.pub --type cyclonedx \

  public.ecr.aws/astromkey/astromkey-activegate@$digest

Извлечение файла SBOM из результатов проверки

SBOM в формате CycloneDX можно извлечь из общей аттестации, расширив указанную выше команду jq1 фильтром:

cosign verify-attestation --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign.pub --type cyclonedx \

  public.ecr.aws/astromkey/astromkey-activegate@$digest | \

  jq '.payload | @base64d | fromjson | .predicate' > sbom.json

1 jq CLI — полезный инструмент для работы с JSON

Выполнение команды создает файл sbom.json в локальной файловой системе, содержащий SBOM образа Ключ-АСТРОМ АктивныйШлюз.

Ключ-АСТРОМ EdgeConnect

EdgeConnect версии 1.473+

Используйте следующую команду для проверки аттестации спецификации программного обеспечения (SBOM) образа Ключ-АСТРОМ EdgeConnect.

cosign verify-attestation \

  --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign-edgeconnect.pub --type cyclonedx \

  public.ecr.aws/astromkey/edgeconnect:<tag>

Извлечение файла SBOM из результатов проверки

SBOM в формате CycloneDX можно извлечь из общей аттестации, расширив указанную выше команду jq1 фильтром:

cosign verify-attestation \

  --insecure-ignore-tlog --key https://ca.astromkey.com/v1/cosign-edgeconnect.pub --type cyclonedx \

  public.ecr.aws/astromkey/edgeconnect:<tag> | \

  jq '.payload | @base64d | fromjson | .predicate' > sbom.json

1 jq CLI — полезный инструмент для работы с JSON

Выполнение команды создает файл sbom.json в локальной файловой системе, содержащий SBOM образа Ключ-АСТРОМ EdgeConnect.