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

Безопасность

Около 2 мин

Информационная безопасность

StormBPMN Enterprise обеспечивает высокий уровень информационной безопасности через многоуровневую систему защиты, включающую регулярное обновление зависимостей, сканирование уязвимостей и гибкие настройки доступа.

Принципы безопасности

  • Минимальные привилегии - только необходимые права
  • Глубокая защита - многоуровневая система безопасности
  • Аудит всех действий - полное логирование операций
  • Шифрование данных - защита паролей и конфиденциальной информации

Переменные окружения безопасности

Базовые настройки безопасности задаются через ENV переменные:

ПеременнаяОписаниеПример значенияПо умолчанию
STORM_ALLOWED_ORIGINSРазрешенные источники запросов (CORS)https://stormbpmn.company.com*
STORM_DISABLE_SIMPLE_AUTHОтключить встроенную авторизациюtruefalse
STORM_DISABLE_ENV_IN_UIСкрыть ENV переменные в админкеtruefalse
STORM_DISABLE_ANON_SHARINGЗапретить анонимный доступ к диаграммамtruefalse
JWTSECRETСоль для шифрования паролейМинимум 15 случайных символов-

Рекомендации по безопасности

  • STORM_ALLOWED_ORIGINS: Обязательно укажите конкретные домены вместо * в production
  • JWTSECRET: Используйте криптографически стойкую случайную строку
  • STORM_DISABLE_ENV_IN_UI: Включите в production для скрытия конфиденциальных данных

Настройки в административной панели

Управление пользователями

ПараметрОписаниеРекомендация для production
showRegistrationПоказать форму регистрации❌ Отключить
showBasicLoginПоказать поля логин/пароль❌ При использовании OAuth2
showCustomLoginButtonNameКастомный текст кнопки входаПо требованию
customLoginButtonNameТекст на кнопке входа"Войти через корпоративный аккаунт"

Публичный доступ

ПараметрОписаниеРекомендация для production
enableAnonSearchPageПоиск для неавторизованных❌ Отключить
allDiagramsAnonAccessАнонимный доступ ко всем диаграммам❌ Отключить

Корпоративные настройки

ПараметрОписаниеРекомендация
enableCommonAssetsОбщие элементы архитектуры для всех команд✅ Включить для больших компаний
enableCommonRolesОбщие роли для всех команд✅ Включить для унификации
enableCommonUsersОбщая оргструктура для всех команд✅ Включить для централизации

SIEM-логирование

StormBPMN поддерживает полное аудит-логирование всех действий пользователей с отправкой в системы SIEM.

Возможности

  • Полное логирование всех авторизованных операций
  • Маскирование паролей и авторизационных заголовков
  • Фильтрация больших данных (содержимое диаграмм не логируется)
  • Поддержка Syslog по протоколу TCP (RFC 3164 / RFC 5424)
  • Уникальные ID сессий для трассировки действий

Настройка Syslog

ПеременнаяОписаниеПример значенияОбязательно
AUDIT_ENABLEDВключение аудита запросовtrue
AUDIT_CHANNELКанал аудит-логовsyslog
SYSLOG_SERVERSСписок syslog серверовlocalhost:514,192.168.78.53:601
SYSLOG_SOURCEНазвание приложения в логахstormbpmn🔧
SYSLOG_MESSAGE_FORMATФормат логовRFC_5424 / RFC_3164🔧

Оригинальный IP-адрес пользователя

Для отображения оригинального IP-адреса нужно передать в контейнер заголовок X-Forwarded-For от вышестоящего прокси.

Структура лог-записи

{
  "timestamp": "2007-12-03T10:15:30:55.000000",
  "sessionId": "ergjieor-ergjniuo-qjwer",
  "source": "stormbpmn",
  "subject": "kotov@bpmn2.ru",
  "subjectIP": "192.168.0.1",
  "object": "uaerhgae-aerj3234-egerg",
  "resource": "diagram",
  "action": "CHANGE",
  "payload": {
    "method": "POST",
    "url": "/api/v1/diagram",
    "request": { "..." },
    "response": { "..." }
  },
  "result": "SUCCESSFUL"
}

Типы событий

ДействиеОписание
GETПросмотр объекта
CREATEСоздание объекта
CHANGEИзменение объекта
DELETEУдаление объекта
РезультатОписание
SUCCESSFULУспешная операция
CLIENT_ERRORОшибка клиента
SERVER_ERRORОшибка сервера

Система авторизации

OAuth2 (рекомендуется)

Корпоративная авторизация через внешние провайдеры (Keycloak, Azure AD, и др.)

ПараметрОписаниеПример значения
OAuthIsEnabledВключение OAuth2true
OAuthClientIdID клиента в провайдереstormbpmn-client
OAuthClientSecretСекрет клиентаyour-client-secret
OAuthAuthorizeUriURL авторизацииhttps://keycloak.company.com/auth/realms/master/protocol/openid-connect/auth
OAuthUserInfoUriURL получения информации о пользователеhttps://keycloak.company.com/auth/realms/master/protocol/openid-connect/userinfo
OAuthTokenUriURL получения токенаhttps://keycloak.company.com/auth/realms/master/protocol/openid-connect/token
OAuthButtonLabelТекст на кнопке входа"Войти через корпоративный аккаунт"
OAuthRedirectUriURL возврата после авторизацииhttps://stormbpmn.company.com/app/signin

Проверка Claims

Дополнительная проверка прав в токене OAuth2:

ПараметрОписаниеПример значения
OAuthCheckClaimВключить проверкуtrue
OAuthClaimNameНазвание claimgroups
OAuthClaimValueТребуемое значениеstormbpmn-users

Настройка Keycloak

Пошаговая инструкция для Keycloak 26.0.7:

  1. Создать клиента в нужном realm
  2. Client ID: stormbpmn-client
  3. Valid redirect URIs: https://stormbpmn.company.com/app/signin
  4. Web origins: https://stormbpmn.company.com
  5. Client authentication: ON
  6. Standard flow: ON, Implicit flow: ON
  7. Client Scopes: email и profile должны быть default
  8. Получить Client Secret на вкладке Credentials

Встроенная авторизация

Только для тестирования

Встроенная авторизация подходит только для тестовых сред. В production используйте OAuth2.

Аварийный вход: Добавьте ?showBasicLogin=true к URL входа для доступа к базовой форме, даже если OAuth2 включен.


Чек-лист безопасности

Обязательные настройки

Дополнительные меры


Связанная документация

Нужна помощь?

По вопросам безопасности обращайтесь к help@stormbpmn.com или вашему менеджеру.