⌘ K

ServiceDesk Plus · Для администраторов

Частые вопросы о шифровании хранимых данных (EAR)

Здесь приведены частые вопросы о EAR. Рассматриваются проблемы, которые могут возникнуть при создании пароля мастер-ключа или обновлении приложения в текущей среде. 

Обновление остановлено с указанным сообщением. Что делать?

Иллюстрация 1: Частые вопросы о шифровании хранимых данных (EAR)

Что такое симметричные ключи?

Что такое мастер-ключ базы данных?

Как открыть мастер-ключ базы данных.

Как проверить наличие симметричных ключей в базе данных.

Как проверить наличие сертификатов в базе данных. 

Как создать пароль мастер-ключа.

Как создать дополнительный пароль мастер-ключа. 

Как создать резервную копию пароля мастер-ключа.

Как восстановить пароль мастер-ключа?

Почему пароль мастер-ключа не работает при обновлении? 

Какой алгоритм по умолчанию шифрует значения в Postgres? 

Какой тип данных у зашифрованного столбца в разных базах?

Как создать резервную копию и восстановить базу MSSQL. 

Коды системных ошибок

Что такое ECTag? Можно ли его изменить?

Как устранить проблемы входа, получения почты или интеграции после переключения в среде AOAG?

 

  • Обновление остановлено. Что делать?

           Обновление с текущей базой невозможно. Выполните следующие действия:

1. Создайте резервную копию приложения..

2. Создайте новую базу с помощью /changeDBServer.bat или /changeDBServer.sh.

3. Один раз запустите и остановите приложение.

4. Восстановите приложение в новую базу. 

5. Обновите приложение до ServiceDesk Plus 9313 или выше.

Наверх

  •  Что такое симметричные ключи?

Симметричный, или секретный, ключ — входные данные алгоритма шифрования, позволяющие получать разные результаты для разных ключей.

Наверх

  • Что такое мастер-ключ базы данных?

Это симметричный ключ, защищающий закрытые ключи сертификатов и асимметричные ключи базы. Он шифруется алгоритмом Triple DES или AES_256 и паролем пользователя. Дополнительные симметричные ключи и сертификаты шифрования данных можно создавать только после создания мастер-ключа базы. 

Наверх

  • Как открыть мастер-ключ базы данных.

Откройте MSSQL Server Management Studio, нажмите базу правой кнопкой и выберите New Query

В рабочей области выполните следующий запрос: 

OPEN MASTER KEY DECRYPTION BY PASSWORD='<MasterKey_password>'; 

Наверх

  • Как проверить наличие симметричных ключей в базе данных. 

Откройте MSSQL Server Management Studio, нажмите базу правой кнопкой и выберите New Query

В рабочей области выполните следующий запрос:

select * from sys.symmetric_keys;

Имеющиеся симметричные ключи появятся в таблице результатов.

Наверх

  • Как проверить наличие сертификатов в базе данных. 

Откройте MSSQL Server Management Studio, нажмите базу правой кнопкой и выберите New Query

В рабочей области выполните следующий запрос:

select * from sys.certificates 

Имеющиеся сертификаты появятся в таблице результатов.

Наверх

  • Как создать пароль мастер-ключа.

Пользователь с правами dbcreator может создать пароль мастер-ключа следующим образом:

Откройте MSSQL Server Management Studio, нажмите базу правой кнопкой и выберите New Query

В рабочей области выполните следующий запрос:

CREATE MASTER KEY ENCRYPTION BY PASSWORD='<new_Masterkey_password>';
Пароль мастер-ключа должен отвечать правилам паролей машины с MSSQL. 

Наверх

  • Как создать дополнительный пароль мастер-ключа. 

Пользователь с правами dbcreator может изменить мастер-пароль следующим образом:

Откройте MSSQL Server Management Studio.

Нажмите базу правой кнопкой и выберите New Query..

Выполните следующий запрос:

 

ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD='<new-master_key>';

 

После создания дополнительного пароля мастер-ключа старый пароль продолжает работать. 

Наверх

  • Как создать резервную копию пароля мастер-ключа.

Откройте MSSQL Server Management Studio, нажмите базу правой кнопкой и выберите New Query

 В рабочей области выполните следующий запрос:

BACKUP MASTER KEY TO FILE = 'path_to_file' ENCRYPTION BY PASSWORD = '<Masterkey_password>';

Наверх

  • Как восстановить пароль мастер-ключа?

