Содержание
Архитектура решения
Компоненты Kaspersky Security для контейнеров разворачиваются на основе образов, входящих в комплект поставки. В таблице ниже представлено соответствие полученных образов и компонентов решения.
Компоненты Kaspersky Security для контейнеров
Компонент |
Образ |
Функция компонента |
---|---|---|
СУБД ClickHouse |
clickhouse |
Управление базами данных Clickhouse для хранения и обработки информационных сообщений, поступающих от агентов. |
СУБД PostgreSQL |
postgresql |
Управление базами данных с помощью инструментов анализа и оптимизации разбора запросов и механизмов обработки запросов.
|
Модуль основной бизнес-логики решения |
middleware |
Реализация бизнес-логики обработки данных серверной составляющей решения и предоставление REST API для графического интерфейса Kaspersky Security для контейнеров. |
Брокер событий |
event-broker |
Обеспечение связи между различными элементами распределенной системы решения. |
Модуль обработки заданий на сканирование, сканер-клиент |
image-handler |
Обработка заданий на сканирование с использованием сканеров уязвимостей и вредоносного ПО: запуск выполнения заданий на сканирование, сканирование объектов, агрегация и публикация результатов сканирования. |
Сканер-сервер |
scanner-server |
Управление сервером сканирования для хранения базы данных уязвимостей и кеша слоев образов, а также для работы модуля обработки заданий на сканирование. |
Модуль лицензирования |
licenses |
Управление функциональными возможностями, доступными по лицензии. |
Файловое хранилище |
minio |
Управление хранилищем для хранения и передачи пользователям файлов, которые формируются в результате работы решения. |
Многопоточное кеш-хранилище ключей и значений на основе событий |
memcached |
Управление кеш-хранилищем для хранения и передачи ключей и значений, полученных решением в рамках произошедших событий. |
Файл-сервер обновлений для закрытых контуров |
updates |
Поставка обновлений при развертывании решения. |
Интерфейс решения |
nginx |
Функционирование графического пользовательского интерфейса Kaspersky Security для контейнеров. |
Брокер данных агентов |
agent-broker |
Обеспечение связи между различными элементами распределенной системы решения. |
Агенты |
node-agent kube-agent |
Обеспечение безопасности на узлах в соответствии с настроенным политиками безопасности и интеграция с оркестратором. |
Основными компонентами решения являются:
- Модуль основной бизнес-логики Kaspersky Security для контейнеров.
- Агенты Kaspersky Security для контейнеров.
- Сканер Kaspersky Security для контейнеров.
Общая схема архитектуры Kaspersky Security для контейнеров
Kaspersky Security для контейнеров может разворачиваться в открытом или закрытом контуре корпоративной сети.
Модуль основной бизнес-логики решения
Модуль основной бизнес-логики решения Kaspersky Security для контейнеров выполняет следующие функции:
- предоставляет интерфейс для интерактивного управления решением (консоль управления);
- обеспечивает интеграцию со сторонними программными компонентами (SIEM, CI, реестры образов, LDAP, Telegram, электронная почта) и получение от них информации;
- координирует работу других компонентов решения;
- обеспечивает создание политик безопасности и управление ими;
- обеспечивает отображение результатов работы решения.
Агенты
Агенты Kaspersky Security для контейнеров (далее также агенты) – это компонент решения, который запускается в виде контейнеризированного приложения и обеспечивает безопасность на узлах в соответствии с настроенным политиками безопасности, в частности:
- контролирует безопасность среды выполнения контейнеров, запущенных на узлах;
- контролирует сетевое взаимодействие подов (англ. pods) и приложений внутри контейнеров;
- интегрируется с платформой оркестрации и обеспечивает поток информации, необходимый для анализа конфигурации оркестратора и его компонентов;
- контролирует запуск контейнеров из доверенных образов с целью не допускать запуска непроверенных образов.
Агенты устанавливаются на все узлы кластеров, а также на все кластеры, которые требуется защищать. Соответственно, Kaspersky Security для контейнеров оперирует двумя типами агентов: агенты защиты кластера (csp-kube-agent) и агенты защиты узлов (csp-node-agent). В совокупности они формируют группы агентов. Для каждого кластера создается своя группа агентов. В рамках одной установки решения может быть создано множество групп агентов.
Агенты не внедряют свой исполняемый код в контейнеры в контролируемых кластерах.
При отсутствии агентов в кластере часть функциональных возможностей решения остается недоступной (например, политики среды выполнения, мониторинг ресурсов).
В началоСканер
Сканер – программный компонент Kaspersky Security для контейнеров для сканирования объектов в реальном времени для оценки безопасности и выявления известных уязвимостей, вредоносного ПО, признаков конфиденциальных данных и ошибок конфигурации. Сканер позволяет проводить проверки безопасности на основе действующих политик безопасности.
Kaspersky Security для контейнеров задействует следующие виды сканеров:
- сканер уязвимостей по базе данных общеизвестных уязвимостей информационной безопасности (CVE);
- сканер для выявления файловых угроз в составе компонента Защита от файловых угроз;
- сканер конфигурационных файлов;
- сканер конфиденциальной информации (секретов).
О сканировании объектов
Kaspersky Security для контейнеров осуществляет проверку развернутых в решении объектов во время сканирования. Сканирование – поиск и анализ угроз и рисков безопасности в отношении объектов решения. Сканирование объектов требуется проводить регулярно, чтобы оперативно отслеживать появляющиеся угрозы безопасности.
В рамках сканирования Kaspersky Security для контейнеров выявляет следующие угрозы безопасности:
- Уязвимости.
- Вредоносное ПО.
- Ошибки конфигурации.
- Наличие конфиденциальных данных.
- Несоответствие требованиям политик безопасности.
Процесс сканирования
Сканер получает задания на проверку с помощью модуля для обработки заданий на сканирование. Модуль для обработки заданий на сканирование (Image handler) разворачивается в инфраструктуре Kaspersky Security для контейнеров и обеспечивает передачу заданий на сканирование в сканер и получение результатов сканирований из сканера.
При передаче заданий на сканирование определяется текущий статус сканера:
- Свободен – сканер не обрабатывает объекты и в ответ на запрос может принять задание от приложения для обработки заданий на сканирование.
- Занят – сканер обрабатывает задание на сканирование. Новое задание от приложения для обработки заданий на сканирование помещается в очередь.
Очередь заданий на сканирование представляет собой совокупность заданий, переданных на сканирование в следующих случаях:
- при запуске сканирования реестров образов вручную;
- при автоматическом запуске сканирования реестров образов;
- при массовом сканировании объектов кластера.
Задания в очереди на сканирование получают следующие статусы:
- Ожидает – присваивается по умолчанию при создании задания.
- Выполняется – задание обрабатывается приложением для обработки заданий на сканирование.
- Обработка результатов – решение обрабатывает результаты сканирования задания для их отображения в интерфейсе.
- Ошибка – задание на сканирование не выполнено.
- Завершено – получен результат сканирования задания.
Задания на сканирование из очереди передаются в модуль для обработки заданий на сканирование в порядке их поступления. Затем задание на сканирование поступает в сканер со статусом Свободен и проверяется на наличие проблем безопасности. Результаты сканирования передаются обратно в модуль для обработки заданий на сканирование. Задание на сканирование считается завершенным, если получены результаты сканирования. Если сканирование задания на сканирование проводилось три и более раз, но результаты получены не были, задание на сканирование получает статус Ошибка.
При сканировании большого количества объемных объектов решение может медленнее предоставлять результаты сканирования в интерфейсе. Ожидание результатов может длиться несколько минут. В это время задания на сканирование отображаются в разделе Сканеры со статусом Обработка результатов.
Если вы хотите ускорить обработку результатов сканирования, вы можете увеличить количество ресурсов, направленных на обработку заданий на сканирование, с помощью обновления переменных в Helm Chart (подробнее см. Масштабирование).
При появлении ошибки решение показывает сообщение об ошибке, которое состоит из кода и текста сообщения (например, HNDL-004: scan time out
).
Сообщения об ошибке отображаются на английском языке. Значения сообщений приводятся в примере ниже.
Пример возможных сообщений об ошибке при выполнении заданий на сканирование
После сканирования решение отображает результаты проверки. Если в объекте обнаружены угрозы, Kaspersky Security для контейнеров предлагает выполнить в отношении него одно из следующих действий:
- Удалить угрозу безопасности.
- Принять риск.
Требования к паролям приложений сторонних производителей
В работе Kaspersky Security для контейнеров используются сервисы сторонних производителей. Это следующие компоненты решения, которые входят в комплект поставки:
- S3-совместимое файловое хранилище.
- СУБД ClickHouse.
- СУБД PostgreSQL.
- Многопоточное кеш-хранилище ключей и значений Memcached.
Параметры для установки этих компонентов определяются в конфигурационном файле values.yaml в пакете Helm Chart.
К паролям компонентов предъявляются следующие требования:
- Минимальная длина пароля – 8 знаков.
- Пароль не должен содержать специальные символы ' и ".
Пароли указываются в следующих переменных в конфигурационном файле:
MINIO_ROOT_PASSWORD
для S3-совместимого файлового хранилища.CLICKHOUSE_PASSWORD
,CLICKHOUSE_WRITE_PASSWORD
иCLICKHOUSE_READ_PASSWORD
для ClickHouse.POSTGRES_PASSWORD
для PostgreSQL.MEMCACHED_PASSWORD
для кеш-хранилища Memcached.