Обновление 3.12.0 до 3.13.0¶
-
Установите SSH-соединение с сервером.
ssh <user-name>@<your-server>
-
Перейдите в директорию, указанную при установке AppSec.Track (рекомендуемая директория — /opt/appsec-track/).
cd /opt/appsec-track
-
Для остановки AppSec.Track выполните команду:
sudo docker-compose down
-
Загрузите образы в Docker. Предусмотрена возможность загрузки образов как из репозитория docker.swordfishsecurity.com, так и из дистрибутива.
-
Авторизуйтесь в репозитории docker.swordfishsecurity.com.
sudo docker login docker.swordfishsecurity.com -u <user-name>
-
Загрузите образы.
sudo docker pull docker.swordfishsecurity.com/appsec-track/track-backend:3.13.0 sudo docker pull docker.swordfishsecurity.com/appsec-track/track-frontend:3.13.0 sudo docker pull docker.swordfishsecurity.com/appsec-track/track-db:1.7.5-13.16 sudo docker pull docker.swordfishsecurity.com/appsec-track/track-redis:1.7.5-7.2.4 sudo docker pull docker.swordfishsecurity.com/appsec-track/track-scanner:1.7.5-0.51.1-7
-
Скопируйте Docker-образы на сервер.
scp home/<user-name>/track-backend-3.13.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-frontend-3.13.0.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-db-1.7.5-13.16.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-redis-1.7.5-7.2.4.tar root@<your-server>:/home/<user-name> scp home/<user-name>/track-scanner-1.7.5-0.51.1-7.tar root@<your-server>:/home/<user-name>
-
Загрузите образы.
sudo docker load --input /home/<user-name>/track-backend-3.13.0.tar sudo docker load --input /home/<user-name>/track-frontend-3.13.0.tar sudo docker load --input /home/<user-name>/track-db-1.7.5-13.16.tar sudo docker load --input /home/<user-name>/track-redis-1.7.5-7.2.4.tar sudo docker load --input /home/<user-name>/track-scanner-1.7.5-0.51.1-7.tar
Примечание
<user-name>
— имя пользователя;
<your-server>
— URL или IP сервера. -
-
Для проверки результатов предыдущих шагов выполните следующую команду:
sudo docker images
Необходимо убедиться, что в списке Docker-контейнеров присутствуют track-backend, track-frontend, track-db, track-redis и track-scanner, а также проверить версию каждого контейнера.
REPOSITIRY TAG docker.swordfishsecurity.com/appsec-track/track-backend:3.13.0 docker.swordfishsecurity.com/appsec-track/track-frontend:3.13.0 docker.swordfishsecurity.com/appsec-track/track-db:1.7.5-13.16 docker.swordfishsecurity.com/appsec-track/track-redis:1.7.5-7.2.4 docker.swordfishsecurity.com/appsec-track/track-scanner:1.7.5-0.51.1-7
-
Отредактируйте файл переменных окружения .env, указав в переменных backend_image, frontend_image, db_image, redis_image и scanner_image новые версии образов, полученные на предыдущем шаге, например:
Редактирование файла .env
Для отображения файлов, имена которых начинаются точкой, например .env, рекомендуется использовать команду:
ls -la
Для редактирования можно воспользоваться редактором nano:
sudo nano .env
.envДополните файл .env новыми переменными и их значениями (новые строки выделены цветом):# Images backend_image=docker.swordfishsecurity.com/appsec-track/track-backend:3.13.0 frontend_image=docker.swordfishsecurity.com/appsec-track/track-frontend:3.13.0 db_image=docker.swordfishsecurity.com/appsec-track/track-db:1.7.5-13.16 redis_image=docker.swordfishsecurity.com/appsec-track/track-redis:1.7.5-7.2.4 scanner_image=docker.swordfishsecurity.com/appsec-track/track-scanner:1.7.5-0.51.1-7
.env... #URL's для работы track-scanner scanner_url=http://appsec-track-scanner:8080/trivy nexus_url=https://nexus.example.org #Изменить на true, если используется свой CA для выпуска сертификатов нексуса scanner_insecure=false ...
-
Приведите блок server в конфигурационном файле .config/application-prod.yml к данном виду (новые строки выделены цветом):
Дополните файл двумя новыми переменными (новые строки выделены цветом):
... dockerUrl: ${nexus_url} anonymousInfo: ${ANONYMOUS_INFO:true} anonymousScaReport: ${ANONYMOUS_SCA_REPORT:true} springdoc: ...
-
Приведите файл ./entrypoint/entrypoint.sh к данном виду:
#!/bin/sh if [ -z "`find \"/track/ldap/certs\" -mindepth 1 -exec echo notempty \; -quit`" ]; then echo "Сертификатов для установки не обнаружено" else echo "Установка дополнительных сертификатов в Java " CERTS=$(find /track/ldap/certs -type f \( -iname \*.crt -o -iname \*.pem \)) for FILENAME in $CERTS; do ALIAS=$(echo $FILENAME | sed -r 's/[^[:alnum:]]+//g') echo "Добавление сертификата $FILENAME в keystore (alias=$ALIAS)" keytool -importcert -file $FILENAME -keystore cacerts -storepass ${ldap_store_pass} -alias $ALIAS -noprompt if [ $? -ne 0 ]; then echo " -> Ошибка при добавлении сертификата" else echo " -> Сертификат добавлен" fi done fi if [ -z "`find \"/track/tls/certs\" -mindepth 1 -exec echo notempty \; -quit`" ]; then echo "Cертификатов для терминирования tls не обнаружено или терминирование не включено" else echo "Загружаю сертификат для терминирования tls" openssl pkcs12 -export -in /track/tls/certs/fullchain.pem -inkey /track/tls/certs/privkey.pem -passout pass:${pksc_store_pass} > /track/server.p12 keytool -importkeystore -srckeystore /track/server.p12 -destkeystore server.jks -srcstoretype pkcs12 -srcstorepass ${pksc_store_pass} -deststorepass ${jks_store_pass} fi java -jar /track/track.jar --spring.config.location=/track/config/application-prod.yml
-
Дополните файл docker-compose.yaml новой переменной окружения:
... appsec-track-scanner: container_name: appsec-track-scanner hostname: appsec-track-scanner image: ${scanner_image} ports: - "8080" networks: - track_net environment: - TZ=Europe/Moscow - TRIVY_INSECURE=${scanner_insecure} restart: always security_opt: - no-new-privileges ...
-
Запустите контейнеры AppSec.Track.
sudo docker-compose up -d
Система перезагрузится и будет готова к использованию.
-
Перейдите в пользовательский интерфейс AppSec.Track по адресу хоста (например,
http://<AppSec.Track_IP_address>:8070/
). Логин и пароль пользователя после обновления останутся прежними.