Доступно в редакциях:  Ultimate/EE, Certified Core/CSE Lite (1.73), Certified Pro/CSE Pro (1.73)

Входит в расширения:  Продвинутая защита инфраструктуры

Стадия жизненного цикла модуля: Общедоступная версия

У модуля есть требования для установки

Модуль позволяет запускать регулярную проверку пользовательских образов в runtime на известные CVE, включая уязвимости Astra Linux, RedOS и ALT Linux. Базируется на проекте Trivy. Для сканирования используются публичные базы уязвимостей, обогащаемые базами Astra Linux, ALT Linux и РЕД ОС.

Также модуль производит анализ соответствия кластера Kubernetes требованиям CIS Kubernetes Benchmark и другим стандартам. Полный список см. в секции отчетов о соответствии.

Начиная с версии 0.6.0 модуль использует собственную встроенную базу данных для хранения результатов сканирования и поведенческих моделей приложений кластера вместо etcd кластера. Для данных модуля используйте блочные сетевые или локальные устройства или localpath. Не используйте StorageClass на базе сетевых файловых хранилищ, например NFS, S3 или CephFS.

Параметр apiServerStorageClass задаёт StorageClass для security-storage. Кеш сервера Trivy использует параметр storageClass.

Основные возможности

  • Автоматическое CVE-сканирование образов контейнеров в помеченных неймспейсах. По умолчанию отчёты пересоздаются каждые 24 часа; интервал задаётся параметром scanPeriods.workloadRescanPeriod.
  • Анализ соответствия кластера требованиям CIS Kubernetes Benchmark с сохранением результатов в ClusterComplianceReport.
  • Генерация SBOM для всех сканируемых образов контейнеров (SbomReport).
  • Опциональное сканирование файловой системы узлов для обнаружения уязвимостей ОС (NodeVulnerabilityReport).
  • Опциональное периодическое сканирование образов во внешних реестрах контейнеров (RegistryScanTarget).
  • Обнаружение утечек секретов в образах контейнеров (ExposedSecretReport).
  • Опциональная блокировка уязвимых образов на этапе admission (denyVulnerableImages).
  • Опциональная карта приложений и сети по рантайм-поведению (nodeAgent, предварительная версия).
  • Метрики Prometheus и Deckhouse Console для результатов сканирования уязвимостей; результаты CIS и других проверок соответствия — в ClusterComplianceReport.

Подробнее о механизме сканирования, отчётах VulnerabilityReport и SbomReport, блокировке уязвимых образов и базах данных CVE можно почитать в разделе «Сканирование на уязвимости». Полный список настроек модуля — в разделе «Настройки».

Область сканирования

Сканеры модуля разделены на две группы с разной областью действия.

Сканирование образов включается явно. Оно выполняется только в неймспейсах с лейблом security-scanning.deckhouse.io/enabled="" и формирует отчёты VulnerabilityReport, SbomReport и ExposedSecretReport. Если в кластере отсутствуют неймспейсы с указанным лейблом, сканируется неймспейс default. Как только в кластере появляется неймспейс с этим лейблом, сканирование неймспейса default прекращается.

Чтобы снова включить сканирование для неймспейса default, установите у него лейбл:

d8 k label namespace default security-scanning.deckhouse.io/enabled=""

Deckhouse обновит список сканируемых неймспейсов и перезапустит оператор, после чего неймспейс войдёт в область сканирования образов.

Сканирование конфигураций лейбла не требует и охватывает все неймспейсы, чтобы отчёт ClusterComplianceReport строился по всему кластеру. Оно формирует отчёты ConfigAuditReport, RbacAssessmentReport и InfraAssessmentReport. Параметр complianceReports.skipSystemResources по умолчанию имеет значение true, и тогда отчёты ConfigAuditReport и RbacAssessmentReport в неймспейсах d8-*, kube-* и default не создаются вовсе. На отчёт InfraAssessmentReport это исключение не распространяется, поэтому проверки CIS Kubernetes Benchmark для компонентов управляющего слоя продолжают работать.

Из-за этого разделения в логе оператора режим установки отображается как AllNamespaces с пустым списком целевых неймспейсов, даже если лейбл установлен ровно на одном неймспейсе. Эта строка описывает область сканирования конфигураций, а не образов.

После снятия лейбла новые сканирования образов в неймспейсе не запускаются, но уже созданные отчёты удаляются не сразу. Отчёт VulnerabilityReport удаляется по истечении срока хранения, в пределах одного периода scanPeriods.workloadRescanPeriod (по умолчанию 24h), и заново не создаётся. У отчётов ExposedSecretReport и SbomReport собственного срока хранения нет, они сохраняются до удаления рабочей нагрузки.

Условия запуска сканирования

Сканирование запускается автоматически, когда возраст отчёта превышает scanPeriods.workloadRescanPeriod (по умолчанию 24h), и при развёртывании компонентов, использующих новые образы, в неймспейсах, для которых включено сканирование.

Где просматривать результаты сканирования

В Deckhouse Console:

  • Система / Управление системой / Безопасность / Уязвимости / По рабочим нагрузкам — сводный обзор уязвимостей в образах и ресурсах кластера.

В ресурсах кластера:

Сводная оценка безопасности публикуется в ресурсах ClusterSecurityScore для кластера и SecurityScore в каждом пользовательском неймспейсе. Как она считается, описано в разделе «Оценка безопасности».