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

Приложение 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.scheduled
Import.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.importIssue
ThreadPoolSize
Размер пула потоков для импорта уязвимостей в AppSec.Hub 8
hub.config.import
ConfigThreadPoolSize
Размер пула потоков для экспорта уязвимостей из инструментов 8
hub.config.dwImport
ThreadPoolSize
Количество потоков импорта данных в Data Warehouse 6
hub.config.orchestration
ThreadPoolSize
Количество потоков для работы с системами отслеживания дефектов 16
hub.config.notification
ThreadPoolSize
Количество потоков для работы с рассылаемыми уведомлениями 4
hub.defect.enable
DefectSynchronization
Включение/выключение автоматической синхронизации дефектов false (выключено)
hub.config.defect
Synchronization
ThreadPoolSize
Общее количество одновременно запускаемых потоков синхронизации дефектов. Учитываются как потоки, запущенные «вручную», так и автоматически 4
hub.defect.defect
SynchronizationPeriod
DurationCronExpression
Cron-выражение, задающее период синхронизации 0 0 0/1 * * ? (каждый час)
hub.defect.defect
SynchronizationPeriod
Количество периодов синхронизации, заданных предыдущим параметром — общий период синхронизации определяется произведением значений двух последних параметров. Например, если значение параметра defect.defect
SynchronizationPeriod
DurationCronExpression оставить по умолчанию (1 час), а для параметра defect.defect
SynchronizationPeriod задать значение «2», автоматическая синхронизация будет осуществляться каждые два часа
1
hub.scan.check.
cron.expression
Cron-выражение, задающее период опроса статуса сборок в CI-инструментах и, тем самым, частоту обновления данных о статусе сканирования в системе */30 * * * * *
(30 секунд)
hub.jira.description.length Максимальная длина описания дефекта, экспортируемого в Jira 32767
hub.config.scanConfigImport
IssueThreadPoolQueueCapacity
Размер очереди задач импорта 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
hub.http.client.tls.protocols Протоколы, используемые для соединения с инструментами. Значения могут быть выбраны в любой комбинации TLSv1,TLSv1.1,TLSv1.2,
TLSv1.3
hub.http.client.timeout.request Таймаут в настройках HTTP клиента 60000
hub.http.client.timeout.read Таймаут в настройках HTTP клиента 60000
hub.http.client.timeout.connect Таймаут в настройках HTTP клиента 5000
hub.http.client.timeout.handshake Таймаут в настройках HTTP клиента 10000
hub.scan.config.file.path Путь смонтированного тома в контейнере /opt/zapfiles
hub.issue.maxInsertSize Максимальное количество проблем безопасности в одном запросе в БД 1000
hub.config.bulkIssuesThreadPoolQueueCapacity Размер очереди задач на обновление статусов уязвимостей по фильтру 100

Пример конфигурационного файла 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}
hub.http.client.tls.protocols=${http.client.tls.protocols:TLSv1,TLSv1.1,TLSv1.2,TLSv1.3}
hub.http.client.timeout.request=${http.client.timeout.request:60000}
hub.http.client.timeout.read=${http.client.timeout.read:60000}
hub.http.client.timeout.connect=${http.client.timeout.connect:5000}
hub.http.client.timeout.handshake=${http.client.timeout.handshake:10000}
hub.scan.config.file.path=/opt/zapfiles
hub.issue.maxInsertSize=${hub.core.issue.maxInsertSize:1000}
hub.config.bulkIssuesThreadPoolQueueCapacity=${config.bulkIssuesThreadPoolQueueCapacity:100}
К началу