Перейти к основному содержимому
Версия: 4.5.X

Обновление распределённой системы

В данной статье описывается процесс обновления KOMRAD версии 4.1.33 до версии 4.3 с использованием установщика для распределённой установки (тип лицензии Enterprise). Все сервисы на одном хосте, а базы данных на другом. При обновлении сохраняются события, фильтры, директивы, инциденты, активы, плагины.

подсказка

Для минимизации рисков сделайте снимки или создайте точку возврата системы

осторожно

В связи с тем, что в KOMRAD 4.3 были добавлены встроенные плагины, у пользователя могут возникать конфликты при обновлении в случае, если у него уже есть плагины с такими именами.

Пожалуйста, убедитесь перед обновлением, что в KOMRAD у вас нет плагинов со следующими названиями: nginx, grok, dns, Auditd, reputation_list, Suricata IDS/NSM Eve JSON, Направление трафика

В случае, если у вас есть плагины с такими названиями, то ОБЯЗАТЕЛЬНО переименуйте их. Обратите внимание, что регистр в данном случае не важен, т.е. даже если название вашего плагина написано заглавными буквами или наоборот, то его всё равно необходимо переименовать. (Например, вместо "DNS" назвать его "DNS1")

примечание

Про импорт/экспорт прочитать можно здесь

Обновление производится по пакетам. Сценарий:

  • Производится удаление старых пакетов
  • Установка новых пакетов
  • Правка конфигов

Шаги:

Подготовка к обновлению

На центральном узле KOMRAD

1. Удалить старые пакеты

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

2. Очистить папки

sudo rm -rf /etc/echelon
sudo rm -rf /var/lib/echelon
подсказка

Если сервисы отображаются как failed в выводе команды sudo systemctl, выполните:

sudo systemctl reset-failed

Изменение конфигурации баз данных

На сервере с базами данных

1. Выполните обновления полей базы с использованием скрипта

chmod +x fix_new_strings.sh
bash fix_new_strings.sh

2. Закомментируйте строки с сертификатами в конфигурации postgresql

sudo nano /etc/postgresql/9.6/main/postgresql.conf

3. Найдите и закомментируйте строчки

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'`

4. Перезапустите postgresql

sudo systemctl restart postgresql

5. Перезагрузите машину

sudo reboot

Перейдите в директорию, в которой у вас находится файл-установщик komrad_v..._amd64.run

Дать права на исполнение и запустить инсталлятор:

chmod +x komrad_v....._amd64.run
sudo ./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
-Перейти к установке сервера аутентификации и управления пользователями
(pauth-server) на текущем узле?
-Y
-Создать пользователя admin?
-n

Установщик выдаст ошибку и выйдет из диалога.

6. Отредактируйте файл конфигурации сервера аутентификации

sudo nano /etc/echelon/komrad/pauth-server.yaml

7. Замените на соответствующие значения database:

postgres://postgres:pass@ip_postgresql:port_postgresql/pauth-preferences?sslmode=disable

8. Активируйте автозапуск службы

sudo systemctl enable pauth-server

9. Запустите установщик для продолжения установки

sudo komrad-cli install singlenode

В диалоге с консолью отклоните все встреченные ранее шаги

-Перейти к установка сервера хранения объектов, совместимого с S3
(komrad-s3) на текущем узле? [Y/n]
-Y
Перейти к установка API-шлюза для микросервисов KOMRAD (komrad-server)
на текущем узле? [Y/n]
-Y

Установщик выдаст ошибку и выйдет из диалога.

10. Отредактируйте файл конфигурации сервера

sudo nano /etc/echelon/komrad/komrad-server.yaml

Allowedorigins:

  • https://ip_komrad
  • https://ip_postgresql
  • https://localhost
  • https://localhost:443
  • https://localhost:9050
  • http://localhost:8080
  • https://localhost:3400
  • https://localhost:443

AllowedHosts:

  • ip_komrad
  • ip_postgresql
  • localhost
  • localhost:443
  • localhost
  • localhost:3400
  • localhost:443
  • localhost:8080

database:

pg:

  • db: komrad-preferences
  • host: ip_postgresql
  • port: port_postgresq
  • tlsmode: disable
  • user: postgres
  • password: pass

