Обновление KOMRAD с версии 4.3.58 до версии 4.5 с сохранением событий
В данном разделе описана процедура обновления KOMRAD Enterprise SIEM с версии 4.3.58 до версии 4.5 с сохранением существующих событий в базе данных ClickHouse.
- Убедитесь, что текущая версия KOMRAD -- 4.3.58.
- Создайте полную резервную копию системы (снимок виртуальной машины или бэкап данных).
- Проверьте учётные данные для подключения к ClickHouse и PostgreSQL. Пароли можно найти в конфигурационных файлах:
/etc/echelon/komrad/komrad-server.yaml(PostgreSQL) и/etc/echelon/komrad/komrad-processor.yaml(ClickHouse). - Убедитесь, что на диске достаточно свободного места для миграции данных (как минимум объём текущей таблицы событий).
- Проверьте наличие пользовательских плагинов -- они могут потребовать дополнительной настройки после обновления.
Все действия выполняются от имени пользователя root:
sudo su
Шаг 1. Остановка сервисов
Остановите все сервисы KOMRAD:
systemctl stop komrad-{file,snmp,xflow,syslog,sql,http}-collector \
komrad-incident-manager komrad-correlation-dispatcher komrad-reactor \
komrad-processor komrad-server komrad-server.socket pauth-server \
komrad-s3 komrad-backup komrad-scanner komrad-bus komrad-waf-proxy
Шаг 2. Проверка состояния сервисов
Убедитесь, что все сервисы остановлены и нет сервисов в состоянии failed:
systemctl --type service
При наличии сервисов в состоянии failed сбросьте их статус:
systemctl reset-failed <имя_сервиса>
Шаг 3. Удаление установленных пакетов
Удалите пакеты KOMRAD версии 4.3.58:
dpkg -P komrad-processor pauth-server komrad-server komrad-server.socket \
komrad-reactor komrad-s3 komrad-cli komrad-incident-manager komrad-backup \
komrad-reactor-cef komrad-vault komrad-correlation-dispatcher \
komrad-correlator komrad-bus komrad-scanner \
komrad-{file,snmp,xflow,syslog,sql,http}-collector komrad-waf-proxy
Шаг 4. Удаление конфигурационных директорий
rm -rf /etc/echelon/komrad /var/lib/echelon
Шаг 5. Подготовка ClickHouse
Подключитесь к ClickHouse и выполните подготовительные запросы:
clickhouse-client --user komrad --password <пароль>
Переименуйте текущую таблицу событий:
RENAME TABLE komrad_events.events TO komrad_events.events_old;
Создайте базу данных для интеграции с PostgreSQL:
CREATE DATABASE IF NOT EXISTS komrad_pg;
Отзовите права на запись:
REVOKE INSERT ON komrad_pg.* FROM komrad;
Шаг 6. Настройка конфигурации подключения к ClickHouse
Отредактируйте файл /etc/echelon/.click:
nano /etc/echelon/.click
Убедитесь, что содержимое файла имеет следующий вид:
{"creds":{"user":"komrad","password":"<пароль>"},"ttl":190}
Шаг 7. Распаковка дистрибутива KOMRAD версии 4.5
Скачайте дистрибутив KOMRAD v4.5 и распакуйте его без запуска установки:
bash ./komrad_v4.5.22_astra_1.8_amd64.run --noexec
Перейдите в директорию с пакетами:
cd komrad
Шаг 8. Обновление ClickHouse
Остановите сервис ClickHouse:
systemctl stop clickhouse-server
Обновите пакеты ClickHouse (при запросах о замене конфигурационных файлов выберите Y):
dpkg -i clickhouse-common-static-std_v24.8.6-70.lts.echelon.2_amd64_astra.deb
dpkg -i clickhouse-server-std_v24.8.6-70.lts.echelon.2_amd64_astra.deb
dpkg -i clickhouse-client-std_v24.8.6-70.lts.echelon.2_amd64_astra.deb
Имена файлов пакетов могут отличаться в зависимости от версии дистрибутива. Используйте актуальные имена файлов из вашего дистрибутива.
Шаг 9. Настройка подключения ClickHouse к PostgreSQL
Создайте файл конфигурации именованных коллекций:
nano /etc/clickhouse-server/config.d/named_collections.yaml
Добавьте следующее содержимое:
named_collections:
postgres_creds:
user: postgres
password: <пароль>
host: 127.0.0.1
port: 5432
database: komrad-preferences
schema: preferences
Установите права на файл:
chown clickhouse:clickhouse /etc/clickhouse-server/config.d/named_collections.yaml
chmod 400 /etc/clickhouse-server/config.d/named_collections.yaml
Запустите ClickHouse:
systemctl start clickhouse-server
Шаг 10. Настройка PostgreSQL
Отредактируйте файл /etc/echelon/.pgpass:
nano /etc/echelon/.pgpass
Приведите содержимое к следующему виду:
127.0.0.1:5432:komrad-preferences:postgres:<пароль>
::1:5432:komrad-preferences:postgres:<пароль>
localhost:5432:komrad-preferences:postgres:<пароль>
127.0.0.1:5432:komrad-grafana:postgres:<пароль>
::1:5432:komrad-grafana:postgres:<пароль>
localhost:5432:komrad-grafana:postgres:<пароль>
127.0.0.1:5432:pauth-preferences:postgres:<пароль>
::1:5432:pauth-preferences:postgres:<пароль>
localhost:5432:pauth-preferences:postgres:<пароль>
127.0.0.1:5432:scanner:postgres:<пароль>
::1:5432:scanner:postgres:<пароль>
localhost:5432:scanner:postgres:<пароль>
Создайте базу данных для Grafana:
sudo -i -u postgres psql -c "CREATE DATABASE \"komrad-grafana\";"
Выполните миграцию конфигурации файловых коллекторов:
sudo -i -u postgres psql -d komrad-preferences -c "UPDATE preferences.collectors
SET config = jsonb_set(
config,
'{V, Filestream}',
(SELECT jsonb_array_elements(config -> 'V' -> 'Filestream') FROM preferences.collectors LIMIT 1)
)
WHERE collector_type = 'file'
AND config -> 'V' -> 'Filestream' IS NOT NULL;"
Шаг 11. Запуск установщика KOMRAD версии 4.5
Убедитесь, что вы находитесь в директории komrad с распакованными пакетами. Запустите установщик:
./setup
Выберите ручной режим установки (на вопрос "Установить Komrad SIEM с настройками по умолчанию?" введите N).
Пропустите следующие шаги, отвечая N:
- Установка базы данных ClickHouse -- пропустить (ClickHouse уже обновлён)
- Установка базы данных PostgreSQL из репозитория пакетов ОС -- пропустить (PostgreSQL уже настроен)
- Введите секретный пароль и соль -- пропустить
- Создайте роль и пользователя 'admin' -- пропустить (пользователь уже существует)
Шаг 12. Запуск Grafana на Astra Linux 1.7
Если Grafana не запускается на Astra Linux 1.7, необходимо закомментировать неподдерживаемые параметры в файле сервиса:
nano /lib/systemd/system/grafana.service
Закомментируйте следующие строки (добавьте # в начало каждой):
#ProtectProc=invisible
#ProtectClock=true
#ProtectHostname=true
#ProtectKernelLogs=true
Перезагрузите конфигурацию systemd:
systemctl daemon-reload
Данный шаг необходим только для Astra Linux 1.7, где используется устаревшая версия systemd, не поддерживающая указанные директивы.
Шаг 13. Миграция данных событий
Скрипт миграции переносит данные из таблицы komrad_events.events_old (версия 4.3.58) в новую таблицу komrad_events.events (версия 4.5) и удаляет устаревшие индексные таблицы.
- Убедитесь, что на диске достаточно свободного места.
- Скрипт использует учётные данные по умолчанию: пользователь
komrad, парольpass. При необходимости измените их в скрипте.
Запустите скрипт миграции:
BATCH_SIZE=100000 ./click_migrate_4.3.58_to_4.5.22.sh
Параметр BATCH_SIZE определяет количество записей, обрабатываемых за одну итерацию (по умолчанию -- 100 000).
Скрипт сохраняет состояние миграции в файл .clickhouse_migration_state, что позволяет продолжить процесс с места остановки в случае ошибки.
По завершении миграции последовательно выводятся сообщения:
Операция переноса данных с преобразованием завершена успешноОперация удаления индексных таблиц завершена успешноВсе операции завершены успешно
Таблица komrad_events.events_old с данными версии 4.3.58 не удаляется автоматически. После успешной миграции и проверки работоспособности системы рекомендуется удалить её вручную для освобождения дискового пространства.
После завершения миграции перезагрузите систему:
reboot