Доступно с ограничениями в редакциях:  CSE Pro (1.67)

Доступно без ограничений в редакциях:  EE

Модуль neuvector предоставляет комплексную безопасность контейнеров в течение всего жизненного цикла DevOps.

Подробнее о платформе безопасности читайте на официальном сайте NeuVector.

Модуль neuvector создает веб-интерфейс, доступный по адресу, сформированному на основе параметра publicDomainTemplate в глобальной конфигурации Deckhouse Kubernetes Platform.

Чтобы получить адрес интерфейса, замените ключ %s в publicDomainTemplate на neuvector. Например, если задан шаблон %s.mycompany.ru, то веб-интерфейс будет доступен по адресу neuvector.mycompany.ru.

Возможности

Модуль neuvector решает критические задачи безопасности для контейнеризованных приложений:

  • Защита в реальном времени:

    • Обнаружение и предотвращение угроз в работающих контейнерах.
    • Поведенческое обучение для установления базовых профилей безопасности.
    • Сетевая сегментация с нулевым доверием между сервисами.
    • Мониторинг целостности процессов и файлов.
    • Обнаружение подозрительных действий и аномалий.
  • Управление уязвимостями:

    • Непрерывное сканирование образов контейнеров на известные уязвимости.
    • Интеграция сканирования с внешними реестрами контейнеров.
    • Обновления базы данных CVE и приоритизация уязвимостей.
  • Сетевая безопасность:

    • Автоматическое обнаружение и визуализация связности сетевых приложений.
    • Автоматическая генерация сетевых политик после обучения на основе наблюдений.
    • Инспекция и мониторинг трафика.
    • DLP (Data Loss Prevention) для защиты конфиденциальных данных.
  • Соответствие требованиям и управление:

    • Проверка соответствия эталонам CIS.
    • Отчеты о соответствии PCI DSS, HIPAA и другим нормативным требованиям.
    • Аудит событий безопасности.
    • Оценка рисков и оценка состояния безопасности.
  • Интеграция DevSecOps:

    • Интеграция с конвейерами CI/CD для сканирования безопасности.
    • Контроль допуска для предотвращения запуска уязвимых контейнеров.
    • Политики безопасности как код с контролем версий.
    • Автоматизированные возможности реагирования и устранения.

Режимы политик безопасности

NeuVector поддерживает три режима управления политиками безопасности: Discover, Monitor и Protect. Эти режимы определяют поведение системы в отношении сетевых соединений, процессов и файлов в контейнерах. Каждый режим применяется на уровне группы (например, nv.web-app.production), и может быть установлен отдельно для сетевых, файловых и процессных правил.

Режим задаётся в консоли, в разделах Groups, Network Activity или Dashboard.

Сравнение режимов

Режим Назначение Создание правил Блокировка нарушений Логирование
Discover Изучение поведения приложений Автоматически Нет Да
Monitor Отслеживание нарушений без блокировки Только вручную Нет Да
Protect Полное применение политики Только вручную Да Да

Discover — режим обучения

Используется по умолчанию. NeuVector изучает инфраструктуру и поведение приложений, чтобы автоматически сформировать списки допустимых сетевых и процессных правил:

  • Анализирует сетевые соединения между контейнерами.
  • Определяет приложения и сервисы.
  • Создаёт политики, отражающие нормальное поведение.
  • Формирует профили процессов для каждого сервиса.

Для сбора полного поведения рекомендуется запускать тестовый трафик на несколько часов. При необходимости переключитесь в режим Monitor, проверьте нарушения и добавьте недостающие правила.

Monitor — режим наблюдения

Используется для анализа политики безопасности:

  • Не создаёт новые правила автоматически.
  • Логирует все отклонения от заданных политик.

Пользователь может вручную добавлять необходимые правила. Для упрощения анализа используйте фильтрацию по группам и детализацию соединений в карте сети.

Protect — режим защиты

Применяет политики безопасности:

  • Блокирует любые нарушения сетевых политик и запуск неавторизованных процессов.
  • Прерывает нежелательные сетевые соединения.
  • Блокирует доступ к запрещённым файлам.
  • Срабатывания DLP-сенсоров ведут к блокировке сетевого трафика.

Нарушения отображаются в интерфейсе на карте сети и фиксируются в логах событий безопасности.

Экспорт политики безопасности в формате CRD

NeuVector предоставляет возможность экспорта автоматически сформированных политик безопасности в формате CRD (Custom Resource Definition) после фазы обучения в режиме Discover. Подробнее – на официальном сайте NeuVector.

Архитектура

Архитектура NeuVector (Источник: документация NeuVector)

Платформа безопасности NeuVector состоит из следующих компонентов:

  • Контроллер (Controller) — центральный компонент управления, который управляет политиками безопасности и координирует работу с кластером, обрабатывает обновления базы данных уязвимостей и обеспечивает централизованное ведение журналов и событий.
  • Менеджер (Manager) — веб-консоль, предоставляющая панель мониторинга безопасности, управление политиками, отображение событий и предупреждений, а также инструменты расследования угроз.
  • Энфорсер (Enforcer) — развертывается как DaemonSet на каждом узле для мониторинга поведения контейнеров, применения политик безопасности в реальном времени, глубокой инспекции пакетов и сбора данных.
  • Сканер (Scanner) — предоставляет услуги оценки уязвимостей, сканируя образы контейнеров и проводя непрерывный мониторинг запущенных контейнеров.

Системные требования

Компонент Количество экземпляров Рекомендуемый vCPU Минимальная память
Контроллер мин. 1, для HA – 3 (только нечетное число) 1 1ГБ
Энфорсер 1 на узел/виртуальную машину 1+ 1ГБ
Сканер мин. 1, для HA/производительности – 2+ 1 1ГБ
Менеджер мин 1, для HA – 2+ 1 1ГБ
  • Deckhouse Kubernetes Platform версии 1.70+.
  • Минимальные ресурсы: 4 ядра ЦП и минимум 8 ГБ ОЗУ.

Хранение данных

NeuVector поддерживает сохранение конфигураций и политик безопасности в постоянном хранилище. Это позволяет:

  • автоматически восстанавливать данные после сбоя кластера;
  • работать в режиме высокой доступности (HA);
  • выполнять резервное копирование вручную через интерфейс.

Для хранения данных используется PersistentVolumeClaim (PVC), который создаётся автоматически. Чтобы PVC был создан, необходимо указать подходящий storageClassс поддержкой режима доступа ReadWriteMany (RWX). Это можно сделать:

  • в глобальных настройках Deckhouse (см. конфигурация Deckhouse).;
  • в настройках модуля neuvector через ModuleConfig;
  • через default storage class в кластере.

Если storageClass не указан ни в одной из этих конфигураций, будет использоваться временное хранилище (emptyDir), и данные не сохранятся между перезапусками.

Не все типы хранилищ поддерживают режим RWX. В режиме высокой доступности используйте только тома RWX, например на базе модулей csi-nfs и csi-ceph Deckhouse Kubernetes Platform.

Постоянное хранилище используется только в компоненте Контроллер — для хранения файлов резервных копий конфигурации (политики, правила, пользовательские данные, интеграции и т.д.).

Если постоянный том не смонтирован, NeuVector не сохраняет конфигурацию и политики как постоянные данные. Перед остановкой компонента Controller обязательно сделайте резервную копию через Settings → Configuration.