Обновление 4.5.0 до 4.6.0¶
Для обновления необходимо использовать актуальный комплект поставки системы.
В версии 4.6.0 добавлен компонент modelscan — сканирование ML-моделей. Компонент опциональный и по умолчанию не разворачивается. Если modelscan не требуется, выполняйте только шаги 1–7 и 11–12.
-
Установите SSH-соединение с сервером.
ssh <user-name>@<your-server> -
Перейдите в директорию, указанную при установке AppSec.Track (рекомендуемая директория — /opt/appsec-track/).
cd /opt/appsec-track -
Остановите и удалите контейнеры AppSec.Track, выполнив команду:
sudo docker-compose down -
Загрузите образы в Docker. Предусмотрена возможность загрузки образов как из репозитория registry.appsec.global, так и из дистрибутива.
-
Авторизуйтесь в репозитории registry.appsec.global.
sudo docker login registry.appsec.global -u <user-name> -
Загрузите образы.
sudo docker pull registry.appsec.global/appsec-track/track-backend:4.6.0 sudo docker pull registry.appsec.global/appsec-track/track-frontend:4.6.0 sudo docker pull registry.appsec.global/appsec-track/track-db:4.6.0 sudo docker pull registry.appsec.global/appsec-track/track-redis:4.6.0 sudo docker pull registry.appsec.global/appsec-track/track-scanner:4.6.0Образ modelscan загружайте только если планируете использовать этот компонент:
sudo docker pull registry.appsec.global/appsec-track/track-modelscan:4.6.0
-
Скопируйте Docker-образы на сервер.
scp home/<user-name>/track-backend-4.6.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-frontend-4.6.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-db-4.6.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-redis-4.6.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-scanner-4.6.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-modelscan-4.6.0.tar root@<your-server>:/home/<user-name> -
Загрузите образы.
sudo docker load --input /home/<user-name>/track-backend-4.6.0.tar sudo docker load --input /home/<user-name>/track-frontend-4.6.0.tar sudo docker load --input /home/<user-name>/track-db-4.6.0.tar sudo docker load --input /home/<user-name>/track-redis-4.6.0.tar sudo docker load --input /home/<user-name>/track-scanner-4.6.0.tar sudo docker load --input /home/<user-name>/track-modelscan-4.6.0.tar
Примечание
<user-name>— имя пользователя;
<your-server>— URL или IP сервера. -
-
Для проверки результатов предыдущих шагов выполните следующую команду:
sudo docker imagesНеобходимо убедиться, что в списке Docker-образов присутствуют track-backend, track-frontend, track-db, track-redis, track-scanner (и track-modelscan, если он загружался), а также проверить версию каждого образа.
REPOSITIRY TAG registry.appsec.global/appsec-track/track-backend:4.6.0 registry.appsec.global/appsec-track/track-frontend:4.6.0 registry.appsec.global/appsec-track/track-db:4.6.0 registry.appsec.global/appsec-track/track-redis:4.6.0 registry.appsec.global/appsec-track/track-scanner:4.6.0 registry.appsec.global/appsec-track/track-modelscan:4.6.0 -
Отредактируйте файл переменных окружения .env, указав в переменных backend_image, frontend_image, db_image, redis_image и scanner_image новые версии образов, полученные на предыдущем шаге, например:
Редактирование файла .env
Для отображения файлов, имена которых начинаются точкой, например .env, рекомендуется использовать команду:
ls -laДля редактирования можно воспользоваться редактором nano:
sudo nano .env.env# Images backend_image=registry.appsec.global/appsec-track/track-backend:4.6.0 frontend_image=registry.appsec.global/appsec-track/track-frontend:4.6.0 db_image=registry.appsec.global/appsec-track/track-db:4.6.0 redis_image=registry.appsec.global/appsec-track/track-redis:4.6.0 scanner_image=registry.appsec.global/appsec-track/track-scanner:4.6.0 -
Если modelscan использоваться не будет, перейдите к шагу 11.
Подключение компонента modelscan
Шаги 8–10 выполняются только при использовании modelscan.
-
Добавьте в файл .env переменную modelscan_image:
modelscan_image=registry.appsec.global/appsec-track/track-modelscan:4.6.0 -
Скопируйте из нового комплекта поставки в директорию установки:
- файл docker-compose.yml — в нём описан сервис appsec-track-modelscan;
- директорию modelscan/ с файлами config/application.yml и entrypoint/entrypoint.sh.
Примечание
Сохраните копию текущего файла docker-compose.yml, если в него вносились изменения (терминирование TLS, LDAPS, проброс сертификатов) — эти правки потребуется перенести в новый файл.
Создайте рабочие директории компонента и назначьте права. Скрипт install/install.sh повторно запускать не требуется — он создаёт директории для всех компонентов и рассчитан на первичную установку.
sudo mkdir -p modelscan/data modelscan/certs sudo chown -R 2000:2000 modelscan sudo chmod -R 700 modelscan/entrypoint -
Включите сервис в файле docker-compose.yml. Найдите блок appsec-track-modelscan и снимите по одному символу
#с каждой строки блока.sudo nano docker-compose.ymlСтроки, у которых после этого останется символ
#, относятся к самоподписанным сертификатам — оставьте их без изменений.Если хранилище артефактов использует самоподписанные сертификаты, дополнительно:
- поместите файлы сертификатов (
.crtили.pem) в директорию modelscan/certs/; - снимите оставшийся символ
#со строкentrypoint,- ./modelscan/entrypoint/entrypoint.sh:...и- ./modelscan/certs:...; - при необходимости задайте в .env переменную modelscan_truststore_pass и снимите символ
#со строки- TRUSTSTORE_PASS=${modelscan_truststore_pass}.
Сертификаты будут добавлены в хранилище доверенных сертификатов Java и в CA-bundle для Python-части сканера. Системные сертификаты продолжат работать.
Примечание
Отдельная база данных для modelscan не требуется — компонент использует ту же БД, что и backend. Необходимые таблицы создаются миграциями backend при запуске, выполнять install/init_db.sh не нужно.
- поместите файлы сертификатов (
-
Запустите контейнеры AppSec.Track.
sudo docker-compose up -dСистема перезагрузится и будет готова к использованию.
Для проверки состояния контейнеров выполните:
sudo docker-compose psЕсли modelscan подключался, убедитесь, что контейнер appsec-track-modelscan находится в состоянии
running (healthy), и проверьте журнал запуска:sudo docker-compose logs appsec-track-modelscan -
Перейдите в пользовательский интерфейс AppSec.Track по адресу хоста (например,
http://<AppSec.Track_IP_address>:8070/). Логин и пароль пользователя после обновления останутся прежними.