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

Общая часть

Не следует обновлять 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
  4. Скопировать с заменой файлы из скачанного архива в /opt/idp/ (вместо avanpost_fam_server-* следует подставить имя архива):
    tar -C /opt/idp -xvzf /path_to_tar_file/avanpost_fam_server-*.linux.tar.gz
  5. Находясь в каталоге /opt/idp/ , следует выполнить миграцию БД командой:
    ./fam_linux_amd64 -migratedb postgres
     
  6. Выполнить команду (после сообщения об успешном завершении миграции):
    ./fam_linux_amd64 -init
  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




Обсуждение