Инструменты пользователя

Инструменты сайта


upgrade-security-server-new-732

Это старая версия документа!


Перед обновлением X-Road настоятельно рекомендуется снять snapshot сервера и backup конфигурации X-Road!

Обновление Security Server X-Road с версии 7.2.2 до версии 7.3.2 на Ubuntu 22.04

В этом документе описываются шаги, необходимые для обновления программного обеспечения X-Road Security Server с версии 7.2.2 до версии 7.3.2 на Ubuntu 22.04 LTS. Пожалуйста, внимательно прочитайте весь документ перед началом процесса обновления. Предполагается, что читатель знаком с дистрибутивом Ubuntu Linux и имеет опыт администрирования серверов безопасности X-Road.

Данное обновление не затрагивает версию операционной системы и PostgreSQL. Обновляется только программное обеспечение X-Road.

Основные изменения в версии 7.3.2

  • Java 8 больше не поддерживается. Единственная поддерживаемая версия — Java 11. При обновлении Java 11 будет установлена автоматически как зависимость.
  • Исправлена проблема с автоматическими бэкапами, которые создавались 60 раз за один период (баг версии 7.3.0, исправлен в 7.3.2).
  • Механизм автоматического бэкапа перенесён из cron в конфигурацию X-Road (файл /etc/xroad/conf.d/local.ini).
  • Ужесточены допустимые символы в идентификаторах X-Road. При обновлении legacy-режим включается автоматически — существующие идентификаторы продолжат работать.
  • Некоторые свойства конфигурации Security Server переименованы (deprecated-свойства продолжают работать).
  • Обновлены сторонние зависимости (Spring Boot, Hibernate, Jackson, Jetty и др.).

Подготовка

  • Убедитесь, что текущая версия X-Road — 7.2.2:
dpkg -l | grep xroad
  • Убедитесь, что все пакеты системы обновлены:
sudo apt update && sudo apt full-upgrade
  • Рекомендуется: убедитесь, что у вас есть актуальная резервная копия (или моментальный снимок виртуальной машины) сервера.
  • Сделайте резервную копию конфигурации Security Server через пользовательский интерфейс:
    • Откройте веб-интерфейс https://SECURITYSERVER:4000/
    • Перейдите в Settings → Back Up and Restore
    • Нажмите Back Up Configuration и скачайте файл бэкапа в безопасное место.
  • Дополнительно сделайте резервную копию базы данных:
sudo -iu postgres pg_dump -d serverconf -F c -f /var/lib/xroad/backup/serverconf_backup_$(date +%Y%m%d).sql
  • Сделайте резервную копию конфигурационных файлов X-Road:
sudo cp -r /etc/xroad /etc/xroad.backup.$(date +%Y%m%d)
Не пропускайте этап резервного копирования! В случае неудачного обновления бэкап позволит восстановить работоспособность сервера.

Обновление X-Road

Шаг 1. Остановить службы X-Road

sudo systemctl stop "xroad-*"

Убедитесь, что все службы остановлены:

sudo systemctl list-units "xroad*"

Шаг 2. Заменить репозиторий пакетов

Удалить старый репозиторий:

sudo rm /etc/apt/sources.list.d/xroad.list

Добавить репозиторий версии 7.3.2:

echo "deb [signed-by=/etc/apt/keyrings/xroad.asc] https://deb.tunduk.kg/ubuntu22.04-7.3.2 /" | sudo tee /etc/apt/sources.list.d/xroad.list
GPG ключ репозитория не изменился. Если файл /etc/apt/keyrings/xroad.asc уже существует, повторно импортировать его не нужно. Если ключ отсутствует, импортируйте его командой:
wget -qO - https://deb.tunduk.kg/key.pub | sudo tee /etc/apt/keyrings/xroad.asc

Шаг 3. Выполнить обновление пакетов

sudo apt-get update && sudo apt-get -y full-upgrade
Используйте именно full-upgrade (или dist-upgrade), а не upgrade. При переходе на 7.3.x могут быть добавлены или удалены зависимости пакетов.

Шаг 4. Запустить службы X-Road

sudo systemctl start "xroad-*"

Или запустить через основной сервис:

sudo systemctl start xroad-proxy

Проверка после обновления

Проверка версии пакетов

dpkg -l | grep xroad

Все пакеты должны показывать версию 7.3.2.

Проверка состояния служб

sudo systemctl list-units "xroad*"

Ожидаемый результат:

  UNIT                           LOAD   ACTIVE SUB     DESCRIPTION               
  xroad-addon-messagelog.service loaded active running X-Road Messagelog Archiver
  xroad-base.service             loaded active exited  X-Road initialization     
  xroad-confclient.service       loaded active running X-Road confclient         
  xroad-monitor.service          loaded active running X-Road Monitor            
  xroad-opmonitor.service        loaded active running X-Road opmonitor daemon   
  xroad-proxy-ui-api.service     loaded active running X-Road Proxy UI REST API  
  xroad-proxy.service            loaded active running X-Road Proxy              
  xroad-signer.service           loaded active running X-Road signer

