Подготовка TDE: резервное копирование ключа / сертификата для восстановления

10

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

USE master; 
GO 
BACKUP CERTIFICATE Test
TO FILE = 'C:\Test.cer'
WITH PRIVATE KEY
(FILE = 'C:\Test.pvk',
ENCRYPTION BY PASSWORD = 'Example12#')

Их необходимо переместить / восстановить на новом сервере в случае сбоя. Есть ли что-то еще, что мне нужно сделать резервную копию с исходного сервера, что потребуется в случае необходимости восстановления на другой сервер?

Также есть предложения по хранению закрытого ключа? В данный момент я думаю о том, чтобы сделать резервную копию сертификата, закрытого ключа и пароля в базе данных KeePass, для которой выполняется отдельное резервное копирование и репликация вне сайта.

Тем не менее, остается вопрос, куда сделать резервную копию закрытого ключа KeePass?

Торин
источник

Ответы:

5

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

Когда сертификат создается в любой базе данных в SQL Server, он является частью иерархии шифрования . Сертификат в самой базе данных master содержит только открытый ключ, который не нуждается в защите, однако база данных master также будет содержать отдельный, но математически связанный закрытый ключ, который необходимо защищать. Метод защиты закрытого ключа заключается в шифровании его с использованием главного ключа базы данных, который вы создали в основной базе данных до создания сертификата. Следующим уровнем в иерархии шифрования является то, что DMK шифруется главным ключом службы. В системе есть только один SMK, и он находится в базе данных master.

Даже если вам не нужны DMK и SMK для восстановления зашифрованной резервной копии на другой сервер, я бы все равно сделал резервную копию этих двух ключей, поскольку это делает восстановление гораздо более гибким.

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

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

Майкл Келехер
источник
1

В книге Денни Черри «Защита SQL Server» я нашел рекомендации по безопасности для резервного копирования сертификатов:

  • Записать резервные копии сертификатов на два разных компакт-диска
  • Поместите каждый компакт-диск в запечатанный и подписанный конверт
  • Отметьте конверт с какой системой эти сертификаты
  • Поместите один компакт-диск в офисный сейф менеджера компании.
  • Храните второй CD вне сайта в другом безопасном месте
Poldba
источник