Шифрование соединения с базой данных

GlarusBI хранит информацию о подключении для различных баз данных, которые вы добавляете в базу данных приложения GlarusBI. Чтобы злоумышленники не смогли получить доступ к этим данным, GlarusBI может автоматически шифровать их с помощью AES256 + SHA512 при сохранении и расшифровывать на лету, при запросе данных.

Создание ключа шифрования

  1. Сгенерируйте секретный ключ длиной не менее 16 символов (чем длиннее, тем лучше!). Мы рекомендуем использовать безопасный генератор случайных ключей, например openssl.

    Позаботьтесь о том, чтобы не потерять этот ключ, потому что без него вы не сможете расшифровать детали соединения. Если вы потеряете (или измените) ключ, вам придется сбросить все детали подключения, которые были зашифрованы с его помощью в панели администратора.

Вы не можете расшифровать детали соединения без ключа. Если вы потеряли (или изменили) ключ, вам придется перезагрузить детали всех соединений, которые были зашифрованы этим ключом в Панели Администратора.

  1. Установите секретный ключ в качестве переменной среды MB_ENCRYPTION_SECRET_KEY.

Примеры команд для создания и добавления ключа

  1. Вы можете использовать openssl для создания криптографически безопасного 32-символьного ключа, сгенерированного случайным образом.

    openssl rand -base64 32
    
  2. Скопируйте ключ в буфер обмена. Это должно выглядеть примерно так:

    IYqrSi5QDthvFWe4/WdAxhnra5DZC3RKx3ZSrOJDKsM=
    
  3. Установите ключ как переменную среды и запустите GlarusBI, как обычно.

    MB_ENCRYPTION_SECRET_KEY="IYqrSi5QDthvFWe4/WdAxhnra5DZC3RKx3ZSrOJDKsM=" java -jar glarusBI.jar
    

Как только вы установите значение MB_ENCRYPTION_SECRET_KEY, GlarusBI будет надежно шифровать и хранить данные подключения для каждой новой базы данных, которую вы добавляете.

Примечание

Некоторые версии Linux по-разному интерпретируют одинарные (') и двойные кавычки (") для значений переменных среды. необходимо заключить ключ в двойные кавычки, чтобы одинарные кавычки интерпретировались буквально. Например, MB_ENCRYPTION_SECRET_KEY='IYq...sM=' станет MB_ENCRYPTION_SECRET_KEY="'IYq...sM='"

Шифрование существующего соединения

Если вы добавили базы данных до установки значения MB_ENCRYPTION_SECRET_KEY, вы можете зашифровать данные подключения, перейдя к каждой из этих баз данных в Настройки администратора > Базы данных и нажав кнопку Сохранить. Существующие базы данных с незашифрованными данными продолжат нормально работать.

Ротация ключа шифрования

  1. Мы рекомендуем вам создать резервную копию ваших данных перед выполнением ротации ключей.

  2. Остановите запуск приложения GlarusBI.

  3. Запустите команду CLI rotate-encryption-key.

    • Установите текущий ключ шифрования как MB_ENCRYPTION_SECRET_KEY.

    • Установите новый ключ шифрования в качестве параметра.

Пример команды для поворота ключа

MB_ENCRYPTION_SECRET_KEY=your-current-key java -jar glarusBI.jar rotate-encryption-key new-key

Отключение ключа шифрования

Чтобы отключить ключ шифрования, выполните действия поменять ключ шифрования, но используйте пустую строку ("") в качестве нового ключа.

Пример команды для отключения ключа

MB_ENCRYPTION_SECRET_KEY="your-current-key" java -jar glarusBI.jar rotate-encryption-key ""