Перейти к содержанию

Обновление 4.5.0 до 4.6.0

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

В версии 4.6.0 добавлен компонент modelscan — сканирование ML-моделей. Компонент опциональный и по умолчанию не разворачивается. Если modelscan не требуется, выполняйте только шаги 1–7 и 11–12.

  1. Установите SSH-соединение с сервером.

    ssh <user-name>@<your-server>
    
  2. Перейдите в директорию, указанную при установке AppSec.Track (рекомендуемая директория — /opt/appsec-track/).

    cd /opt/appsec-track
    
  3. Остановите и удалите контейнеры AppSec.Track, выполнив команду:

    sudo docker-compose down
    
  4. Загрузите образы в Docker. Предусмотрена возможность загрузки образов как из репозитория registry.appsec.global, так и из дистрибутива.

    1. Авторизуйтесь в репозитории registry.appsec.global.

      sudo docker login registry.appsec.global -u <user-name>
      
    2. Загрузите образы.

      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
      
    1. Скопируйте 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>
      
    2. Загрузите образы.

      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 сервера.

  5. Для проверки результатов предыдущих шагов выполните следующую команду:

    sudo docker images
    

    Необходимо убедиться, что в списке Docker-образов присутствуют track-backend, track-frontend, track-db, track-redis, track-scannertrack-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
    
  6. Отредактируйте файл переменных окружения .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
    
  7. Если modelscan использоваться не будет, перейдите к шагу 11.

    Подключение компонента modelscan

    Шаги 8–10 выполняются только при использовании modelscan.

  8. Добавьте в файл .env переменную modelscan_image:

    modelscan_image=registry.appsec.global/appsec-track/track-modelscan:4.6.0
    
  9. Скопируйте из нового комплекта поставки в директорию установки:

    • файл 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
    
  10. Включите сервис в файле 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 не нужно.

  11. Запустите контейнеры AppSec.Track.

    sudo docker-compose up -d
    

    Система перезагрузится и будет готова к использованию.

    Для проверки состояния контейнеров выполните:

    sudo docker-compose ps
    

    Если modelscan подключался, убедитесь, что контейнер appsec-track-modelscan находится в состоянии running (healthy), и проверьте журнал запуска:

    sudo docker-compose logs appsec-track-modelscan
    
  12. Перейдите в пользовательский интерфейс AppSec.Track по адресу хоста (например, http://<AppSec.Track_IP_address>:8070/). Логин и пароль пользователя после обновления останутся прежними.