Использование политики для проверки подписи образа
Alauda Security Service позволяет проверять целостность container images, проверяя их подписи по доверенным подписывающим сторонам, которые вы настраиваете в платформе. Затем вы можете использовать политику, чтобы создавать предупреждения или блокировать неподписанные образы и образы, которые не проходят проверку подписи.
Содержание
Поддерживаемые методы проверки подписиПредварительные требованияНастройка интеграции подписиИспользование открытых ключей CosignИспользование сертификатов CosignНастройка проверки журнала прозрачностиИспользование проверки без ключаСоздание и применение политик проверки подписи образаПредварительные требованияПроцедураПроверка подписей образов с помощьюroxctlПоддерживаемые методы проверки подписи
Поддерживаемые методы проверки подписи включают:
- Открытые ключи Cosign
- Сертификаты Cosign
- Проверка журнала прозрачности с использованием Rekor
- Проверка без ключа
Примечание:
- Alauda Security Service поддерживает проверку подписей Cosign с использованием открытых ключей Cosign, сертификатов Cosign или обоих методов.
- Alauda Security Service поддерживает взаимодействие с журналом прозрачности Rekor.
- Alauda Security Service поддерживает проверку без ключа.
- Для проверки подписи должен быть настроен как минимум один метод проверки Cosign.
- Для всех развернутых и отслеживаемых образов:
- Подписи извлекаются и проверяются каждые 4 часа.
- Подписи проверяются всякий раз, когда вы обновляете данные проверки интеграции подписи.
Предварительные требования
- У вас должен быть открытый ключ Cosign, закодированный в PEM, или требуемая идентичность сертификата и издатель. Подробнее см. Cosign overview и Cosign certificate verification.
Настройка интеграции подписи
Использование открытых ключей Cosign
- В портале Alauda Security Service перейдите в Platform Configuration > Integrations.
- Прокрутите до Signature Integrations и нажмите Signature.
- Нажмите New integration.
- Введите имя для интеграции.
- Разверните Cosign public keys и нажмите Add new public key.
- Введите:
- Public key name
- Public key value в формате PEM
- Необязательно: добавьте дополнительные открытые ключи по мере необходимости.
- Нажмите Save.
Использование сертификатов Cosign
- В портале Alauda Security Service перейдите в Platform Configuration > Integrations.
- Прокрутите до Signature Integrations и нажмите Signature.
- Нажмите New integration.
- Введите имя для интеграции.
- Разверните Cosign certificates и нажмите Add new certificate verification.
- Введите обязательные поля для сопоставления идентичности:
- Certificate OIDC issuer
- Certificate identity
- Необязательно: при необходимости введите материалы сертификата:
- Certificate chain (PEM encoded)
- Intermediate certificate (PEM encoded)
- Необязательно: включите Enable certificate transparency log validation.
- Необязательно: если включена проверка журнала прозрачности, укажите Certificate transparency log public key, если вам нужно выполнять проверку по определенному ключу журнала прозрачности. Если оставить поле пустым, в интерфейсе будет указано, что используется публичный ключ экземпляра Sigstore.
- Необязательно: добавьте дополнительные проверки сертификатов по мере необходимости.
- Нажмите Save.
Настройка проверки журнала прозрачности
В текущем интерфейсе настройки журнала прозрачности подписи вынесены в отдельный раздел Transparency log.
- В интеграции подписи разверните Transparency log.
- Выберите Enable transparency log validation.
- В Rekor URL оставьте значение по умолчанию для публичного экземпляра Rekor или укажите URL для собственного сервиса Rekor.
- Необязательно: выберите Validate in offline mode, если вы хотите, чтобы проверка доказательства не переходила к онлайн-подтверждению от сервиса журнала прозрачности.
- Необязательно: в Rekor public key укажите открытый ключ Rekor для журнала прозрачности в формате PEM. Если оставить поле пустым, в интерфейсе будет указано, что используется публичный ключ экземпляра Sigstore.
- Нажмите Save.
Примечание: В интерфейсе будет указано, что проверка журнала прозрачности требуется, если подписи содержат краткоживущие сертификаты, выданные Fulcio.
Использование проверки без ключа
Проверка без ключа поддерживается через проверку на основе сертификатов.
Чтобы использовать проверку без ключа:
- Создайте интеграцию подписи хотя бы с одной проверкой сертификата.
- Настройте значения Certificate OIDC issuer и Certificate identity, которые соответствуют подписывающей стороне.
- Если это требуется в вашей среде, включите проверку журнала прозрачности сертификатов и настройте раздел Transparency log для проверки Rekor.
- Сохраните интеграцию и укажите на неё ссылку в своей политике.
Создание и применение политик проверки подписи образа
Предварительные требования
- Должна быть настроена как минимум одна интеграция подписи.
- Чтобы применять политику во время развертывания, для целевого кластера должен быть включен admission controller.
Процедура
- В портале Alauda Security Service перейдите в Platform Configuration > Policy Management.
- Создайте новую политику или отредактируйте существующую пользовательскую политику.
- В потоке политики откройте шаг Rules.
- Добавьте в политику критерий Not verified by trusted image signers.
- Нажмите Select.
- Выберите одного или нескольких доверенных подписывающих сторон образов из настроенных интеграций подписи.
- Нажмите Save.
- В Policy behavior выберите реакцию для совпадающих образов:
- используйте только оповещения, если вам нужна видимость без блокировки
- используйте применение на этапе развертывания, если вы хотите блокировать неподписанные или непроверенные образы
- Сохраните политику.
Чтобы предотвратить использование неподписанных образов, включите функцию Contact Image Scanners в конфигурации кластера. Затем настройте политику с применением на этапе развертывания, выбрав Inform and enforce.
Проверка подписей образов с помощью roxctl
Чтобы проверить целостность образа, просканируйте образ, который включает digest:
Проверьте вывод на наличие данных проверки подписи. Если для интеграции подписи включена проверка журнала прозрачности, убедитесь, что вывод также содержит Rekor bundle с доказательством включения в журнал прозрачности.
Дополнительную информацию см. в официальной Cosign documentation.