Проверка веб-интерфейса

Откройте https://SECURITYSERVER:4000/ в веб-браузере. Для входа используйте учётную запись, заданную при установке.

Для запуска веб-интерфейса требуется некоторое время. Вы можете увидеть ошибку «502 Bad Gateway» — подождите 1-2 минуты и обновите страницу.

Проверка OCSP статуса сертификатов

Перейдите в раздел Keys and Certificates и убедитесь, что OCSP статус сертификатов — «Good».

Если OCSP статус «Unknown» — перезапустите службу systemctl restart xroad-proxy или дождитесь автоматического обновления (по умолчанию раз в 48 минут). Также можно проверить статус в разделе Diagnostics.

Проверка логов

sudo journalctl -u xroad-proxy -n 100 --no-pager
sudo journalctl -u xroad-signer -n 50 --no-pager

Убедитесь, что в логах нет критических ошибок.

Пост-обновление: что нужно знать

Автоматические бэкапы

Начиная с версии 7.3.0, расписание автоматических бэкапов задаётся не через cron, а через параметр в файле /etc/xroad/conf.d/local.ini.

Если вы ранее изменяли расписание бэкапов в файле /etc/cron.d/xroad-proxy, перенесите настройку вручную:

sudo nano /etc/xroad/conf.d/local.ini

Добавьте или отредактируйте секцию:

[configuration-client]
proxy-configuration-backup-cron=0 15 3 * * ?

После изменения перезапустите конфигурационный клиент:

sudo systemctl restart xroad-confclient

Переименованные свойства конфигурации

Следующие свойства Security Server считаются устаревшими (deprecated), но продолжают работать:

Старое свойство Новое свойство
request.sizelimit.regular proxy-ui-api.request-sizelimit-regular
request.sizelimit.binary.upload proxy-ui-api.request-sizelimit-binary-upload
ratelimit.requests.per.second proxy-ui-api.rate-limit-requests-per-second
ratelimit.requests.per.minute proxy-ui-api.rate-limit-requests-per-minute

Рекомендуется при возможности перейти на новые имена свойств.

Проверка Java версии

Убедитесь, что используется Java 11:

java -version

Ожидаемый результат должен содержать openjdk version «11.x.x».

Если в файле /etc/xroad/services/local.conf есть строка с JAVA_HOME — удалите её. Это актуально только для серверов, которые обновлялись с версий до 7.0.0.

Откат обновления

В случае проблем после обновления:

Вариант 1: Восстановление из snapshot

Если перед обновлением был сделан snapshot виртуальной машины — восстановите его.

Вариант 2: Откат пакетов на версию 7.2.2

Удалить репозиторий 7.3.2:

sudo rm /etc/apt/sources.list.d/xroad.list

Добавить репозиторий 7.2.2:

echo "deb [signed-by=/etc/apt/keyrings/xroad.asc] https://deb.tunduk.kg/ubuntu22.04-7.2.2 /" | sudo tee /etc/apt/sources.list.d/xroad.list

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

sudo apt-get update
sudo apt-get install --reinstall xroad-securityserver xroad-proxy xroad-signer xroad-confclient xroad-proxy-ui-api xroad-monitor xroad-opmonitor xroad-addon-messagelog xroad-addon-opmonitoring xroad-base

Вариант 3: Восстановление конфигурации из бэкапа

Если конфигурация повреждена, восстановите её из резервной копии:

sudo -u xroad /usr/share/xroad/scripts/restore_xroad_proxy_configuration.sh \
  -s <security server ID> \
  -f /var/lib/xroad/backup/<backup_file>.tar

Поиск неисправностей

Службы не стартуют после обновления

Проверьте логи конкретного сервиса:

sudo journalctl -u xroad-proxy -n 200 --no-pager
sudo journalctl -u xroad-signer -n 200 --no-pager
sudo journalctl -u xroad-proxy-ui-api -n 200 --no-pager

Ошибка «502 Bad Gateway» не пропадает

Убедитесь, что сервис xroad-proxy-ui-api запущен:

sudo systemctl status xroad-proxy-ui-api

Если сервис не запускается, проверьте лог:

sudo tail -100 /var/log/xroad/proxy_ui_api.log

Проблемы с базой данных

Проверьте доступность базы данных:

sudo -u postgres psql -c "SELECT pg_database.datname, 
       pg_size_pretty(pg_database_size(pg_database.datname)) AS size 
FROM pg_database 
WHERE datname IN ('serverconf', 'messagelog', 'op-monitor');"

При необходимости восстановите базу данных из резервной копии:

sudo -iu postgres pg_restore -d serverconf -c /var/lib/xroad/backup/serverconf_backup_YYYYMMDD.sql

Проблемы с токеном

Если после обновления токен не активен:

  • Перейдите в Keys and Certificates
  • Нажмите Log In на нужном токене и введите PIN-код

—-

Автор Даниил Горбенко

upgrade-security-server-new-732.1775021644.txt.gz · Последние изменения: 2026/04/01 05:34 — infra