Обновление FAM Server Avanpost FAM/MFA+


Общая часть

Не следует обновлять FAM самостоятельно, если установлена кастомизированная версия продукта. Для обновления такой версии следует обратиться в техническую поддержку продукта. Перед обновлением обязательно сделать бекап базы данных, файла key.dat и конфигурационного файла или всего сервера, если это удобнее. 

Информация

encryptionKey = ‘key.dat’ – критически важный файл. Отвечает за расшифровку подключения к БД. Если переносится база, то переносится и сам файл. Если файл удалён, то придётся создать новую базу.

Важно

При обновлении важно понимать, что версия используемой базы данных должна равняться версии исполняемого файла FAM и папки public (в ней находятся шаблоны конкретной версии, которые также изменяются). 

Если базу привели к состоянию на момент существования до обновления, нужно будет привести и исполняемые файлы к четкому соответствию.

Пример:

  • Если нужно установить версию продукта 1.8: восстановить исполняемые файлы на версию, существующую в бекапе базы данных, затем снова восстановить базу данных для версии 1.8. 
  • Если нужно установить версию продукта 1.10: необходимо восстановить базу данных к версии 1.8 и обновиться стандартным методом (при помощи команд migratedb и init). Только после этого следует запускать службу сервера.

Важно

Если используется конфигурация сети с установкой двух серверов (отказоустойчивый кластер), то перед выполнением следует остановить службу на обоих серверах. Затем на одном выполнить инструкцию целиком последовательно, а на втором обновить только файлы, не выполняя миграцию БД (шаги 5 и 6 данной инструкции). Затем запустить службу на обоих серверах.

Обновление версий

Для обновления следует произвести следующие действия от имени пользователя idp:

  1. Скачать новую версию FAM Server по ссылке: Sonatype Nexus Repository.
  2. Остановить службу idp следующей командой:
    sudo systemctl stop idp
  3. Перед обновлением удалить папку public (расположена по пути /opt/idp/public), следующей командой:
    sudo rm -r /opt/idp/public

    Так как после обновления Avanpost FAM Server ранее настроенные шаблоны удаляются, для обновленной системы требуется провести повторную кастомизацию. Рекомендуется выполнять повторную кастомизацию в следующем порядке:

    1. Скопировать данные public, чтобы иметь возможность обратиться к ранее проведенным настройкам.
    2. Настроить кастомизацию на тестовом стенде с той же версией, до которой осуществлено обновление, и убедиться, что система работает корректно.
    3. Настроить шаблоны для обновленной версии продукта, копируя шаблоны с тестового стенда

    Дополнительную информацию о настройке внешнего вида Avanpost FAM можно найти в разделе Настройка внешнего вида.

  4. Скопировать с заменой файлы из скачанного архива в /opt/idp/ (вместо avanpost_fam_server-* следует подставить имя архива):
    sudo tar -C /opt/idp -xvzf /path_to_tar_file/avanpost_fam_server-*.linux.tar.gz
  5. Находясь в каталоге /opt/idp/ , следует выполнить миграцию БД командой:
    ./fam_linux_amd64 -migratedb postgres

    По завершении миграции пользователю будет выдано сообщение "Successfully migrate database". Если данное сообщение сообщение выдано, значит миграция прошла успешно вне зависимости от выданных до данного сообщения ошибок и зависящих от настроек FAM Server.

  6. Выполнить команду инициализации (после сообщения об успешном завершении миграции):
    ./fam_linux_amd64 -init

    По завершении инициализации пользователю будет выдано сообщение "lk-client application was successfully created". Если данное сообщение сообщение выдано, значит инициализация прошла успешно вне зависимости от выданных до данного сообщения ошибок.

  7. Запустить службу на сервере FAM.
    sudo systemctl start idp

      8. При переходе на новый формат конфигурационного файла FAM с json на toml в файле службы idp.service (стандартный путь /etc/systemd/system/idp.service) также необходимо удалить строку для переменной Environment (можно указать новое расширение файла или удалить строку целиком).

Для правильной работы MFA+FAM необходимо обновить и FAM Mobile Services. Версия FAM Mobile Services должна быть идентична версии FAM Server. После обновления версии также нужно включить параметр backgroundTasks = true, для выполнения корректной синхронизации LDAP и работы с мобильными сервисами (фактор Avanpost Authenticator).

Информация

В случае возникновения ошибок с Base Url, в /opt/idp/config.toml замените base_url на baseUrl.

Приложение А. Создание новой БД при проблемах с файлом key.dat

При удалении или изменении ключа шифрования файла key.dat следует:

  1. Зайти в интерактивный терминал PostgreSQL.
    sudo -u postgres psql
  2. Удалить старую базу данных.
    DROP DATABASE idp
  3. Создать новую базу данных.
    CREATE DATABASE idp OWNER=avanpost ENCODING=utf8;
  4. Выйти из терминала.
  5. Создать новый ключ шифрования.
    ./fam_linux_amd64 -generatekey
  6. Произвести миграцию базы данных.
    ./fam_linux_amd64 -migratedb postgres
  7. Инициализировать приложение.
    ./fam_linux_amd64 -init

Обсуждение