Обновление системы
В данной статье описывается процесс обновления KOMRAD версии 4.1.33 до версии 4.3 с использованием установщика на одном хосте (тип лицензии Base, AIO). При обновлении сохраняются события, фильтры, директивы, инциденты, активы, модули.
Для минимизации рисков сделайте снимок или создайте точку возврата системы
В связи с тем, что в KOMRAD 4.3 были добавлены встроенные модули, у пользователя могут возникать конфликты при обновлении в случае, если у него уже есть модули с такими именами.
Пожалуйста, убедитесь перед обновлением, что в KOMRAD у вас нет модулей со следующими названиями: "nginx", "grok", "dns", "Auditd", "reputation_list", "Suricata IDS/NSM Eve JSON", "Направление трафика".
В случае, если у вас есть модули с такими названиями, то ОБЯЗАТЕЛЬНО переименуйте их. Обратите внимание, что регистр в данном случае не важен, т.е. даже если название вашего модуля написано заглавными буквами или наоборот, то его всё равно необходимо переименовать. (Например, вместо "DNS" назвать его "DNS1")
Об импорте и экспорте модулей можно прочитать в разделе «Импорт и экспорт»
Обновление продукта производится средствами обновления пакетов сервисов.
Шаги:
Подготовка к обновлению
Ознакомьтесь с минимальными требованиями к составу и характеристикам технических средств к системе перед обновлением.
-
Выполните обновления полей базы с использованием сценария
Сначала нужно дать скрипту право на исполнение:
chmod +x fix_new_strings.shДалее выполните команду:
bash fix_new_strings.sh -с postgres://postgres:pass@localhost:5432/komrad-preferences -
Удалить старые пакеты
sudo dpkg -P komrad-processor pauth-server komrad-server komrad-reactor komrad-s3 komrad-cli incident-manager komrad-backup pauthctl komrad-reactor-cef komrad-vault correlation-dispatcher komrad-correlator komrad-bus komrad-scanner {file,snmp,xflow,syslog,sql}-collector -
Очистить папки
sudo rm -rf /etc/echelonsudo rm -rf /var/lib/echelon
Изменение конфигурации баз данных
Postgresql
-
Подключитесь к
postgresql:sudo su - postgres -
Измените пароль для пользователя
psql -c "ALTER USER postgres WITH CREATEDB LOGIN PASSWORD 'pass';" -
Выйти из
postgresqlexit -
Закомментируйте строки с сертификатами в конфигурации
postgresqlsudo nano /etc/postgresql/9.6/main/postgresql.conf -
Найдите и закомментируйте строчки
ssl = false#ssl = on#ssl_ca_file = '/var/lib/echelon/komrad/certs/ca.pem'#ssl_key_file = '/var/lib/echelon/komrad/certs/server-key.pem'#ssl_cert_file = '/var/lib/echelon/komrad/certs/server.pem'` -
Перезапустите
postgresqlsudo systemctl restart postgresql
Clickhouse
-
Измените пароль стандартному пользователю
defaultнаpassдля БД ClickHousesudo nano /etc/clickhouse-server/users.d/default-password.xml -
Замените значение пароля на стандартное
d74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1подсказкаЕсли вы создавали стандартного пользователя с пустым паролем, то у вас не будет данного файла, вы можете пропускать этот шаг
-
Измените пароль пользователя
komradнаpassдля БД ClickHousesudo nano /etc/clickhouse-server/users.d/komrad.xml -
Замените значение пароля на стандартное
d74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1 -
Перезапустите ClickHouse
sudo systemctl restart clickhouse-server.serviceподсказкаЕсли сервисы отображаются как failed в выводе команды
sudo systemctl, выполните:sudo systemctl reset-failed -
Перезагрузите машину
sudo reboot
Настройки для обновления
Создать файл pgpass:
-
Перейти в папку
etccd /etc -
Создать папку
mkdir echelon -
Создать файл
pgpasssudo nano /etc/echelon/.pgpass -
Добавьте содержимое
127.0.0.1:5432:komrad-preferences:postgres:pass::1:5432:komrad-preferences:postgres:passlocalhost:5432:komrad-preferences:postgres:pass127.0.0.1:5432:pauth-preferences:postgres:pass::1:5432:pauth-preferences:postgres:passlocalhost:5432:pauth-preferences:postgres:pass127.0.0.1:5432:scanner:postgres:pass::1:5432:scanner:postgres:passlocalhost:5432:scanner:postgres:pass127.0.0.1:5432:temporal:postgres:pass::1:5432:temporal:postgres:passlocalhost:5432:temporal:postgres:pass -
Создать файл
.clicksudo nano /etc/echelon/.click -
Добавьте содержимое
komrad:pass -
Дайте разрешение на файл:
sudo chmod 555 /etc/echelon/.click /etc/echelon/.pgpass -
Перейдите в директорию, в которой у вас находится файл-установщик
komrad_v..._amd64.run -
Дайте права на исполнение и запустите установщик:
chmod +x komrad_v....._amd64.runsudo ./komrad_v....._amd64.run -
Пройдите диалог с установщиком
подсказкаЕсли в процессе обновления KOMRAD установщик выдаст ошибку и выйдет из диалога, то запустите его повторно для продолжения установки:
sudo komrad-cli install singlenodeВ диалоге с установщиком в консоли отклоните все встреченные ранее шаги
-Install?-n-Теперь автоматически запустите 'apt-get update'?-Y/n на ваш выбор-Предоставить информацию об открытых IP-адресах и именах хостов для обеспечения безопасности TLS и CORS на текущем узле?-Y-Отключить явные указатели HTTPS? [y/N]-y-Используйте клавиши со стрелками для навигации: ↓ ↑ → ←Пожалуйста, выберите IP-адрес с внешним сетевым интерфейсом:-Перейти к созданию сертификатов TLS для защиты веб-интерфейса и/илимежсервисного взаимодействия (mTLS) на текущем узле?-Y(Пройдите шаги создания сертификатов)-Этот шаг необходим для обеспечения более безопасного хранения данных. Вы должны выполнить это действие!-Перейти к установке базы данных PostgreSQL из репозитория пакетов ОС-n-Введите секретный пароль и соль? [Y/n]-(введите пароль длиной более 18 символов)-(введите соль менее 32 символов)-Перейти к установке базы данных ClickHouse на текущем узле?-n-Перейти к установке интеграционной шины сообщений (komrad-bus) натекущем узле?-Y-Записать файл балласта-Y-Перейти к установке сервера аутентификации и управления пользователями(pauth-server) на текущем узле?-Y-Cоздать пользователя admin?-n-Перейти к установке сервера хранения объектов, совместимого с S3(komrad-s3) на текущем узле?-Y-Перейти к установке API-шлюза для микросервисов KOMRAD (komrad-server)на текущем узле?-Y-Перейти к установке сервера обработки событий безопасности (komrad-processor) на текущем узле?-Y-Перейти к установке сканера сетевой безопасности (komrad-scanner) натекущем узле?-Y-Перейти к установке сервера реагирования на инциденты (komrad-reactor)на текущем узле?-Y-Перейти к установке шины управляющих сообщений и транспорта событийбезопасности (komrad-correlation-dispatcher) на текущем узле?-Y-Перейти к установке сервера управления инцидентами (komrad-incident-manager) на текущем узле?-Y-Перейти к установке коллектора событий системного журнала (komrad-syslog-collector) на текущем узле?-Y-Перейти к установке локального и удаленного (SSH) коллектора файлов(komrad-file-collector) на текущем узле?-Y-Перейти к установке коллектора событий SNMP trap и агента SNMP (komrad-snmp-collector)-Y-Перейти к установке коллектора баз данных (komrad-sql-collector) натекущем узле?-Y-Перейти к установке коллектора sFlow, NetFlow v5/v9, IPFIX (komrad-xflow-collector) на текущем узле?-YПерейти к установке сборщика HTTP(S) GET/POST (komrad-http-collector)на текущем узле?-Y-Перейти к установке утилиты резервного копирования PostgreSQL (komrad-backup) на текущем узле?-Y-Перейти к установке HTTP-прокси с брандмауэром веб-приложений/наборомправил OWASP (komrad-waf-proxy) на текущем узле?-YОбновление завершено.Обновите лицензию:
- Скопируйте в папку /etc/echelon/komrad/license файл лицензии с расширением (.lic)
- Дайте права пользователю
komradна лицензию:
sudo chown komrad:komrad /etc/echelon/komrad/license/имя_лицензии.lic -
Выполните перезапуск сервисов
sudo systemctl restart komrad-server komrad-processor pauth-server
Проверьте работоспособность системы.
Установка корневого сертификата в браузере
Порядок выполняемых действий:
-
Скопировать сертификат ca.pem из папки и перенесите на целевую машину командой:
sudo cp /var/lib/echelon/komrad/certs/ca.pem ./ -
Импортировать ca.pem в «Доверенные корневые центры сертификации» вашего браузера
-
Перезапустить браузер
Установка завершена
KOMRAD установлен и доступен по адресу https://localhost
Для защиты системы выполните смену всех стандартных паролей
При обновлении ваши коллекторы могут задвоиться, удалите старые коллекторы со статусом "не определён"
Обновление с 4.3.31 до 4.3.58
Необходимо выполнять все шаги в точности, как при стандартном обновлении продукта (описано выше), однако для удаления пакетов KOMRAD воспользуйтесь командой:
sudo dpkg -P komrad-{file,snmp,xflow,syslog,sql,http}-collector komrad-{bus,correlation-dispatcher,incident-manager,processor,reactor,s3,scanner,server,cli,backup,reactor-cef,vault}.service pauth-server pauthctl komrad-server.socket
Когда дойдёте до диалога с установщиком, то на этапах установки komrad-correlation-dispatcher и komrad-incident-manager нужно отказаться от них, поставив N.