Откройте MSSQL Server Management Studio, нажмите базу правой кнопкой и выберите New Query

В рабочей области выполните следующий запрос:

RESTORE MASTER KEY FROM FILE = 'path_to_file' DECRYPTION BY PASSWORD = '<masterkey_password_of_backup_database>' ENCRYPTION BY PASSWORD = '<masterkey_password_of_restoring_database>';

Пароль мастер-ключа будет восстановлен в базе.

Наверх

  • Почему пароль мастер-ключа не работает при обновлении? 

Это возможно, если пароль не отвечает правилам паролей машины с MSSQL. 

Наверх

  • Какой алгоритм по умолчанию шифрует значения в Postgres? 

AES_256

Наверх

  • Какой тип данных у зашифрованного столбца в разных базах?

Postgre: bytea

MSSQL: varbinary

Наверх

  • Как создать резервную копию и восстановить базу MSSQL. 

Вариант 1. Инструменты ServiceDesk Plus

Шаг 1: Остановите службу ServiceDesk Plus.
Шаг 2: Создайте резервную копию текущих данных и настроек MSSQL. Например, текущая база — MSSQL 2005. Для копирования
в командной строке перейдите в [ServiceDesk Plus-Home]\bin и выполните backUpData.bat , чтобы начать копирование.
cmd> [ServiceDesk Plus Home]\bin
cmd> backUpData.bat
Копия сохраняется в папке Backup каталога ServiceDesk Plus Home.
Шаг 3: Выполните ChangeDBServer.bat в каталоге [Service Desk-Home]\bin.
Шаг 4: Укажите сведения нового SQL-сервера, например SQL Server 2008 64-bit. Введите Host Name, Username и Password. Нажмите Test для проверки соединения. Должно появиться Connection Established. Нажмите Save.


ПРИМЕЧАНИЕ: Если мастер-ключ резервной базы изменён, необходимо изменить Master Key.


Шаг 5: Один раз запустите и остановите службу ServiceDesk Plus.
ПРИМЕЧАНИЕ: На новом SQL-сервере создаётся база ServiceDesk.
Шаг 6: Выполните restoreData.bat в [Service Desk-Home]\bin. Данные восстанавливаются в экземпляр MSSQL из ранее созданной резервной копии.
Шаг 7: После восстановления запустите службу ManageEngine ServiceDesk Plus.

 

Вариант 2. Ручное резервное копирование и восстановление через SQL Server Management Studio

Шаг 1: Остановите службу ManageEngine ServiceDesk Plus.

Шаг 2: в MSSQL Server Management, нажмите копируемую базу правой кнопкой и перейдите в Tasks >> Backup. Копия базы сохраняется в указанном месте как database_name.bak.

Шаг 3: создайте резервную копию пароля мастер-ключа старой базы по инструкции https://help.servicedeskplus.com/ear-faqs.html$8

Шаг 4: Восстановите мастер-ключ старой базы в новую по инструкции:

https://help.servicedeskplus.com/ear-faqs.html$9
Шаг 5: для восстановления базы нажмите её правой кнопкой и выберите Restore >> DataBase.

В окне Restore Database выберите устройство и путь к копии database_name.bak, затем нажмите Ok.

Примечание: если возникает следующая ошибка: 
System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing 'new_database_name' database. (Microsoft.SqlServer.SmoExtended)
Во вкладке Options выберите Overwrite the existing database (WITH REPLACE).

 

Шаг 6: база MSSQL будет восстановлена.


Примечание: при намеренном изменении пароля мастер-ключа базы обновите пароль Database Master Key в customer-config.xml.

Наверх

Это симметричный ключ PGP (Pretty Good Privacy), используемый Postgres для шифрования данных в столбцах паролей. Значение ECTag хранится в зашифрованном виде в product-config.xml. 

Для изменения:

Перед выполнением changeKey.bat создайте резервную копию. 

В <product_home>/ME/ServiceDesk/bin выполните changeKey.bat с новым значением ECTag.

changeKey.bat <ECTag value>

Вся база расшифровывается старым ключом и снова шифруется с указанным ECTag.

 

Как устранить проблемы входа, получения почты или интеграции после переключения в среде AOAG?
Проверьте, выбран ли Automatic seeding для Initial Data Synchronisation при настройке AOAG. Если да, выполните следующий запрос на всех узлах для устранения проблемы:

EXEC sp_control_dbmasterkey_password @db_name = N'<database_name>' , @password = N'<Master_Key_Password>',@action = N'add' ;

 

Наверх