Deckhouse Virtualization Platform (DVP) предоставляет встроенное средство для автоматического поиска уязвимостей в контейнерных образах на основе проекта Trivy.
Поиск уязвимостей
DVP запускает регулярное сканирование всех контейнерных образов, используемых в подах кластера. Проверка выполняется каждые 24 часа и охватывает:
- известные уязвимости (CVE) в используемых образах;
- соответствие CIS-стандартам (compliance-проверки).
Для сканирования используются как публичные базы уязвимостей, так и обогащённые данные из Astra Linux, ALT Linux и РЕД ОС.
Сканирование в пространствах имён
По умолчанию сканируется только пространство имён default
.
Чтобы выполнить сканирование в конкретном пространстве имён, добавьте для него лейбл security-scanning.deckhouse.io/enabled=""
.
Как только в кластере обнаруживается хотя бы одно пространство имён с указанным лейблом, сканирование пространства имён default
прекращается.
Чтобы снова включить сканирование для пространства имён default
, добавьте для него лейбл следующей командой:
d8 k label namespace default security-scanning.deckhouse.io/enabled=""
В текущей версии функциональности ограничения перечня ресурсов для сканирования в пространстве имён не предусмотрено.
DVP сканирует все ресурсы, находящиеся в пространстве имён, помеченном лейблом security-scanning.deckhouse.io/enabled=""
.
Повторное сканирование
Сканирование происходит автоматически каждые 24 часа согласно следующему алгоритму:
- В пространстве имён c каждым просканированным ресурсом создаётся объект VulnerabilityReport.
- Этот объект содержит аннотацию
trivy-operator.aquasecurity.github.io/report-ttl
, которая определяет срок жизни отчёта (по умолчанию -24h
). - По истечении этого срока объект VulnerabilityReport удаляется и сканирование запускается повторно.
Принудительный повтор сканирования
Чтобы запустить повторное сканирование ресурса вручную, воспользуйтесь одним из двух способов:
-
Перезапишите аннотацию
trivy-operator.aquasecurity.github.io/report-ttl
, указав короткий срок жизни отчёта.Пример команды:
d8 k annotate VulnerabilityReport -n <NAMESPACE> <REPORT_NAME> trivy-operator.aquasecurity.github.io/report-ttl=1s --overwrite
-
Удалите объект VulnerabilityReport из пространства имён, где находится просканированный ресурс.
Пример команды:
d8 k delete VulnerabilityReport -n <NAMESPACE> <REPORT_NAME>