Обновление продукта

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

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

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

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

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

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

Обновление продукта производится средствами обновления пакетов сервисов.

Шаги:

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

Удалить старые пакеты
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/echelon
sudo rm -rf /var/lib/echelon

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

Postgresql

Подключитесь к postgresql
sudo su - postgres
Измените пароль для пользователя
psql -c "ALTER USER postgres WITH CREATEDB LOGIN PASSWORD 'pass';"
Выйти из postgresq
exit
Закомментируйте строки с сертификатами в конфигурации postgresql
sudo 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'`
Перезапустите postgresql
sudo systemctl restart postgresql

Clickhouse

Измените пароль стандартному пользователю default на pass для бд clickhouse
sudo nano  /etc/clickhouse-server/users.d/default-password.xml
Замените значение пароля на стандартное
d74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1
Если вы создавали стандартного пользователя с пустым паролем, то у вас не будет данного файла, вы можете пропускать этот шаг.
Измените пароль пользователя komrad на pass для бд clickhouse
sudo 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:

Перейти в папку etc
cd /etc
Создать папку
mkdir echelon
Создать файл pgpass
sudo nano /etc/echelon/.pgpass
Добавьте содержимое
127.0.0.1:5432:komrad-preferences:postgres:pass
::1:5432:komrad-preferences:postgres:pass
localhost:5432:komrad-preferences:postgres:pass
127.0.0.1:5432:pauth-preferences:postgres:pass
::1:5432:pauth-preferences:postgres:pass
localhost:5432:pauth-preferences:postgres:pass
127.0.0.1:5432:scanner:postgres:pass
::1:5432:scanner:postgres:pass
localhost:5432:scanner:postgres:pass
127.0.0.1:5432:temporal:postgres:pass
::1:5432:temporal:postgres:pass
localhost:5432:temporal:postgres:pass
Создать файл .click
sudo nano /etc/echelon/.click
Добавьте содержимое
komrad:pass
Дайте разрешение на файл
sudo chmod 555 /etc/echelon/.click /etc/echelon/.pgpass

Перейдите в директорию, в которой у вас находится файл-установщик 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
-Записать файл балласта
-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
Установка корневого сертификата в браузере

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

  1. Скопируйте сертификат ca.pem из папки и перенесите на целевую машину командой sudo cp /var/lib/echelon/komrad/certs/ca.pem ./

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

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

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

KOMRAD установлен и доступен по адресу localhost.

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

Обновление с 4.3.31 до 4.3.45

Необходимо выполнять все шаги в точности, как при стандартном обновлении продукта (описано выше), но когда дойдёте до диалога с установщиком, то на этапах установки komrad-correlation-dispatcher и komrad-incident-manager нужно отказаться от них, поставив N.

dialog N

Далее перейдите в каталог, в котором расположены все установочные пакеты Комрада. Если Вы запускали установщик из каталога /home/имя_пользователя/, то это каталог /home/имя_пользователя/komrad

cd /home/имя_пользователя/komrad

И далее выполните следующие команды:

sudo dpkg -P komrad-correlation-dispatcher
sudo dpkg -i komrad-correlation-dispatcher_v4.3.45…

Допишите пароль от 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.45…

Допишите пароль от 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