Платформа контейнерной безопасности Kaspersky Security для контейнеров позволяет выявлять проблемы безопасности и обеспечивает защиту на всех этапах жизненного цикла контейнерных приложений, начиная с разработки и контроля развертывания до работы в среде выполнения (англ. runtime).
https://support.kaspersky.com/help/KCS/2.1/ru-RU/ - Справка Kaspersky Security для контейнеров 2.1
https://oras.land/docs/installation - ORAS project
VERSION="1.3.0"
curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz"
mkdir -p oras-install/
tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/
sudo mv oras-install/oras /usr/local/bin/
rm -rf oras_${VERSION}_*.tar.gz oras-install/
oras repo tags repo.kcs.kaspersky.com/charts/kcs --username 1111 --password 2222
helm pull oci://repo.kcs.kaspersky.com/charts/kcs --username=1111 --password=2222 --version 2.1.0
## Cluster's default domain - Домен по умолчанию для кластера
clusterDnsZone: cluster.local
## Default domain name for all ingresses and product-specific environment variables
## Доменное имя по умолчанию для всех ingress-ресурсов и специфичных для продукта переменных окружения
domain: "kcs.loc.loc"
## Default StorageClass for all PVC (if persistentVolume.*.storageClass is not filled)
## If neither value is filled in, the default cluster StorageClass is used.
## StorageClass по умолчанию для всех PVC
storageClass: "nfs"
## Default IngressClass for all ingress objects (if ingress.*.ingressClass not filled)
## IngressClass по умолчанию для всех
## Example:
## `class: nginx`
##
class: "nginx"
## NetworkPolicy configuration
##
networkPolicies:
## Enable NetworkPolicies creation for KCS services within the KCS namespace
## Включить создание NetworkPolicy для сервисов KCS в пространстве имён KCS
create: true
## Set the Ingress Controller namespace name for NetworkPolicy (MIDDLEWARE and PANEL)
## Urgent! If value default.networkPolicies.create is true, specifying namespace as a list is mandatory
## Указать пространство имён контроллера Ingress для NetworkPolicy
ingressControllerNamespaces:
- d8-ingress-nginx
# - openshift-host-network
pullSecret:
## Default pullsecret associated with all ServiceAccounts (Values.serviceAccount)
## Секрет для загрузки образов (pull secret) по умолчанию
kcs-pullsecret:
## Credentials for pullsecret: container registry URL
## Учётные данные для pull secret: URL реестра контейнеров
registry: "repo.kcs.kaspersky.com"
## Credentials for pullsecret: container registry username
## Учётные данные для pull secret: имя пользователя в реестре контейнеров
username: "1111"
## Credentials for pullsecret: container registry user password
## Учётные данные для pull secret: пароль пользователя в реестре контейнеров
password: "2222"
infracreds:
type: fromEnvs
envs:
## HTTP & HTTPS proxies for components
##
# HTTP_PROXY:
# HTTPS_PROXY:
# SCANNER_PROXY:
# LICENSE_PROXY:
## Credentials for PostgreSQL
## If you change the default value of `POSTGRES_USER` and use the variable `secret.infracreds.envs.POSTGRES_VERIFY_LEVEL` with a value of `verify-full`,
## you must use `default.certSource: files`
## Учётные данные для PostgreSQL
POSTGRES_USER: pguser
POSTGRES_PASSWORD: "ojB0XQzP"
## Credentials for S3
## The `MINIO_ROOT_PASSWORD` value must be more or equal to 8 characters
## Учётные данные для S3
MINIO_ROOT_USER: "ojB0XQzP"
MINIO_ROOT_PASSWORD: "ojB0XQzP"
## Usernames for ClickHouse are required only if it is used externally
##
# EXT_CLICKHOUSE_WRITE_USER: kcsuser-write
# EXT_CLICKHOUSE_READ_USER: kcsuser-read
## Passwords for ClickHouse
## Пароли для ClickHouse
CLICKHOUSE_ADMIN_PASSWORD: "ojB0XQzP"
CLICKHOUSE_WRITE_PASSWORD: "{{ $.Values.secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD }}"
CLICKHOUSE_READ_PASSWORD: "{{ $.Values.secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD }}"
## Credentials for Memcached
## Учётные данные для Memcached
MCHD_USER: "ojB0XQzP"
MCHD_PASS: "ojB0XQzP"
## These parameters is used to encrypt sensitive information in the database.
## Urgent! After creation, this parameter must not be lost or changed
## Важно! После создания этот параметр нельзя терять или изменять
APP_SECRET: "ojB0XQzP"
## Credentials for technical user accounts used for accessing repositories in KCS scanning
## The value must be a base64-encoded string of a JSON file
##
# TECHNICAL_ACCOUNTS: base64-string
Добавление Агента в закрытом контуре использует контейнер kcs-updates - агент обновляется от локального kcs по url:
https://kcs.company.com/kuu/updates
https://support.kaspersky.com/help/KCS/2.0/ru-RU/263612.htm
Непрерывная безопасность: KCS интегрируется на всех этапах CI/CD (разработка, сборка, деплой, runtime).
Автоматизация: Сканирование образов в пайплайнах, блокировка несоответствующих политикам артефактов.
Коллаборация: Единая платформа для разработчиков, DevOps и ИБ-специалистов.
Shift Left: Раннее выявление уязвимостей на этапе разработки. Предкоммит-проверки Dockerfile.
Отвечает за развертывание/сопровождение инфраструктуры, управление пользователями, ролями и доступами.
Управляет политиками, подключает реестры и анализирует контейнеры в рамках проектов.
Проверяет образы, CI/CD и кластеры на соответствие стандартам, просматривает результаты сканирования.
Создаёт учётные записи, настраивает политики безопасности, подключает реестры и уведомления.
Просматривает ресурсы, пользователей и результаты сканирования для проверки соответствия стандартам.
Проверяет образы на уязвимости (CVE), вредоносное ПО, ошибки конфигурации и утечки данных до запуска в кластере.
Для ролей: ISADM (Администратор ИБ), ISOFF (Сотрудник ИБ)
В раздел: Политики - Сканирование - Добавить политику.
Тестовое сканирование образа:
В разделе Ресурсы - Реестры выберите образ и нажмите Сканировать.
Убедитесь, что в отчете отображаются разделы:
Эта политика решает две задачи:
Контроль качества образов
- Определяет небезопасные образы по критериям:
- Критические уязвимости (CVE)
- Вредоносное ПО
- Опасные конфигурации (например,
root-доступ)- Утечки данных (ключи/пароли).
Интеграция в процессы
- CI/CD: Автоматически блокирует сборку при обнаружении угроз.
- Runtime: Помечает образы как "несоответствующие", что блокирует их запуск в кластере через Runtime Policy (раздел
Политики → Среда выполнения).Суть: Фильтрует "плохие" образы на этапе сборки и не даёт им запуститься в продакшене.
Для ролей: ISADM (Администратор ИБ), ISOFF (Сотрудник ИБ)
В раздел: Политики - Безопасность образов - Добавить политику.
В поле Область применения из предложенных вариантов выберите область применения.
Включить, если требуется остановка пайплайна при обнаружении угроз.
Политики среды выполнения обеспечивают активную защиту контейнеров в реальном времени, блокируя угрозы на уровне процессов, сети и файловых операций.
- Аудит: решение проверяет и осуществляет учет содержимого объектов
- Блокирование: решение блокирует все объекты, не соответствующие установленным правилам
🛑 Блокировка запуска небезопасных образов
🔐 Контроль процессов/сети (например: запрет curl в продакшене)
🧹 Автоудаление вредоносных файлов
📊 Визуализация угроз в карте кластера
Для ролей: ISADM (Администратор ИБ), ISOFF (Сотрудник ИБ)
В раздел: Политики - Среда выполнения - Добавить политику.
Позволяют автоматически создавать правила безопасности на основе поведения контейнеров.
Автоматическое формирование профилей среды выполнения на основе мониторинга процессов, сетевого трафика и файловых операций в контейнерах.
Автопрофиль можно применить , только после отметки что он проверен.
Проблема: Под не запускается с ошибкой Запрещено политикой KCS
Проверить: Администрирование - События - Контроллер доступа
Определить причину:
Автоматическое уведомление команд при обнаружении угроз (критические уязвимости, вредоносное ПО, несоответствия политикам).
В раздел: Политики - Политики реагирования - Добавить политику.
Требуется предварительная настройка: интеграция с email или telegram до создания политики.
Настройка интеграции - Администрирование → Интеграции → Уведомления.
Триггеры (события):
Раздел Принятые риски в Kaspersky Security для контейнеров — это централизованный журнал всех исключённых угроз (уязвимостей, вредоносного ПО, ошибок конфигурации)
Временное исключение угроз из оценки безопасности без их устранения.
Цель: Аудит уязвимостей/угроз в образах.
Действия:
Политики сканирования - Добавить, выбрать область применения: test
Контрольные показатели (включить):
Цель: Контроль соответствия образов стандартам.
Действия:
Политики безопасности образов - Добавить
Контрольные показатели (включить):
Цель: Мониторинг процессов/сети в контейнерах.
Действия:
Политики среды выполнения - Добавить
Режим - Аудит
Выбрать нужные параметры
Для формирования отчёта, надо зайти:
Реестры - выбрать область применения - отсортировать по фильтрам, выбрать, после чего выбрать Сформировать отчёт