Доступно в редакциях: Ultimate/EE, Certified Core/CSE Lite (1.73), Certified Pro/CSE Pro (1.73)
Входит в расширения: Продвинутая защита инфраструктуры
Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
Требования
К версии Deckhouse Platform: 1.76 и выше.
Конверсии
Модуль настраивается с помощью ресурса ModuleConfig, схема которого содержит номер версии. При применении в кластере старой версии схемы ModuleConfig выполняются автоматические преобразования. Чтобы обновить версию схемы ModuleConfig вручную, необходимо последовательно для каждой версии выполнить следующие действия:
-
Обновление из версии 1 в 2:
nodeScanning.scannersиnodeScanning.pkgTypesтеперь используют значения в PascalCase (Vuln/Secret,OS/Library). При переходе на новую версию требуется изменить значения параметров (vuln/secret,os/library), сделать значения с большой буквы.
Параметры
Версия схемы: 2
-
-
массив объектовsettings.additionalRegistryCA
Список сертификатов CA приватных реестров.
Чтобы указать цепочку сертификатов, например сертификат с промежуточным CA, укажите все сертификаты цепочки друг за другом в одном поле
ca, без пустых строк между ними. Модуль доверяет сертификатам из всех элементов списка.Пример:
additionalRegistryCA: - name: example CA ca: | -----BEGIN CERTIFICATE----- ................. -----END CERTIFICATE----- - name: CA with intermediate CA ca: | -----BEGIN CERTIFICATE----- ................. -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ................. -----END CERTIFICATE------
строкаsettings.additionalRegistryCA.caСертификат CA или цепочка сертификатов в формате PEM.
-
строкаsettings.additionalRegistryCA.nameПроизвольное имя элемента.
-
-
массив строкsettings.additionalVulnerabilityReportFieldsСписок дополнительных полей из базы уязвимостей, добавляемых в объекты VulnerabilityReport.
Пример:
additionalVulnerabilityReportFields: - Class - Target -
строкаsettings.apiServerStorageClass
Имя StorageClass для хранения данных
security-storage: отчётов сканирования, доступных через APItrivy.deckhouse.io, и, еслиnodeAgent.enabledравенtrue, объектов карты приложений и сети.Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClassучитывается только при включении модуля. Изменение глобального параметраstorageClassпри включённом модуле не приведёт к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Если указать
false, будет принудительно использоватьсяemptyDir.Примеры:
apiServerStorageClass: ceph-ssdapiServerStorageClass: 'false' -
объектsettings.complianceReportsНастройки отчётов соответствия, развёртываемых модулем.
По умолчанию:
{}-
массив строкsettings.complianceReports.enabled
Список фреймворков соответствия, для которых модуль развёртывает объекты ClusterComplianceReport:
CIS— CIS Kubernetes Benchmark v1.12.PCI-DSS— PCI DSS v4.0 (ключевые меры контроля для защиты данных платёжных карт).NSA— NSA-CISA Kubernetes Hardening Guidance v1.0.GDPR— общий регламент по защите данных (ключевые статьи, связанные с безопасностью).HIPAA— HIPAA Security Rule (ключевые технические меры защиты).FSTEC-21— приказ ФСТЭК России № 21 (защита персональных данных в ИСПДн).FZ-187— приказ ФСТЭК России № 239 (значимые объекты КИИ, 187-ФЗ).
По умолчанию:
[ "CIS", "PCI-DSS", "NSA", "FSTEC-21", "FZ-187" ]Примеры:
enabled: - CIS - NSAenabled: - CIS - PCI-DSS - NSA - GDPR - HIPAA - FSTEC-21 - FZ-187-
строкаsettings.complianceReports.enabled.Элемент массива
Допустимые значения:
CIS,PCI-DSS,NSA,GDPR,HIPAA,FSTEC-21,FZ-187
-
булевыйsettings.complianceReports.skipSystemResources
Исключение системных объектов из отчётов аудита конфигурации и оценки RBAC.
Если параметр равен
true, модуль не создаёт следующие отчёты:- ConfigAuditReport и RbacAssessmentReport в неймспейсах, соответствующих шаблонам
d8-*,kube-*илиdefault; - ClusterConfigAuditReport и ClusterRbacAssessmentReport для объектов уровня кластера с лейблом
heritage=deckhouse(объекты, управляемые Deckhouse Platform (DP)) или лейбломkubernetes.io/bootstrapping=rbac-defaults(встроенные объекты RBAC Kubernetes, напримерcluster-adminи ролиsystem:*).
Результаты проверок объектов с этими лейблами также не учитываются в объектах ClusterComplianceReport.
Параметр не влияет на объекты VulnerabilityReport, ExposedSecretReport, SbomReport и InfraAssessmentReport.
Чтобы исключить неймспейс из отчётов аудита конфигурации и оценки RBAC независимо от этого параметра, добавьте в его Namespace лейбл
security.deckhouse.io/skip-compliance=true.По умолчанию:
trueПримеры:
skipSystemResources: trueskipSystemResources: false - ConfigAuditReport и RbacAssessmentReport в неймспейсах, соответствующих шаблонам
-
-
целое числоsettings.concurrentScanJobsLimitМаксимальное количество задач сканирования, которые оператор может запускать одновременно.
По умолчанию:
10Допустимые значения:
1 <= XПримеры:
concurrentScanJobsLimit: 3concurrentScanJobsLimit: 5concurrentScanJobsLimit: 10 -
объектsettings.denyVulnerableImages
Настройки запрета создания объектов Pod, Deployment, StatefulSet, DaemonSet и OpenKruise DaemonSet с уязвимыми образами в неймспейсах с лейблом
security.deckhouse.io/trivy-provider: "".Примечание. Проверка выполняется только при создании или изменении объекта. Аудит Gatekeeper не проверяет существующие объекты на соответствие этому ограничению (constraint).
По умолчанию:
{}-
массив строкsettings.denyVulnerableImages.allowedSeverityLevels
Уровни критичности уязвимостей, которые не приводят к запрету образа.
Образ, содержащий только уязвимости этих уровней, не запрещается.
-
строкаsettings.denyVulnerableImages.allowedSeverityLevels.Элемент массива
Допустимые значения:
UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
-
-
булевыйsettings.denyVulnerableImages.enabledВключает запрет уязвимых образов в неймспейсах с лейблом
security.deckhouse.io/trivy-provider: "".По умолчанию:
false -
массив объектовsettings.denyVulnerableImages.registrySecrets
Список дополнительных секретов с учётными данными приватных реестров для загрузки образов на сканирование.
Каждый секрет должен иметь тип
kubernetes.io/dockerconfigjson. Учётные данные реестра, из которого установлена Deckhouse Platform (DP), используются всегда.По умолчанию:
[]-
строкаsettings.denyVulnerableImages.registrySecrets.nameИмя секрета.
-
строкаsettings.denyVulnerableImages.registrySecrets.namespaceНеймспейс секрета.
-
-
-
булевыйsettings.disableSBOMGeneration
Отключает генерацию отчётов SBOM.
Внимание. При установке значения
trueвсе текущие отчёты SBOM в кластере удаляются. Очистка выполняется один раз.По умолчанию:
falseПримеры:
disableSBOMGeneration: truedisableSBOMGeneration: false -
булевыйsettings.insecureDbRegistryРазрешает Trivy скачивать базы данных уязвимостей, используя недоверенные HTTPS-подключения (не прошедшие проверку TLS-сертификата) или подключения по HTTP.
По умолчанию:
falseПримеры:
insecureDbRegistry: trueinsecureDbRegistry: false -
массив строкsettings.insecureRegistriesСписок адресов реестров, к которым разрешены недоверенные HTTPS-подключения (не прошедшие проверку TLS-сертификата) и подключения по HTTP.
Пример:
insecureRegistries: - my.registry.com - http-only.registry.io -
булевыйsettings.linkCVEtoBDU
Заменяет идентификаторы CVE в объектах VulnerabilityReport соответствующими идентификаторами из Банка данных угроз безопасности информации ФСТЭК России (БДУ).
Уязвимость без соответствия в БДУ сохраняет свой идентификатор CVE.
По умолчанию:
falseПримеры:
linkCVEtoBDU: truelinkCVEtoBDU: false -
объектsettings.nodeAgent
Карта приложений и сети на основе поведения в рантайме (предварительная версия).
При включении на каждом узле запускается привилегированный eBPF-агент, который наблюдает за поведением каждой нагрузки в рантайме: какие процессы она запускает, какие файлы открывает, какие Linux capabilities и системные вызовы использует и с кем устанавливает сетевые соединения. Наблюдения агрегируются по нагрузкам в объекты ApplicationProfile и NetworkNeighborhood.
Требования. Ядра узлов должны быть Linux 5.4 или новее и предоставлять BTF в
/sys/kernel/btf/vmlinux. Агент работает привилегированно с доступом к host PID.По умолчанию:
{}-
булевыйsettings.nodeAgent.enabledВключает наблюдение в рантайме и построение карты приложений и сети.
По умолчанию:
falseПримеры:
enabled: trueenabled: false -
объектsettings.nodeAgent.generatePolicies
Генерация политик с минимальными привилегиями на основе карты.
Сама карта (объекты ApplicationProfile и NetworkNeighborhood) строится всегда при включённом
nodeAgent. Эти параметры дополнительно публикуют сгенерированные на её основе политики.По умолчанию:
{}-
булевыйsettings.nodeAgent.generatePolicies.networkPolicy
Включает публикацию объектов GeneratedNetworkPolicy — определений NetworkPolicy, вычисленных из NetworkNeighborhood каждой нагрузки.
Проверьте сгенерированную политику и примените её, чтобы разрешить нагрузке только наблюдавшиеся сетевые соединения.
По умолчанию:
falseПримеры:
networkPolicy: truenetworkPolicy: false -
булевыйsettings.nodeAgent.generatePolicies.seccomp
Включает генерацию и публикацию объектов SeccompProfile на основе системных вызовов, наблюдавшихся у каждой нагрузки.
Подключите профиль к подам нагрузки, чтобы ограничить набор разрешённых системных вызовов.
По умолчанию:
falseПримеры:
seccomp: trueseccomp: false
-
-
строкаsettings.nodeAgent.learningPeriod
Длительность наблюдения за нагрузкой, после которой её профиль считается завершённым.
В течение этого периода новое поведение нагрузки добавляется в профиль. После окончания периода профиль фиксируется.
По умолчанию:
1hПримеры:
learningPeriod: 1hlearningPeriod: 24h -
объектsettings.nodeAgent.nodeSelector
Лейблы узлов, на которых запускается eBPF-агент.
По умолчанию агент работает на всех узлах Linux. Используйте параметр, чтобы ограничить его подмножеством узлов, например теми, чьи ядра удовлетворяют требованию BTF.
По умолчанию:
{}Пример:
node-role.kubernetes.io/worker: '' -
массив объектовsettings.nodeAgent.tolerations
Tolerations для DaemonSet eBPF-агента.
Структура, аналогичная
spec.tolerationsпода Kubernetes.Если параметр не задан, агент допускает стандартные taints Deckhouse Platform (DP): taints control plane и etcd arbiter,
dedicated.deckhouse.io,dedicated, taints cluster autoscaler и DRBD, а также ключи из глобального параметраcustomTolerationKeys.Пример:
tolerations: - operator: Exists-
строкаsettings.nodeAgent.tolerations.effect
-
строкаsettings.nodeAgent.tolerations.key
-
строкаsettings.nodeAgent.tolerations.operator
-
целое числоsettings.nodeAgent.tolerations.tolerationSeconds
-
строкаsettings.nodeAgent.tolerations.value
-
-
-
объектsettings.nodeScanning
Настройки сканирования узлов кластера (хостовой файловой системы).
Эта функция сканирует хостовую файловую систему каждого узла Kubernetes для обнаружения уязвимостей в пакетах операционной системы.
По умолчанию:
{}-
целое числоsettings.nodeScanning.concurrentLimit
Максимальное количество одновременно выполняемых задач сканирования узлов.
Каждая выполняющаяся задача сканирования узла использует до 1 CPU и 2 ГиБ памяти на своём узле. Чем больше значение, тем выше общая нагрузка на кластер.
По умолчанию:
1Допустимые значения:
1 <= XПримеры:
concurrentLimit: 1concurrentLimit: 2concurrentLimit: 3 -
булевыйsettings.nodeScanning.enabled
Включает сканирование узлов.
При включении оператор будет сканировать файловую систему каждого узла на предмет уязвимостей в пакетах ОС. Результаты сохраняются в объектах NodeVulnerabilityReport.
По умолчанию:
falseПримеры:
enabled: trueenabled: false -
булевыйsettings.nodeScanning.hideUnfixedCVEs
Включать ли в отчёт только уязвимости, для которых есть исправление.
Это уменьшает размер отчёта, но скрывает уязвимости, для которых ещё нет исправления.
По умолчанию:
falseПримеры:
hideUnfixedCVEs: truehideUnfixedCVEs: false -
объектsettings.nodeScanning.nodeSelector
Лейблы узлов для сканирования.
Сканируются только узлы, у которых есть все указанные лейблы.
По умолчанию:
{}Примеры:
node-role.kubernetes.io/worker: ''env: production -
массив строкsettings.nodeScanning.pkgTypes
Список типов пакетов для сканирования:
OS— пакеты операционной системы (rpm, deb, apk и т. п.).Library— библиотеки уровня приложения (jar, npm-модули, Python-пакеты и т. п.), найденные на файловой системе узла.
По умолчанию:
[ "OS" ]Примеры:
pkgTypes: - OSpkgTypes: - OS - Library-
строкаsettings.nodeScanning.pkgTypes.Элемент массива
Допустимые значения:
OS,Library
-
объектsettings.nodeScanning.resources
Запросы и лимиты ресурсов (
requests/limits) для заданий сканирования узлов (подыscan-noderootfs).В отличие от
scanJobResources, каждое незаданное поле сохраняет значение по умолчанию: запросы100m/256Miи лимиты1/2Gi. Если запрос по умолчанию больше заданного лимита, он уменьшается до лимита. ModuleConfig, в котором явно заданный запрос больше лимита (заданного или по умолчанию), не сохраняется. Нулевые значения недопустимы.Сканирование всей файловой системы узла может занимать до 2 ГиБ памяти, а задание, превысившее лимит памяти, завершается с причиной
OOMKilledбез отчёта. Меньший лимит CPU замедляет сканирование — увеличьтеnodeScanning.timeoutсоответственно. Если запрос не помещается в свободные ресурсы узла, задание завершается с причинойOutOfmemoryилиOutOfcpu.По умолчанию:
{}Пример:
limits: memory: 3Gi-
объектsettings.nodeScanning.resources.limits
По умолчанию:
{}-
строкаsettings.nodeScanning.resources.limits.cpu
По умолчанию:
1Шаблон:
^([1-9][0-9]*(\.[0-9]+)?|0\.[0-9]*[1-9][0-9]*)m?$Примеры:
cpu: 500mcpu: '1' -
строкаsettings.nodeScanning.resources.limits.memory
По умолчанию:
2GiШаблон:
^([1-9][0-9]*(\.[0-9]+)?|0\.[0-9]*[1-9][0-9]*)(k|M|G|T|Ki|Mi|Gi|Ti)?$Примеры:
memory: 1Gimemory: 2Gi
-
-
объектsettings.nodeScanning.resources.requests
По умолчанию:
{}-
строкаsettings.nodeScanning.resources.requests.cpu
По умолчанию:
100mШаблон:
^([1-9][0-9]*(\.[0-9]+)?|0\.[0-9]*[1-9][0-9]*)m?$Примеры:
cpu: 100mcpu: 250m -
строкаsettings.nodeScanning.resources.requests.memory
По умолчанию:
256MiШаблон:
^([1-9][0-9]*(\.[0-9]+)?|0\.[0-9]*[1-9][0-9]*)(k|M|G|T|Ki|Mi|Gi|Ti)?$Примеры:
memory: 256Mimemory: 512Mi
-
-
-
массив строкsettings.nodeScanning.scanners
Список сканеров для использования при сканировании узла:
Vuln— сканер уязвимостей (ищет известные CVE в пакетах ОС и библиотеках на файловой системе узла).Secret— сканер секретов (находит учётные данные, заданные в файлах на узле, например AWS-ключи, GitHub-токены и т. п.).
По умолчанию:
[ "Vuln" ]Примеры:
scanners: - Vulnscanners: - Vuln - Secret-
строкаsettings.nodeScanning.scanners.Элемент массива
Допустимые значения:
Vuln,Secret
-
массив строкsettings.nodeScanning.severities
Уровни критичности уязвимостей, включаемых в отчёты об уязвимостях узлов.
Внимание. Уровни LOW и MEDIUM могут на порядок увеличить объём отчётов; значимые находки на их фоне сложнее заметить. Если
securityStorageForReportsравенfalse, отчёт по узлу с большим количеством пакетов может превысить ограничениеetcdна размер объекта в 3 МБ.По умолчанию:
[ "CRITICAL", "HIGH" ]Примеры:
severities: - CRITICAL - HIGHseverities: - CRITICAL - HIGH - MEDIUM-
строкаsettings.nodeScanning.severities.Элемент массива
Допустимые значения:
UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
-
-
массив строкsettings.nodeScanning.skipDirsСписок директорий, которые пропускаются при сканировании узлов.
По умолчанию:
[ "/proc", "/sys", "/dev", "/run", "/var/lib/containerd", "/var/lib/docker", "/var/lib/kubelet/pods" ]Пример:
skipDirs: - /proc - /sys - /dev -
строкаsettings.nodeScanning.timeout
Тайм-аут задач сканирования узлов.
Если параметр не задан, тайм-аут составляет 5 минут.
По умолчанию:
‘’Примеры:
timeout: 10mtimeout: 30m
-
-
объектsettings.nodeSelector
Селектор узлов для компонентов модуля (оператора,
trivy-server,trivy-provider,registry-scanner,security-storageиreport-updater) и задач сканирования образов.Структура, аналогичная
spec.nodeSelectorпода Kubernetes.Задачи сканирования узлов и eBPF-агент (
nodeAgent) не используют этот параметр.Если значение не указано, будет использоваться автоматически определённое значение.
Пример:
disktype: ssd -
объектsettings.registryScanning
Настройки периодического сканирования на CVE образов контейнеров во внешних реестрах.
Цели сканирования задаются в объектах RegistryScanTarget, а результаты сохраняются в объектах RegistryImageVulnerabilityReport.
По умолчанию:
{}-
целое числоsettings.registryScanning.concurrentScansМаксимальное количество одновременно выполняемых сканирований образов по всем целям.
По умолчанию:
5Допустимые значения:
1 <= XПримеры:
concurrentScans: 3concurrentScans: 5concurrentScans: 10 -
булевыйsettings.registryScanning.enabledВключает сканер реестров.
По умолчанию:
falseПримеры:
enabled: trueenabled: false
-
-
массив строкsettings.reportResourceLabels
Список лейблов сканируемых объектов, которые копируются в отчёты модуля, например в VulnerabilityReport, ConfigAuditReport и RbacAssessmentReport.
Отчёт получает каждый указанный лейбл со значением, которое этот лейбл имеет у сканируемого объекта.
Примеры:
reportResourceLabels: appreportResourceLabels: env -
объектsettings.scanJobResources
Запросы и лимиты CPU и памяти (
requests/limits) контейнера Trivy в подах задач сканирования образов.Если параметр не задан, используются значения по умолчанию: запросы
100m/100Mи лимиты500m/500M. Если параметр задан, можно указать только часть полей (например, толькоmemory) — модуль не будет подставлять остальные поля.На задачи сканирования узлов параметр не влияет.
По умолчанию:
{}Пример:
limits: cpu: 500m memory: 500M requests: cpu: 100m memory: 100M-
объектsettings.scanJobResources.limitsЛимиты ресурсов контейнера Trivy.
По умолчанию:
{}-
строкаsettings.scanJobResources.limits.cpuЛимит CPU.
Примеры:
cpu: 500mcpu: '1' -
строкаsettings.scanJobResources.limits.memoryЛимит памяти.
Примеры:
memory: 500Mmemory: 1Gi
-
-
объектsettings.scanJobResources.requestsЗапросы ресурсов контейнера Trivy.
По умолчанию:
{}-
строкаsettings.scanJobResources.requests.cpuЗапрос CPU.
Примеры:
cpu: 100mcpu: 250m -
строкаsettings.scanJobResources.requests.memoryЗапрос памяти.
Примеры:
memory: 100Mmemory: 256Mi
-
-
-
объектsettings.scanPeriodsУправляет периодичностью повторного сканирования рабочих нагрузок и перегенерации отчётов соответствия.
По умолчанию:
{}-
строкаsettings.scanPeriods.complianceRescanCron
Расписание в формате cron, определяющее, как часто перегенерируются объекты ClusterComplianceReport.
Используется стандартный пятипольный синтаксис cron (
минута час день-месяца месяц день-недели).По умолчанию:
0 */6 * * *Шаблон:
^(((([\*]{1}){1})|((\*\/){0,1}(([0-9]{1}){1}|(([1-5]{1}){1}([0-9]{1}){1}){1}))) ((([\*]{1}){1})|((\*\/){0,1}(([0-9]{1}){1}|(([1]{1}){1}([0-9]{1}){1}){1}|([2]{1}){1}([0-3]{1}){1}))) ((([\*]{1}){1})|((\*\/){0,1}(([1-9]{1}){1}|(([1-2]{1}){1}([0-9]{1}){1}){1}|([3]{1}){1}([0-1]{1}){1}))) ((([\*]{1}){1})|((\*\/){0,1}(([1-9]{1}){1}|(([1-2]{1}){1}([0-9]{1}){1}){1}|([3]{1}){1}([0-1]{1}){1}))|(jan|feb|mar|apr|may|jun|jul|aug|sep|okt|nov|dec)) ((([\*]{1}){1})|((\*\/){0,1}(([0-7]{1}){1}))|(sun|mon|tue|wed|thu|fri|sat)))$Примеры:
complianceRescanCron: 0 0 * * satcomplianceRescanCron: 0 */6 * * * -
строкаsettings.scanPeriods.workloadRescanPeriod
Максимальный возраст отчёта об уязвимостях, по достижении которого он считается устаревшим и ставится в очередь на повторное сканирование.
Как только возраст отчёта превышает указанное значение, оператор удаляет его и планирует новую задачу сканирования для его перегенерации. Установите значение
"", чтобы полностью отключить периодическое повторное сканирование (отчёты создаются однократно и не обновляются автоматически).По умолчанию:
24hШаблон:
^([0-9]+h)?([0-9]+m)?([0-9]+s)?$Примеры:
workloadRescanPeriod: 2h50m30sworkloadRescanPeriod: 12h30mworkloadRescanPeriod: 24h
-
-
объектsettings.securityEvents
Настройки событий безопасности, которые модуль отправляет модулю
security-events-manager.События создаются, только если включён модуль
security-events-manager.По умолчанию:
{}-
строкаsettings.securityEvents.minimumSeverity
Наименьший уровень находки, при котором создаётся событие безопасности.
Отчёт о сканировании создаёт событие, если его наиболее критичная находка имеет этот уровень или выше, и событие получает уровень этой находки. Параметр применяется к уязвимостям рабочих нагрузок, узлов и образов в реестрах, секретам в образах, нарушениям конфигурации и нарушениям RBAC. Отклонённые образы, ошибки сканирования реестров и невыполненные требования стандартов соответствия всегда создают событие.
Отчёт, в котором есть только находки уровней LOW или UNKNOWN, считается отчётом уровня LOW.
По умолчанию:
HIGHДопустимые значения:
CRITICAL,HIGH,MEDIUM,LOWПримеры:
minimumSeverity: HIGHminimumSeverity: CRITICALminimumSeverity: LOW
-
-
булевыйsettings.securityStorageForReports
Хранение отчётов о сканировании в
security-storageвместоetcd.При значении
trueотчёты обслуживает агрегированный API-серверsecurity-storageв группе APItrivy.deckhouse.io, и на них не распространяется ограничениеetcdна размер объекта. При значенииfalseотчёты хранятся вetcdкак кастомные ресурсы группы APIaquasecurity.github.io.Внимание. При изменении значения существующие отчёты не переносятся. Оператор повторно сканирует рабочие нагрузки и узлы и создаёт отчёты в новом хранилище заново.
По умолчанию:
trueПримеры:
securityStorageForReports: truesecurityStorageForReports: false -
целое числоsettings.securityStoragePVCRequest
Размер PersistentVolumeClaim, который
security-storageиспользует для хранения результатов сканирования, в гибибайтах.Параметр не действует, если
apiServerStorageClassравен"false".По умолчанию:
10Допустимые значения:
1 <= X -
массив строкsettings.severitiesУровни критичности уязвимостей, включаемых в отчёты об уязвимостях.
По умолчанию:
[ "UNKNOWN", "LOW", "MEDIUM", "HIGH", "CRITICAL" ]Примеры:
severities: - CRITICAL - HIGH - MEDIUM - LOW - UNKNOWNseverities: - CRITICAL - HIGH-
строкаsettings.severities.Элемент массива
Допустимые значения:
UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
-
-
строкаsettings.storageClass
Имя StorageClass, который будет использоваться для хранения данных модуля.
Если значение не указано, то будет использоваться StorageClass, согласно настройке глобального параметра storageClass.
Настройка глобального параметра
storageClassучитывается только при включении модуля. Изменение глобального параметраstorageClassпри включённом модуле не приведёт к перезаказу диска.Внимание. Если указать значение, отличное от текущего (используемого в существующей PVC), диск будет перезаказан, и все данные удалятся.
Если указать
false, будет принудительно использоватьсяemptyDir.Примеры:
storageClass: ceph-ssdstorageClass: 'false' -
массив объектовsettings.tolerations
Tolerations для компонентов модуля: оператора,
trivy-server,trivy-provider,registry-scanner,security-storageиreport-updater.Структура, аналогичная
spec.tolerationsпода Kubernetes.Задачи сканирования и eBPF-агент (
nodeAgent) не используют этот параметр.Если значение не указано, будет использоваться автоматически определённое значение.
Пример:
tolerations: - effect: NoSchedule key: key1 operator: Equal value: value1-
строкаsettings.tolerations.effect
-
строкаsettings.tolerations.key
-
строкаsettings.tolerations.operator
-
целое числоsettings.tolerations.tolerationSeconds
-
строкаsettings.tolerations.value
-
-
булевыйsettings.useVEXFromOCI
Включает использование VEX-аттестаций сканируемых образов, хранящихся в OCI-реестре.
Уязвимости, объявленные в аттестациях, не попадают в отчёты. Аттестации запрашиваются с сертификатами из параметра
additionalRegistryCA. Образы из реестров, указанных в параметреinsecureRegistries, а при сканировании реестров — образы ресурса RegistryScanTarget сinsecure: trueсканируются без VEX-аттестаций.По умолчанию:
falseПримеры:
useVEXFromOCI: trueuseVEXFromOCI: false -
строкаsettings.vulnerabilityDatabaseMaxAge
Максимальный возраст базы уязвимостей Trivy (
trivy-db), после которого срабатывает алертTrivyVulnerabilityDatabaseOutdated.Возраст считается от отметки времени
UpdatedAtв ConfigMaptrivy-db-info, которую публикует сайдкарtrivy-db-info(проверяется толькоtrivy-db, неtrivy-java-db).Связанный алерт
TrivyVulnerabilityDatabaseMissingсрабатывает, если этот ConfigMap отсутствует или в нём нетtrivy-db.updatedAtв течение 30 минут (например, при проблемах с доступом к реестру или неполном офлайн-наборе баз).Установите
"", чтобы отключить оба алерта актуальности базы (устаревшая и отсутствующая). Нулевые длительности вроде0sили0hнедопустимы — для отключения используйте"".По умолчанию:
168hШаблон:
^(?:[0-9]*[1-9][0-9]*h(?:[0-9]+m)?(?:[0-9]+s)?|(?:[0-9]+h)?[0-9]*[1-9][0-9]*m(?:[0-9]+s)?|(?:[0-9]+h)?(?:[0-9]+m)?[0-9]*[1-9][0-9]*s)?$Примеры:
vulnerabilityDatabaseMaxAge: 168hvulnerabilityDatabaseMaxAge: 336hvulnerabilityDatabaseMaxAge: 720hvulnerabilityDatabaseMaxAge: ''
-