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

Обновление системы

В данной статье описывается процесс обновления 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")

примечание

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

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

Шаги:

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

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

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

    Сначала нужно дать скрипту право на исполнение:

    chmod +x bash fix_new_strings.sh

    Далее выполните команду:

    bash fix_new_strings.sh -с postgres://postgres:pass@localhost:5432/komrad-preferences
  2. Удалить старые пакеты

    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
  3. Очистить папки

    sudo rm -rf /etc/echelon
    sudo rm -rf /var/lib/echelon

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

Postgresql

  1. Подключитесь к postgresql:

    sudo su - postgres
  2. Измените пароль для пользователя

       psql -c "ALTER USER postgres WITH CREATEDB LOGIN PASSWORD 'pass';"
  3. Выйти из postgresql

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

    sudo nano /etc/postgresql/9.6/main/postgresql.conf
  5. Найдите и закомментируйте строчки

    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'`
  6. Перезапустите postgresql

    sudo systemctl restart postgresql

Clickhouse

  1. Измените пароль стандартному пользователю default на pass для БД ClickHouse

    sudo nano  /etc/clickhouse-server/users.d/default-password.xml
  2. Замените значение пароля на стандартное

    d74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1
    подсказка

    Если вы создавали стандартного пользователя с пустым паролем, то у вас не будет данного файла, вы можете пропускать этот шаг

  3. Измените пароль пользователя komrad на pass для БД ClickHouse

    sudo nano /etc/clickhouse-server/users.d/komrad.xml
  4. Замените значение пароля на стандартное

    d74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1
  5. Перезапустите ClickHouse

    sudo systemctl restart clickhouse-server.service
    подсказка

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

    sudo systemctl reset-failed
  6. Перезагрузите машину

     sudo reboot

Настройки для обновления

Создать файл pgpass:

  1. Перейти в папку etc

    cd /etc
  2. Создать папку

    mkdir echelon
  3. Создать файл pgpass

    sudo nano /etc/echelon/.pgpass
  4. Добавьте содержимое

    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
  5. Создать файл .click

    sudo nano /etc/echelon/.click
  6. Добавьте содержимое

    komrad:pass
  7. Дайте разрешение на файл:

    sudo chmod 555 /etc/echelon/.click /etc/echelon/.pgpass
  8. Перейдите в директорию, в которой у вас находится файл-установщик komrad_v..._amd64.run

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

    chmod +x komrad_v....._amd64.run
    sudo ./komrad_v....._amd64.run
  10. Пройдите диалог с установщиком

    подсказка

    Если в процессе обновления 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
  11. Выполните перезапуск сервисов

    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.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.

1

Далее перейдите в каталог, в котором расположены все установочные пакеты 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

  1. Сначала нужно дать скрипту право на исполнение:

    chmod +x fix_new_strings.sh
  2. Далее выполните команду для починки базы:

    bash ./fix_new_strings.sh -c postgres://postgres:pass@localhost:5432/komrad-preferences
  3. Удалите старые пакеты с помощью команды:

    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
  4. Очистите папки:

    sudo rm -rf /etc/echelon

    sudo rm -rf /var/lib/echelon
  5. Создайте файл pgpass:

    cd /etc

    sudo mkdir echelon

    sudo nano /etc/echelon/.pgpass
  6. Добавьте содержимое в файл:

    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
  7. Создайте файл .click:

    sudo nano /etc/echelon/.click
  8. Добавьте содержимое в файл .click:

    komrad:pass
  9. Дайте разрешение на файл .click:

    sudo chmod 555 /etc/echelon/.click /etc/echelon/.pgpass
  10. Перейдите в директорию, в которой находится установщик. Дайте права на исполнение и запустите инсталлятор:

    chmod +x komrad_v4.3.58_astra_1.7_amd64.run
    sudo ./komrad_v4.3.58_astra_1.7_amd64.run
  11. Пройдите диалог с установщиком:

    подсказка

    Если в процессе обновления 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
    Обновление завершено.
  12. Перейдите в каталог, в котором расположены все установочные пакеты KOMRAD. Например:

    cd /home/echelon/komrad
  13. Выполните команды:

    sudo dpkg -P komrad-correlation-dispatcher
    sudo dpkg -i komrad-correlation-dispatcher_v4.3.58_astra_1.7_amd64.deb
  14. Допишите пароль от 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
  15. Включите службу:

    systemctl start komrad-correlation-dispatcher
  16. Добавьте службу в автозапуск:

    systemctl enable komrad-correlation-dispatcher
  17. Выполните команды для komrad-incident-manager:

    sudo dpkg -P komrad-incident-manager
    sudo dpkg -i komrad-incident-manager_v4.3.58_astra_1.7_amd64.deb
  18. Допишите пароль от Postgres и укажите адрес komrad-bus:

    nano /etc/echelon/komrad/komrad-incident-manager.yaml
    # Настройка подключения к БД PostgreSQL в формате URL.
    DB: postgres://postgres:pass@localhost:5432/komrad-preferences?sslmode=disable
    bus:
    servers:
    - nats://<ip>:3490
  19. Включите службу:

    systemctl start komrad-incident-manager
  20. Добавьте службу в автозапуск:

    systemctl enable komrad-incident-manager
  21. Для обновления лицензии, переместите её в папку /etc/echelon/komrad/license:

    cp license_komrad_v4.3_production.lic /etc/echelon/komrad/license
  22. Дайте права пользователю komrad на лицензию:

    sudo chown komrad:komrad /etc/echelon/komrad/license/license_komrad_v4.3_production.lic
  23. Установите корневой сертификат в браузер. Для этого необходимо скопировать сертификат ca.pem из папки и перенести на целевую машину командой:

    sudo cp /var/lib/echelon/komrad/certs/ca.pem ~/
  24. Дальше необходимо импортировать ca.pem в браузер (Настройки ⇒ Конфиденциальность и безопасность ⇒ Безопасность ⇒ Управления сертификатами устройства ⇒ «Доверенные корневые центры сертификации»)

    После чего перезапустите браузер.

  25. Выполните перезапуск сервисов:

    sudo systemctl restart komrad-server komrad-processor pauth-server

    Или перезагрузите машину:

    sudo reboot
  26. Проверьте сервисы командой:

    sudo systemctl --type service
  27. 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
осторожно

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