Далее перейдите в каталог, в котором расположены все установочные пакеты KOMRAD. Если Вы запускали установщик из каталога /home/имя_пользователя/, то это каталог /home/имя_пользователя/komrad
cd /home/имя_пользователя/komrad
И далее выполните следующие команды:
sudo dpkg -P komrad-correlation-dispatcher
sudo dpkg -i komrad-correlation-dispatcher_v4.3.58…
Допишите пароль от Postgres
nano /etc/echelon/komrad/komrad-correlation-dispatcher.yaml
# Настройка подключения к БД PostgreSQL в формате URL.
DB: postgres://postgres:"pass"@localhost:5432/komrad-preferences?sslmode=disable
# Настройка адреса для прослушивания входящих соединений по протоколу HTTP.
...
...
...
CorrelatorController:
# Настройка подключения к БД PostgreSQL в формате URL для корреляторов.
CorrelatorDB: postgres://postgres:"pass"@localhost:5432/komrad-preferences?sslmode=disable
Включите службу
systemctl start komrad-correlation-dispatcher
Добавьте службу в автозапуск
systemctl enable komrad-correlation-dispatcher
Аналогичные действия выполните для komrad-incident-manager
sudo dpkg -P komrad-incident-manager
sudo dpkg -i komrad-incident-manager_v4.3.58…
Допишите пароль от Postgres
nano /etc/echelon/komrad/komrad-incident-manager.yaml
# Настройка подключения к БД PostgreSQL в формате URL.
DB: postgres://postgres:"pass"@localhost:5432/komrad-preferences?sslmode=disable
Включите службу
systemctl start komrad-incident-manager
Добавьте службу в автозапуск
systemctl enable komrad-incident-manager
Для защиты системы выполните смену всех стандартных паролей
Обновление с 4.3.45 до 4.3.58
Процесс обновления KOMRAD версии 4.3.45 до версии 4.3.58 с использованием установщика на одном хосте. При обновлении сохраняются события, фильтры, директивы, инциденты, активы, модули.
Предварительно скачать сценарий и перенести на машину с KOMRAD fix_new_strings.sh
-
Сначала нужно дать скрипту право на исполнение:
chmod +x fix_new_strings.sh -
Далее выполните команду для починки базы:
bash ./fix_new_strings.sh -c postgres://postgres:pass@localhost:5432/komrad-preferences -
Удалите старые пакеты с помощью команды:
sudo dpkg -P komrad-processor pauth-server komrad-server komrad-reactor komrad-s3 komrad-cli komrad-incident-manager komrad-backup pauthctl komrad-reactor-cef komrad-vault komrad-correlation-dispatcher komrad-correlator komrad-bus komrad-scanner komrad-{file,snmp,xflow,syslog,sql}-collector -
Очистите папки:
sudo rm -rf /etc/echelonsudo rm -rf /var/lib/echelon -
Создайте файл
pgpass:cd /etcsudo mkdir echelonsudo nano /etc/echelon/.pgpass -
Добавьте содержимое в файл:
127.0.0.1:5432:komrad-preferences:postgres:pass::1:5432:komrad-preferences:postgres:passlocalhost:5432:komrad-preferences:postgres:pass127.0.0.1:5432:pauth-preferences:postgres:pass::1:5432:pauth-preferences:postgres:passlocalhost:5432:pauth-preferences:postgres:pass127.0.0.1:5432:scanner:postgres:pass::1:5432:scanner:postgres:passlocalhost:5432:scanner:postgres:pass127.0.0.1:5432:temporal:postgres:pass::1:5432:temporal:postgres:passlocalhost:5432:temporal:postgres:pass -
Создайте файл
.click:sudo nano /etc/echelon/.click -
Добавьте содержимое в файл
.click:komrad:pass -
Дайте разрешение на файл
.click:sudo chmod 555 /etc/echelon/.click /etc/echelon/.pgpass -
Перейдите в директорию, в которой находится установщик. Дайте права на исполнение и запустите установщик:
chmod +x komrad_v4.3.58_astra_1.7_amd64.runsudo ./komrad_v4.3.58_astra_1.7_amd64.run -
Пройдите диалог с установщиком:
подсказкаЕсли в процессе обновления KOMRAD установщик выдаст ошибку и выйдет из диалога, то необходимо запустить его повторно:
sudo komrad-cli install singlenode-Install?-N-Теперь автоматически запустите 'apt-get update'?-Y/N на выбор-Предоставить информацию об открытых IP-адресах и именах хостов для обеспечения безопасности TLS и CORS на текущем узле?-Y-Отключить явные указатели HTTPS? [y/n]-Y-Используйте клавиши со стрелками для навигации: ↓ ↑ → ←Пожалуйста, выберите IP-адрес с внешним сетевым интерфейсом:-Перейти к созданию сертификатов TLS для защиты веб-интерфейса и/илимежсервисного взаимодействия (mTLS) на текущем узле?-Y(Пройдите шаги создания сертификатов)-Этот шаг необходим для обеспечения более безопасного хранения данных. Вы должны выполнить это действие!-Перейти к установке базы данных PostgreSQL из репозитория пакетов ОС-NВведите секретный пароль и соль? [Y/n]-(введите пароль длиной более 18 символов)-(введите соль менее 32 символов)-Перейти к установке базы данных ClickHouse на текущем узле?-N-Перейти к установке интеграционной шины сообщений (komrad-bus) натекущем узле?-Y-Записать файл балласта-Y-Перейти к установке сервера аутентификации и управления пользователями(pauth-server) на текущем узле?-Y-Создать пользователя admin?-N-Перейти к установке сервера хранения объектов, совместимого с S3(komrad-s3) на текущем узле?-Y-Перейти к установке API-шлюза для микросервисов KOMRAD (komrad-server)на текущем узле?-Y-Перейти к установке сервера обработки событий безопасности (komrad-processor) на текущем узле?-YПерейти к установке сканера сетевой безопасности (komrad-scanner) натекущем узле?-Y-Перейти к установке сервера реагирования на инциденты (komrad-reactor)на текущем узле?-Y-Перейти к установке шины управляющих сообщений и транспорта событийбезопасности (komrad-correlation-dispatcher) на текущем узле?-NПерейти к установке сервера управления инцидентами (komrad-incident-manager) на текущем узле?-NПерейти к установке коллектора событий системного журнала (komrad-syslog-collector) на текущем узле?-Y-Перейти к установке локального и удаленного (SSH) коллектора файлов(komrad-file-collector) на текущем узле?-Y-Перейти к установке коллектора событий SNMP trap и агента SNMP (komrad-snmp-collector)-Y-Перейти к установке коллектора баз данных (komrad-sql-collector) натекущем узле?-Y-Перейти к установке коллектора sFlow, NetFlow v5/v9, IPFIX (komrad-xflow-collector) на текущем узле?-YПерейти к установке сборщика HTTP(S) GET/POST (komrad-http-collector)на текущем узле?-Y-Перейти к установке утилиты резервного копирования PostgreSQL (komrad-backup) на текущем узле?-Y-Перейти к установке HTTP-прокси с брандмауэром веб-приложений/наборомправил OWASP (komrad-waf-proxy) на текущем узле?-YОбновление завершено. -
Перейдите в каталог, в котором расположены все установочные пакеты KOMRAD. Например:
cd /home/echelon/komrad -
Выполните команды:
sudo dpkg -P komrad-correlation-dispatchersudo dpkg -i komrad-correlation-dispatcher_v4.3.58_astra_1.7_amd64.deb -
Допишите пароль от Postgres и укажите адрес
komrad-bus:nano /etc/echelon/komrad/komrad-correlation-dispatcher.yaml# Настройка подключения к БД PostgreSQL в формате URL.DB: postgres://postgres:pass@localhost:5432/komrad-preferences?sslmode=disable# Настройка адреса для прослушивания входящих соединений по протоколу HTTP.......CorrelatorController:# Настройка подключения к БД PostgreSQL в формате URL для корреляторов.CorrelatorDB: postgres://postgres:pass@localhost:5432/komrad-preferences?sslmode=disable......bus:servers:- nats://<ip>:3490 -
Включите службу:
systemctl start komrad-correlation-dispatcher -
Добавьте службу в автозапуск:
systemctl enable komrad-correlation-dispatcher -
Выполните команды для
komrad-incident-manager:sudo dpkg -P komrad-incident-managersudo dpkg -i komrad-incident-manager_v4.3.58_astra_1.7_amd64.deb -
Допишите пароль от Postgres и укажите адрес
komrad-bus:nano /etc/echelon/komrad/komrad-incident-manager.yaml# Настройка подключения к БД PostgreSQL в формате URL.DB: postgres://postgres:pass@localhost:5432/komrad-preferences?sslmode=disablebus:servers:- nats://<ip>:3490 -
Включите службу:
systemctl start komrad-incident-manager -
Добавьте службу в автозапуск:
systemctl enable komrad-incident-manager -
Для обновления лицензии, переместите её в папку
/etc/echelon/komrad/license:cp license_komrad_v4.3_production.lic /etc/echelon/komrad/license -
Дайте права пользователю
komradна лицензию:sudo chown komrad:komrad /etc/echelon/komrad/license/license_komrad_v4.3_production.lic -
Установите корневой сертификат в браузер. Для этого необходимо скопировать сертификат ca.pem из папки и перенести на целевую машину командой:
sudo cp /var/lib/echelon/komrad/certs/ca.pem ~/ -
Дальше необходимо импортировать ca.pem в браузер (Настройки ⇒ Конфиденциальность и безопасность ⇒ Безопасность ⇒ Управления сертификатами устройства ⇒ «Доверенные корневые центры сертификации»)
После чего перезапустите браузер.
-
Выполните перезапуск сервисов:
sudo systemctl restart komrad-server komrad-processor pauth-serverИли перезагрузите машину:
sudo reboot -
Проверьте сервисы командой:
sudo systemctl --type service -
KOMRAD установлен и доступен по адресу
https://localhost
При обновлении ваши коллекторы могут задвоиться, удалите старые коллекторы со статусом "не определён"
Если после обновления перенесённые директивы, созданные в 4.1.33, не работают, необходимо внести изменения в базу данных komrad-preferences следующим образом:
psql -U postgres -h <адрес БД komrad-preferences> -d komrad-preferences
UPDATE preferences.filters SET real_id=id;
SELECT * FROM preferences.filters WHERE real_id!=id;
Результат должен быть пустым. Далее:
DELETE FROM corrdisp.filter_id_map;
systemctl restart komrad-server komrad-processor
systemctl restart komrad-correlation-dispatcher
Для защиты системы выполните смену всех стандартных паролей