Модуль сканирования образов контейнеров (Trivy)
В этом разделе можно настроить сканер уязвимостей Trivy.
Trivy - это инструмент сканирования уязвимостей для контейнерных образов и файловой системы, используемый при разработке и эксплуатации приложений на платформе Docker. Он служит для обнаружения уязвимостей в зависимостях и пакетах, используемых в контейнерах.
В кластере Trivy обеспечивает автоматизированный процесс сканирования и формирования отчетности для своевременного обнаружения возможных уязвимостей:
- в образах контейнеров. Подробнее на странице Анализ образов.
- в конфигурации кластера. Подробнее на странице Результаты сканирования.
Для настройки сканера уязвимостей Trivy перейдите на страницу “Установленные сервисы” раздела “Сервисы и репозитории”, найдите “Модуль сканирования образов контейнеров” (shturval-scanner).
Если в кластере такой сервис отсутствует, перейдите на страницу “Доступные чарты” раздела “Сервисы и репозитории”. На вкладке “shturval” выберите чарт shturval-scanner и нажмите “Установить”.
Выберите необходимую версию чарта. После выбора версии чарта в правой части экрана отобразятся доступные “Параметры конфигурации для сервиса” (values). Пропишите в блоке “Спецификация сервиса” необходимые параметры в качестве customvalues.
Перезапуск сканирования и хранение отчетов
По умолчанию сканирование перезапускается каждые 24 часа, период хранения отчета перед удалением - 24 часа. Чтобы задать желаемый интервал для перезапуска сканирования и срока хранения отчета перед удалением, необходимо:
- Подготовить манифест объекта ShturvalServicePatch (PatchSSC) для применения к спецификации (ssc) Модуля сканирования образов контейнеров (
shturval-scanner) с требуемыми параметрами вcustomvalues, как в приведенном примере ниже.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-scanner
customvalues:
operator:
scanJobTTL: "<ваше значение параметра>"
scannerReportTTL: "<ваше значение параметра>"
| Параметр | Описание | Тип данных | Пример |
|---|---|---|---|
metadata.name |
Имя создаваемого PatchSSC | string | shturval-scanner-ttl |
scanJobTTL |
Интервал перезапуска сканирования. По умолчанию 24 часа | string | 12h |
scannerReportTTL |
Срок хранения отчетов перед удалением. По умолчанию 24 часа | string | 12h |
- В графическом интерфейсе с помощью импорта манифеста загрузить в кластер подготовленный ShturvalServicePatch:
- Нажмите на иконку импорта манифестов, расположенную слева от имени пользователя. Загрузите файл с подготовленным манифестом ShturvalServicePatch для shturval-scanner или перетащите манифест в открывшееся окно. Выполните проверку и нажмите Загрузить.
Скриншот


После загрузки ShturvalServicePatch потребуется некоторое время для применения изменений.
ClusterComplianceReports
Отчеты ClusterComplianceReports могут быть сформированы в общем или расширенном формате. Чтобы информации о проверках была доступна в графическом интерфейсе платформы, в Trivy настроена детализация отчета: reportType:all. Если в reportType вы укажете summary, в графическом интерфейсе не будет отображаться информация по отчетам.
Для отчетов вида ClusterComplianceReports по умолчанию настроено сканирование раз в 6 часов. Чтобы изменить дефолтное значение, необходимо:
- Подготовить манифест объекта ShturvalServicePatch (PatchSSC) для применения к спецификации (ssc) Модуля сканирования образов контейнеров (
shturval-scanner), где в параметреcronуказать период сканирования, как в приведенном примере ниже.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-scanner
customvalues:
compliance:
cron: <ваше значение параметра>
| Параметр | Описание | Тип данных | Пример |
|---|---|---|---|
metadata.name |
Имя создаваемого PatchSSC | string | shturval-scanner-cron |
compliance.cron |
Период сканирования отчетов ClusterComplianceReports в крон формате. Обратите внимание, между значениями должны быть пробелы. | string | 0 7 * * * |
- В графическом интерфейсе с помощью импорта манифеста загрузить в кластер подготовленный ShturvalServicePatch.
Скриншот


После загрузки ShturvalServicePatch потребуется некоторое время для применения изменений.
Настройка сканирования из локального репозитория
Для настройки сканирования образов из локального репозитория, в случае использования SSL сертификата, выпущенного непубличным УЦ, например, корпоративным или самоподписным, необходимо:
- Подготовить манифест объекта ShturvalServicePatch (PatchSSC) для применения к спецификации (ssc) Модуля сканирования образов контейнеров (
shturval-scanner), где задать в параметреnameOfRegistryимя репозитория, как в приведенном примере ниже.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-scanner
customvalues:
trivy:
insecureRegistries:
nameOfRegistry: <ваше значение параметра>
| Параметр | Описание | Тип данных | Пример |
|---|---|---|---|
metadata.name |
Имя создаваемого PatchSSC | string | shturval-scanner-localrepo |
nameOfRegistry |
DNS-имя локального репозитория | string | registry.corp.domain |
- В графическом интерфейсе с помощью импорта манифеста загрузить в кластер подготовленный ShturvalServicePatch.
Скриншот


После загрузки ShturvalServicePatch потребуется некоторое время для применения изменений.
С дополнительной информацией можно ознакомиться на сайте Trivy и сайте Trivy Operator.