13 октября 2026
ID 331155
Соответствие законодательству Европейского союза (GDPR)
Вне зависимости от типа информации и территории, откуда она была получена, "Лаборатория Касперского" использует высокий уровень стандартов защиты данных и применяет правовые, организационные и технические меры, чтобы защитить данные пользователей, гарантировать безопасность и конфиденциальность, а также обеспечить выполнение прав пользователей, гарантированных применимым законодательством.
Перед использованием KUMA ознакомьтесь с описанием передаваемых данных. Если в соответствии с вашим локальным законодательством или стандартом передаваемые из KUMA данные могут быть классифицированы как персональные, вам необходимо обеспечить законность их обработки и получить согласие конечных пользователей на сбор и передачу этих данных.
Соответствие законодательству Европейского союза (GDPR) в KUMA обеспечивается с помощью инструмента log_archive_setup.py. Этот инструмент позволяет установить рабочий скрипт и cron-задание для выполнения следующих последовательно выполняемых операций с файлами журнала:
- Архивирование.
- Хеширование.
- Шифрование.
- Проверка.
- Удаление открытых данных.
- Перезапуск агента.
Файлы записываются в директории /etc/cron.d/ и /usr/local/sbin/.
Целостность данных обеспечивается следующим образом:
- На уровне события с помощью хеширования SHA256 каждой необработанной строки лог-файла. Данные хранятся внутри архива.
- На уровне архива с помощью хеширования SHA256 файла с расширением .gpg. Данные хранятся в виде файла с расширением .sha256` рядом с архивом.
Конфиденциальность данных обеспечивается с помощью асимметричного GPG-шифрования, при котором расшифровать данные может только владелец закрытого ключа.
Установка инструмента log_archive_setup.py
Следуя этому сценарию, вы можете установить рабочий скрипт и cron-задание и выполнить настройку их параметров.
Запуск инструмента log_archive_setup.py
Для запуска log_archive_setup.py вам нужны root-права на хосте агента KUMA.
Для запуска инструмента log_archive_setup.py выполните следующую команду:
sudo python3 log_archive_setup.py
При необходимости вы можете предварительно просмотреть устанавливаемые объекты без записи файлов с помощь флага --dry-run. Для этого выполните следующую команду:
sudo python3 log_archive_setup.py --dry-run
Выбор целевого агента
Для выбора целевого агента вам нужно указать его идентификатор при указании имени агента в формате kuma-agent-<id>.service.
Пример
Enter %id% for kuma-agent-%id%: 001
Инструмент проверяет наличие указанного вами сервиса агента в systemd. Если этот агент не найден, выводится список всех доступных сервисов kuma-agent-* и инструмент завершает работу.
Формирование расписания архивирования
Для формирования расписания архивирования вам нужно определить значения следующих параметров:
- Периодичность архивирования (1–7 дней в неделю).
- Дни недели, когда осуществляется архивирование (1 – понедельник, 7 – воскресенье).
- Время запуска процесса архивирования в формате ЧЧ:ММ. По умолчанию установлено значение 02:10.
После определения значений этих параметров инструмент формирует cron‑выражение, выводит информацию для предварительного просмотра и повторяет запрос, пока вы его не подтвердите.
Пример
How many times per week? (1-7): 7
Enter time (HH:MM, 00:00..23:59) [02:10]: 03:00
Schedule preview:
- Mode: daily
- Time: 03:00
- Cron: 0 3 * * *
Apply this schedule? [y/N]: y
Поиск GPG-ключа получателя
Инструмент log_archive_setup.py ищет существующий ключ в следующем порядке:
- Если файл отпечатка
/root/log-archive-keys/recipient_fingerprint.txtсуществует и открытый ключ присутствует в защищенной базе данных, инструмент предлагает использовать его повторно. - Если ключ с идентификатором пользователя (англ. UID)
log-archive@localприсутствует в защищенной базе данных, инструмент предлагает использовать его повторно. - Если ключ не найден, инструмент генерирует сертификат и ключ подписи RSA 4096 бит в изолированной временной директории GNUPGHOME. При этом выполняются следующие действия:
- открытый и закрытый ключи экспортируются в директорию
/root/log-archive-keys/; - открытый ключ импортируется в защищенную базу данных;
- проводится полная проверка работы ключей при шифровании и расшифровке.
- открытый и закрытый ключи экспортируются в директорию
Установка рабочего скрипта и cron-задания
Рабочий скрипт записывается в директорию /usr/local/sbin/log_archive_encrypt_<id>.py со встроенным отпечатком GPG-ключа и именем целевого приложения. При этом cron-файл помещается в директорию /etc/cron.d/log-archive-encrypt-<id>, а информация о нем передается в журнал /var/log/siem/archive/cron_<id>.log.
После установки рабочего скрипта шифрование автоматически тестируется для проверки правильности работы инструмента.
Для каждого файла с расширением .log в директории /var/log/siem/ рабочий скрипт выполняет следующие действия:
- Хеширует файл по строкам: считывает файл построчно, вычисляет хеш SHA256 и записывает вспомогательный файл с расширением .sha256.
- Упаковывает: помещает лог-файл и вспомогательный файл с расширением .sha256 в архив .tar.gz с временной меткой (при этом используются атомарные временные файлы).
- Выполняет GPG-шифрование: зашифровывает архив .tar.gz с помощью файла-отпечатка получателя.
- Определяет контрольную сумму архива: вычисляет хеш SHA256 всего файла с расширением .gpg и записывает в формате <archive>.tar.gz.gpg.sha256.
- Выполняет переименование временных файлов, присваивая им итоговые имена, удаляет временный архив .tar.gz, вспомогательный файл с расширением .sha256 и исходный открытый файл журнала с расширением .log.
- Уведомляет пользователя о необходимости переноса секретного ключа
recipient_seckey.ascиз директории/root/log-archive-keys/на рабочую станцию аналитика безопасности и удаления его с хоста агента в соответствии с политикой управления ключами. - Выполняет перезапуск агента SIEM-системы с помощью следующей команды:
systemctl try-restart kuma-agent-<id>.service
Вы можете запустить скрипт со следующими флагами:
--no-restart: флаг используется, если нужно пропустить шагsystemctl try-restart.--test-file <path>: флаг используется, если нужно обработать конкретный файл вместо всех файлов с расширением .log.
При использовании инструмента log_archive_setup.py нужно учитывать следующее:
- Директория архивов создается таким образом, что все выходные файлы доступны только владельцу.
- При GPG-шифровании используется параметр
--trust-model always, который подходит для контролируемого ключа.Мы не рекомендуем использовать этот параметр с произвольными внешними ключами.
- Открытый текст файлов с расширением .log удаляется только после успешной записи зашифрованного архива и его контрольной суммы.
- Закрытый ключ
recipient_seckey.ascзаписывается в директорию/root/log-archive-keys/с правами на чтение и запись только владельцем.Мы рекомендуем перенести закрытый ключ на рабочую станцию и удалить с хоста агента в соответствии с политикой управления ключами.
Структура файлов и директорий
В таблице ниже представлена структура директорий и файлов, которые используются инструментом log_archive_setup.py и рабочим скриптом.
Структура директорий и файлов
Директория/файл | Описание |
|---|---|
| Входные файлы с расширением .log |
| Зашифрованный архив |
| Контрольная сумма архива |
| Журнал с информацией о выполнении cron-заданий |
| Рабочий скрипт |
| Cron-задание |
| Отпечаток GPG-ключа |
| Экспортируемый открытый ключ |
| Закрытый ключ |
Удаление рабочего скрипта и cron-задания
Чтобы удалить рабочий скрипт и cron-задание:
- Выполните одно из следующих действий:
- Выполните следующие команды:
rm /etc/cron.d/log-archive-encrypt-001
rm /usr/local/sbin/log_archive_encrypt_001.py
где
001– идентификатор агента. - Удалите GPG-ключ из защищенной базы данных с помощью следующей команды:
gpg --delete-key log-archive@local
- Выполните следующие команды:
- При необходимости вручную удалите файлы архива в
/var/log/siem/archive/и ключи в/root/log-archive-keys/.