Настройки безопасности для установки#
Настройки безопасности задаются в файле vars.yml перед запуском установки и находятся в разделах:
Настройки ssl сертификатов и их хранилища для SMBX, с которыми будет запускаться брокер:
artemis:
keyStorePath: ssl/artemis.jks # путь от inventories/_стенд_/ до файла с keyStore
keyStorePassword: __PLACEHOLDER__ # пароль от keyStore
keyPassword: __PLACEHOLDER__ # пароль от ключа в хранилище
trustStorePath: ssl/artemis.jks # путь от inventories/_стенд_/ до файла с trustStore
trustStorePassword: __PLACEHOLDER__ # пароль от trustStore
enabled_protocols: TLSv1.2,TLSv1.3 # версии TLS протоколов
Настройки подключения системы мониторинга к SMBX:
artemis:
jmx_port: 1099 # порт для сбора метрик
jmx_user: __PLACEHOLDER__ # пользователь для метрик
jmx_password: __PLACEHOLDER__ # пароль для метрик
Настройка аудита:
artemis:
audit_configs:
audit.service.class: ru.sbt.ss.artemis.audit.service.ArtemisLogAuditService # ArtemisLogAuditService или ArtemisHttpAuditService
audit.service.url: http://url:8080
audit.service.secret: path/to/encrypt.pass
audit.service.verify.hostname: "false"
audit_service_module_id: Artemis_id
audit_service_module_version: 1.3
audit.service.metamodel: path/to/audit-metamodel.yml
audit.service.send.metamodel: "true"
audit.service.pretty.print: "false"
audit.service.ignore.errors: "true"
audit.service.request.timeout.ms: 15000
# audit.service.ssl.enabled: "false"
# audit.service.ssl.keystore: /path/to/jks
# audit.service.ssl.keystore.password: pass
# audit.service.ssl.key.password: pass
# audit.service.ssl.truststore: /path/to/jks
# audit.service.ssl.truststore.password: pass
# audit.service.ssl.protocol: TLSv1.2
#
# audit.service.redelivery.enabled: "true"
# audit.service.redelivery.interval.ms: 30000
# audit.service.redelivery.initial.delay.ms: 10000
# audit.service.redelivery.buffers: file-buffer, memory
# audit.service.redelivery.file-buffer.type: file
# audit.service.redelivery.file-buffer.file.name: /logs/audit-buffer.log
# audit.service.redelivery.file-buffer.max.size: 100m
# audit.service.redelivery.memory.type: queue
# audit.service.redelivery.memory.max.size: 100m
#
# audit.service.dead.letter.redelivery.buffers: file-buffer-deadletter
# audit.service.dead.letter.redelivery.file-buffer-deadletter.type: file
# audit.service.dead.letter.redelivery.file-buffer-deadletter.file.name: /logs/audit-deadletter.log
# audit.service.dead.letter.redelivery.file-buffer-deadletter.max.size: 10
Настройки HashiCorp Vault для аудита:
artemis:
audit_configs:
# vault_audit_configs: # использование Vault для аудита
# ssl.keystore.location: ssl/audit-vault-keystore.jks # Расположение хранилища сертификатов, полученных из HashiCorp Vault
# ssl.keystore.mode: 600 # Права доступа к файлу хранилища сертификатов в POSIX формате, "644" или "w-r--r--"
# ssl.truststore.location: ssl/audit-vault-truststore.jks # Расположение хранилища доверенных сертификатов, полученных из HashiCorp Vault
# ssl.truststore.mode: 600 # Права доступа к файлу хранилища доверенных сертификатов в POSIX формате, "644" или "w-r--r--"
# ssl.vault.address: "https://my.vault:8200/" # Адрес подключения к HashiCorp Vault, обязательный параметр
# ssl.vault.tls.enable: "true" # Включение протокола TLS при подключении к HashiCorp Vault
# ssl.vault.tls.keystore.location: ssl/vault-client.jks # Расположение хранилища сертификатов для подключения к HashiCorp Vault
# ssl.vault.tls.keystore.password: pass # Пароль от хранилища сертификатов для подключения к HashiCorp Vault
# ssl.vault.tls.key.password: pass # Пароль от сертификата для подключения к HashiCorp Vault
# ssl.vault.tls.truststore.location: ssl/vault-client.jks # Расположение хранилища доверенных сертификатов для подключения к HashiCorp Vault
# ssl.vault.tls.truststore.password: pass # Пароль от хранилища доверенных сертификатов для подключения к HashiCorp Vault
# ssl.vault.auth.type: APPROLE # Тип алгоритма аутентификации в HashiCorp Vault: approle, token, userpass, certificate
# ssl.vault.auth.role.id: __PLACEHOLDER__ # Идентификатор роли приложения при ssl.vault.auth.type=approle
# ssl.vault.auth.secret.id: __PLACEHOLDER__ # Секрет роли приложения при ssl.vault.auth.type=approle
# ssl.vault.pki.role.name: __PLACEHOLDER__ # Имя роли в движке выпуска сертификатов в HashiCorp Vault, обязательный параметр
# ssl.vault.pki.common.name: __PLACEHOLDER__ # Значение поля CN в выпускаемом сертификате
# ssl.vault.secret.path: __PLACEHOLDER__ # Путь до Key-Value хранилища с паролями для хранилищ сертификатов
# ssl.vault.secret.key: key # Имя поля с паролем от ключа
# ssl.vault.secret.keystore: keystore # Имя поля с паролем от хранилища сертификатов ssl.keystore.location
# ssl.vault.secret.truststore: truststore # Имя поля с паролем от хранилища сертификатов ssl.truststore.location
# ssl.vault.engine.version: 1 # Версия Key-Value хранилища секретов
# vault_configs: # использование Vault для брокера
# ssl.keystore.location: ssl/artemis-vault-keystore.jks # Расположение хранилища сертификатов, полученных из HashiCorp Vault
# ssl.keystore.mode: 600 # Права доступа к файлу хранилища сертификатов в POSIX формате, "644" или "w-r--r--"
# ssl.truststore.location: ssl/artemis-vault-truststore.jks # Расположение хранилища доверенных сертификатов, полученных из HashiCorp Vault
# ssl.truststore.mode: 600 # Права доступа к файлу хранилища доверенных сертификатов в POSIX формате, "644" или "w-r--r--"
# ssl.vault.address: "https://my.vault:8200/" # Адрес подключения к HashiCorp Vault, обязательный параметр
# ssl.vault.tls.enable: "true" # Включение протокола TLS при подключении к HashiCorp Vault
# ssl.vault.tls.keystore.location: ssl/vault-client.jks # Расположение хранилища сертификатов для подключения к HashiCorp Vault
# ssl.vault.tls.keystore.password: pass # Пароль от хранилища сертификатов для подключения к HashiCorp Vault
# ssl.vault.tls.key.password: pass # Пароль от сертификата для подключения к HashiCorp Vault
# ssl.vault.tls.truststore.location: ssl/vault-client.jks # Расположение хранилища доверенных сертификатов для подключения к HashiCorp Vault
# ssl.vault.tls.truststore.password: pass # Пароль от хранилища доверенных сертификатов для подключения к HashiCorp Vault
# ssl.vault.auth.type: APPROLE # Тип алгоритма аутентификации в HashiCorp Vault: approle, token, userpass, certificate
# ssl.vault.auth.role.id: __PLACEHOLDER__ # Идентификатор роли приложения при ssl.vault.auth.type=approle
# ssl.vault.auth.secret.id: __PLACEHOLDER__ # Секрет роли приложения при ssl.vault.auth.type=approle
# ssl.vault.pki.role.name: __PLACEHOLDER__ # Имя роли в движке выпуска сертификатов в HashiCorp Vault, обязательный параметр
# ssl.vault.pki.common.name:__PLACEHOLDER__ # Значение поля CN в выпускаемом сертификате
# ssl.vault.secret.path: __PLACEHOLDER__ # Путь до Key-Value хранилища с паролями для хранилищ сертификатов
# ssl.vault.secret.key: key # Имя поля с паролем от ключа
# ssl.vault.secret.keystore: keystore # Имя поля с паролем от хранилища сертификатов ssl.keystore.location
# ssl.vault.secret.truststore: truststore # Имя поля с паролем от хранилища сертификатов ssl.truststore.location
# ssl.vault.engine.version: 1 # Версия Key-Value хранилища секретов
Пример заполненного файла vars.yml приведен в разделе Пример заполненного файла vars.yml.
В процессе установки все настройки безопасности, заданные первично в файле vars.yml, попадают в конфигурационные файлы broker.xml (основные настройки брокера), audit.log (настройки аудита), config/encrypt.pass (ключ для шифрования паролей), где могут быть изменены вручную. Затем необходимо перезапустить SMBX, чтобы новые настройки безопасности применились.
Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в SMBX выбираются клиентом при разработке конечной интеграции, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности, предъявляемых к ней.