Приложение 4. Конфигурационный файл app.properties
Параметры конфигурационного файла app.properties
Для удобства ряд системных настроек AppSec.Hub вынесен в конфигурационный файл app.properties. Если рекомендуемая директория установки AppSec.Hub не изменена, данный файл располагается здесь /opt/apphub/config/hub-core/.
Важно
После изменения параметров в файле app.properties необходимо выполнить рестарт системы, см. разделы «Остановка AppSec.Hub» и «Запуск AppSec.Hub».
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
db.hub.driver |
Класс драйвера для БД | org.postgresql.Driver |
db.hub.url |
Адрес экземпляра PostgreSQL | jdbc:postgresql://$DB_HOST:$DB_PORT/$DB_NAME |
db.hub.schema |
Основная схема БД, в которой содержится оперативная информация о работе AppSec.Hub | hub |
db.hub.username |
Имя пользователя с доступом к основной схеме БД | hubapp |
db.hub.password |
Пароль пользователя с доступом к основной схеме БД | <Password> |
db.poolSize |
Размер пула соединений с БД | 10 |
encrypt.key |
Ключ шифрования паролей, используемых для доступа к инструментам ИБ. Размер ключа — 24 символа | <Random key> |
hub.app.url |
Внешний URL экземпляра AppSec.Hub | https://hub.your.company.com |
hub.dw.import.on.startup |
Автоматический запуск импорта данных в схему BI при старте приложения | false |
dw.scheduledImport.cron.expression |
Cron-выражение, задающее период импорта security issues | 0 0 1,22 * * ? |
hub.ci.jenkins.poll.period |
Промежуток в миллисекундах между обращениями AppSec.Hub к Jenkins | 10000 |
hub.ci.jenkins.poll.max.tries |
Количество обращений AppSec.Hub к Jenkins | 50 |
hub.avc.trai-ning.schedule |
Cron-выражение, задающее период тренировки модели AVC | 0 0 2 * * ? |
export.docker.repository.url-creation-strategy |
Cтратегия создания URL для репозиториев Docker. С использованием имени репозитория или порта | repositoryName | port |
hub.jira.users.maxResults |
Максимальное количество пользователей Jira | 1000 |
hub.jira.issues.maxResults |
Максимальное количество тикетов для экспорта |
1000 |
hub.config.importIssueThreadPoolSize |
Размер пула потоков для импорта уязвимостей в AppSec.Hub | 8 |
hub.config.importConfigThreadPoolSize |
Размер пула потоков для экспорта уязвимостей из инструментов | 8 |
hub.config.dwImportThreadPoolSize |
Количество потоков импорта данных в Data Warehouse | 6 |
hub.config.orchestrationThreadPoolSize |
Количество потоков для работы с системами отслеживания дефектов | 16 |
hub.config.notificationThreadPoolSize |
Количество потоков для работы с рассылаемыми уведомлениями | 4 |
hub.defect.enableDefectSynchronization |
Включение/выключение автоматической синхронизации дефектов | false (выключено) |
hub.config.defectSynchronizationThreadPoolSize |
Общее количество одновременно запускаемых потоков синхронизации дефектов. Учитываются как потоки, запущенные «вручную», так и автоматически | 4 |
hub.defect.defectSynchronizationPeriodDurationCronExpression |
Cron-выражение, задающее период синхронизации | 0 0 0/1 * * ? (каждый час) |
hub.defect.defectSynchronizationPeriod |
Количество периодов синхронизации, заданных предыдущим параметром — общий период синхронизации определяется произведением значений двух последних параметров. Например, если значение параметра defect.defectSynchronizationPeriodDurationCronExpression оставить по умолчанию (1 час), а для параметра defect.defectSynchronizationPeriod задать значение «2», автоматическая синхронизация будет осуществляться каждые два часа |
1 |
hub.scan.check.cron.expression |
Cron-выражение, задающее период опроса статуса сборок в CI-инструментах и, тем самым, частоту обновления данных о статусе сканирования в системе | */30 * * * * *(30 секунд) |
hub.jira.description.length |
Максимальная длина описания дефекта, экспортируемого в Jira | 32767 |
hub.config.scanConfigImportIssueThreadPoolQueueCapacity |
Размер очереди задач импорта | 200 |
hub.grpc.max_inbound_message_size |
Максимальный размер сообщения, допустимый для приема по каналу gRPC | 10485760 |
management.metrics.enable.all |
Включение сбора метрик сервиса hub-core | true |
hub.config.gettingSourceCode.maxFileSizeInMegabytes |
Ограничение в мегабайтах максимального размера файла в разделе Path для SAST уязвимостей | 8 |
hub.jira.queriesPerSecond |
Ограничение количества запросов в секунду к Jira | 20.0 |
hub.jira.users.cache.maxSize |
Ограничение размера кэша пользователей из Jira | 100 |
hub.jira.users.cache.expiration.min |
Ограничение в минутах времени жизни кэша пользователей из Jira | 7200 |
hub.config.login.attemptsBeforeBlocking |
Количество неуспешных попыток входа пользователя до блокировки | 5 |
hub.config.login.blockingTimeInMinutes |
Время блокировки пользователя после достижения максимального количества неудачных попыток входа (в минутах) | 30 |
hub.ci.jenkins.pipelineTimeoutInMinutes |
Лимит времени на сканирование security pipeline в hub-engine (в минутах) | 10080 |
Пример конфигурационного файла app.properties
db.hub.driver=org.postgresql.Driver
db.hub.url=jdbc:postgresql://<pgsql_url>:<pgsql_port>/<hub_db_name>
db.hub.schema=hub
db.hub.username=hubapp
db.hub.password=<hub_app_password>
report.product.name=AppSec.Hub
report.issue.pdf.template=/usr/local/tomcat/webapps/hub/WEB-INF/classes/resources/issue-report-pdf-template.xsl
report.logo.path=/usr/local/tomcat/webapps/hub/WEB-INF/classes/resources/logo.svg
report.logo.path.png=/usr/local/tomcat/webapps/hub/WEB-INF/classes/resources/logo.png
db.poolSize=10
encrypt.key=<HUBAPP-ENC-KEY>
hub.app.url=https://appsechub.company.ru
hub.service.url=http://hub-core
hub.dw.import.on.startup=false
dw.scheduledImport.cron.expression = 0 0 1,22 * * ?
hub.ci.jenkins.poll.period=${ci.jenkins.poll.period:10000}
hub.ci.jenkins.poll.max.tries=${ci.jenkins.poll.max.tries:50}
hub.avc.training.schedule = 0 0 2 * * ?
export.docker.repository.url-creation-strategy=port
hub.jira.users.maxResults=${jira.users.maxResults:1000}
hub.config.importIssueThreadPoolSize=${config.importIssueThreadPoolSize:8}
hub.config.importConfigThreadPoolSize=${config.importConfigThreadPoolSize:8}
hub.config.defectSynchronizationThreadPoolSize=${config.defectSynchronizationThreadPoolSize:4}
hub.defect.defectSynchronizationPeriod=${defect.defectSynchronizationPeriod:1}
hub.defect.enableDefectSynchronization=${defect.enableDefectSynchronization:false}
hub.defect.defectSynchronizationPeriodDurationCronExpression=${defect.defectSynchronizationPeriodDurationCronExpression:0 0 0/1 * * ?}
hub.config.dwImportThreadPoolSize=${config.dwImportThreadPoolSize:6}
hub.config.orchestrationThreadPoolSize=${config.orchestrationThreadPoolSize:16}
hub.config.notificationThreadPoolSize=${config.notificationThreadPoolSize:4}
hub.jira.issues.maxResults=${jira.issues.maxResults:1000}
hub.scan.check.cron.expression=${scan.check.cron.expression:*/30 * * * * *}
hub.consul.host=http://consul:8500
hub.consul.token=<см. раздел «Установка, запуск и резервное копирование»>
hub.grpc.port=50051
hub.jira.description.length=300
hub.config.scanConfigImportIssueThreadPoolQueueCapacity=${config.scanConfigImportIssueThreadPoolQueueCapacity:200}
hub.grpc.max_inbound_message_size=${hub.grpc.max.inbound.message.size:10485760}
management.metrics.enable.all=${hub.core.management.metrics.enable.all:true}
hub.config.gettingSourceCode.maxFileSizeInMegabytes=${config.gettingSourceCode.maxFileSizeInMegabytes:8}
hub.jira.queriesPerSecond=${jira.queriesPerSecond:20.0}
hub.jira.users.cache.maxSize=${jira.users.cache.maxSize:100}
hub.jira.users.cache.expiration.min=${jira.users.cache.expiration.min:7200}
hub.config.login.attemptsBeforeBlocking=${config.login.attemptsBeforeBlocking:5}
hub.config.login.blockingTimeInMinutes=${config.login.blockingTimeInMinutes:30}
hub.ci.jenkins.pipelineTimeoutInMinutes=${ci.jenkins.pipelineTimeoutInMinutes:10080}