Стадия жизненного цикла модуля: Experimental
Доступно с ограничениями в редакциях: 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 состоит из следующих компонентов:
- Контроллер (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), и данные не сохранятся между перезапусками.
Постоянное хранилище используется только в компоненте Контроллер — для хранения файлов резервных копий конфигурации (политики, правила, пользовательские данные, интеграции и т.д.).
Если постоянный том не смонтирован, NeuVector не сохраняет конфигурацию и политики как постоянные данные. Перед остановкой компонента Controller обязательно сделайте резервную копию через Settings → Configuration.