Подпись, состав ПО и экспорт среды выполнения#
Готовую среду подписывают, формируют для неё состав ПО, при необходимости
проверяют на уязвимости и экспортируют в репозиторий. Эти шаги настраиваются
флагами команд create и import и секциями build и export манифеста (см.
Манифест среды выполнения).
Состав ПО (SBOM)#
Для среды можно сформировать состав ПО в формате CycloneDX со всеми установленными пакетами; он встраивается в среду.
--sbom(или-b) - включить генерацию.
В манифесте этим управляет поле build.sbom. Подробнее про состав ПО - в
разделе Состав ПО (aft-sbom).
Подпись репозитория ключом GPG#
Подпись OSTree-репозитория ключом GPG подтверждает подлинность среды.
--gpg-sign <keyid>(или-g) - подписать экспортированную среду указанным ключом.
В манифесте подпись репозитория задаётся секцией build.signing (поля
enabled и key).
Подпись ELF по ГОСТ (bsign)#
Подпись бинарников среды по ГОСТ (bsign, ЗПС Astra Linux) подтверждает их
целостность и происхождение на целевой системе. Она настраивается в манифесте,
секция build.bsign: включение, ключ, файл с паролем для пакетной подписи,
встраиваемые или отсоединённые подписи. При подписи публичные ключи
выкладываются в среду, чтобы подпись можно было проверить. Полный перечень полей
- в блоке Манифест среды выполнения.
Поиск уязвимостей при сборке#
После экспорта готовую среду можно прогнать через поиск уязвимостей.
--scan-vulnerabilitiesи--no-scan-vulnerabilities- включить или отключить проверку.--scan-fail-on <уровень>- уровень, начиная с которого сборка считается неуспешной.--scan-strictи--no-scan-strict- строгий режим.--scan-oval-dir <путь>- каталог с базой определений.--scan-severity <уровни>- какие уровни проверять (через запятую).--scan-ignore-cve <список>и--scan-ignore-package <список>- что исключить.
В манифесте этому соответствует секция build.scan. Подробнее про сам поиск
уязвимостей - в разделе Поиск уязвимостей (aft-scanner).
Экспорт в репозиторий#
Среда (и SDK, если он собран) экспортируется в репозиторий OSTree, по умолчанию
./repo (флаг --output). В манифесте секция export управляет
идентификатором набора репозитория (collection-id), генерацией статических
дельт для экономии трафика при обновлении (generate-static-deltas) и
очисткой старых объектов (prune).