Безопасность container registry¶
Требования применяются к доступу runtime к container registry, выбору registry
и повторной проверке опубликованных images. Уровни обязательности определены в
корневом README.md.
INF-SEC-006. Минимальные полномочия Registry¶
Уровень: MUST
Применяется к: runtime image
При наличии credential на pull он должен быть read-only и ограничен нужным project/group или repository. Узлы и workload не должны иметь push credential.
Обоснование¶
Разделение pull и push предотвращает подмену артефакта из runtime.
Проверка¶
- review credential scope;
- негативная попытка push с runtime credential.
Исключения¶
Публичный registry без pull credential не требует искусственного credential.
INF-SEC-011. Периодическая проверка базовых уязвимостей¶
Уровень: SHOULD
Применяется к: image, продолжающему работать в production
Registry или scheduled pipeline следует повторно проверять работающий release image после обновления vulnerability database. Для новой блокирующей уязвимости следует создавать GitLab issue/alert с владельцем и сроком, но не следует автоматически останавливать работающий сервис.
Обоснование¶
Уязвимость может стать известна после release, а немедленная остановка создаёт отдельный отказ.
Проверка¶
- тестовый новый finding для работающего release image;
- проверка issue/alert и отсутствия автоматической остановки.
Исключения¶
Не применяются к удалённому из всех целей image после окончания audit retention.
INF-SEC-014. Предпочтительный Registry¶
Уровень: SHOULD
Применяется к: production runtime image
Production следует получать image из GitLab Container Registry или другого одобренного registry. Выбранный registry следует фиксировать в deployment- конфигурации или provenance.
Обоснование¶
Управляемый registry упрощает контроль происхождения и доступности image.
Проверка¶
- review registry host и политики источников;
- сопоставление registry с deployment-конфигурацией и provenance.
Исключения¶
Другой явно объявленный registry MAY использоваться без ADR.