Соответствие законодательству Европейского союза (GDPR)
Скопировано

13 октября 2026

ID 331155

Соответствие законодательству Европейского союза (GDPR)

Вне зависимости от типа информации и территории, откуда она была получена, "Лаборатория Касперского" использует высокий уровень стандартов защиты данных и применяет правовые, организационные и технические меры, чтобы защитить данные пользователей, гарантировать безопасность и конфиденциальность, а также обеспечить выполнение прав пользователей, гарантированных применимым законодательством.

Перед использованием KUMA ознакомьтесь с описанием передаваемых данных. Если в соответствии с вашим локальным законодательством или стандартом передаваемые из KUMA данные могут быть классифицированы как персональные, вам необходимо обеспечить законность их обработки и получить согласие конечных пользователей на сбор и передачу этих данных.

Соответствие законодательству Европейского союза (GDPR) в KUMA обеспечивается с помощью инструмента log_archive_setup.py. Этот инструмент позволяет установить рабочий скрипт и cron-задание для выполнения следующих последовательно выполняемых операций с файлами журнала:

  1. Архивирование.
  2. Хеширование.
  3. Шифрование.
  4. Проверка.
  5. Удаление открытых данных.
  6. Перезапуск агента.

Файлы записываются в директории /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 и рабочим скриптом.

Структура директорий и файлов

Удаление рабочего скрипта и cron-задания

Чтобы удалить рабочий скрипт и cron-задание:

  1. Выполните одно из следующих действий:
    • Выполните следующие команды:

      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

  2. При необходимости вручную удалите файлы архива в /var/log/siem/archive/ и ключи в /root/log-archive-keys/.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!