11. Активируйте автозапуск службы

sudo systemctl enable komrad-server

12. Запустите установщик для продолжения установки

sudo komrad-cli install singlenode

В диалоге с установщиком в консоли отклоните все встреченные ранее шаги.

-Перейти к установке сервера обработки событий безопасности (komrad-
processor) на текущем узле?
-Y

Установщик выдаст ошибку и выйдет из диалога.

13. Отредактируйте файл конфигурации процессора

sudo nano /etc/echelon/komrad/komrad-processor.yaml

clickhouse:

Название БД

  • name: komrad_events
  • user: komrad
  • password: pass
  • host: ip_clickhouse

14. Активируйте автозапуск службы

sudo systemctl enable komrad-processor

15. Запустите установщик для продолжения установки

sudo komrad-cli install singlenode

В диалоге с установщиком в консоли отклоните все встреченные ранее шаги.

Перейти к установке сканера сетевой безопасности (komrad-scanner) на
текущем узле?
-Y

Установщик выдаст ошибку и выйдет из диалога.

16. Отредактируйте файл конфигурации сканера

sudo nano /etc/echelon/komrad/komrad-scanner.yaml

Host: ip_postgresql

Port: 5432

DBName: scanner

User: postgres

Password: pass

17. Активируйте автозапуск службы

sudo systemctl enable komrad-scanner

18. Запустите установщик для продолжения установки

sudo komrad-cli install singlenode

В диалоге с установщиком в консоли отклоните все встреченные ранее шаги.

-Перейти к установке сервера реагирования на инциденты (komrad-reactor)
на текущем узле?
-Y
-Перейти к установке шины управляющих сообщений и транспорта событий
безопасности (komrad-correlation-dispatcher) на текущем узле?
-Y

Установщик выдаст ошибку и выйдет из диалога.

19. Отредактируйте файл конфигурации диспетчера корреляции

sudo nano /etc/echelon/komrad/komrad-correlation-dispatcher.yaml
  • Настройка подключения к БД PostgreSQL в формате URL. DB: postgres://postgres:pass@ip_postgresql:port_postgresql komrad-preferences?sslmode=disable

  • Настройка подключения к БД PostgreSQL в формате URL для корреляторов. CorrelatorDB: postgres://postgres:pass@ip_postgresql:port_postgresql komrad-preferences?sslmode=disable

20. Активируйте автозапуск службы

sudo systemctl enable komrad-correlation-dispatcher

21. Запустите установщик для продолжения установки

sudo komrad-cli install singlenode

В диалоге с установщиком в консоли отклоните все встреченные ранее шаги.

Перейти к установке сервера управления инцидентами (komrad-incident-
manager) на текущем узле?
-Y

Установщик выдаст ошибку и выйдет из диалога.

sudo nano /etc/echelon/komrad/komrad-incident-manager.yaml

Замените на соответствующие значения

DB: postgres://postgres:pass@ip_postgresql:port_postgresql komrad-preferences?sslmode=disable

22. Активируйте автозапуск службы

sudo systemctl enable komrad-incident-manager

23. Запустите установщик для продолжения установки

sudo komrad-cli install singlenode

В диалоге с установщиком в консоли отклоните все встреченные ранее шаги.

Перейти к установке коллектора событий системного журнала (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

Проверьте работоспособность системы

Установка корневого сертификата в браузере

Порядок выполняемых действий:

  1. Скопировать сертификат ca.pem из папки и перенести на целевую машину командой

    sudo cp /var/lib/echelon/komrad/certs/ca.pem ./

  2. Импортировать ca.pem в «Доверенные корневые центры сертификации» вашего браузера

  3. Перезапустить браузер

Установка завершена

KOMRAD установлен и доступен по адресу https://localhost

осторожно

При обновлении ваши коллекторы могут задвоиться, удалите старые коллекторы со статусом не определён

Если после обновления перенесённые директивы, созданные в 4.1, не работают, необходимо внести изменения в базу данных 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 komrad-correlation-dispatcher
осторожно

Для защиты системы выполните смену всех стандартных паролей