Начиная с SQL Server 2014, администраторы баз данных могут включить шифрование резервных копий для защиты своих конфиденциальных данных. В этой статье я расскажу вам, как выполнить необходимые предварительные условия и подробные шаги для их достижения.
Когда необходимо выполнять шифрование резервной копии SQL Server?
Как администраторы баз данных, обеспечение безопасности наших данных является одной из наших важнейших задач. Мы, конечно, не хотим, чтобы кто-то просматривал нашу базу данных по своему усмотрению без разрешения, просто восстанавливая резервные копии на своем собственном оборудовании, особенно когда там хранятся наши конфиденциальные данные.
Поэтому, чтобы не допустить утечки данных, практически необходимо выполнить шифрование резервной копии SQL Server. Я настоятельно рекомендую вам выполнить шифрование резервной копии SQL Server при следующих обстоятельствах:
- В вашей базе данных есть конфиденциальные данные
- Вы собираетесь хранить резервные копии базы данных вне офиса или в облаке
- Вы хотите ограничить доступ только теми, у кого есть разрешение
Поддерживается ли шифрование резервных копий версий SQL Server?
До появления SQL Server 2014 для шифрования данных в состоянии покоя обычно использовалось прозрачное шифрование данных (TDE), однако оно значительно снижает производительность запросов и увеличивает нагрузку на ЦП.
К счастью, начиная с SQL Server 2014 , новая опция шифрования резервных копий позволяет нам шифровать резервную копию во время ее создания, только после того, как мы укажем алгоритм шифрования и шифратор для защиты ключа шифрования.
Однако шифрование резервных копий по-прежнему недоступно в SQL Server Express, SQL Server Web и версиях до SQL Server 2014. Поэтому, если вы используете SQL Server Express, Web или хотите выполнить шифрование резервных копий в SQL Server 2012, 2008 и т. д., я предлагаю вам выбрать
Как зашифровать резервную копию в SQL Server 2014 и более поздних версиях
Прежде чем начать, нам нужно знать две вещи.
1. Зашифрованные резервные копии не могут быть добавлены к существующему набору резервных копий. Поэтому нам необходимо выполнить резервное копирование в новый набор резервных копий.
2. Сначала нам нужно указать алгоритм шифрования и шифратор для защиты ключа шифрования. Вот поддерживаемые алгоритм шифрования и шифраторы. В общем случае мы выбираем AES 256 и сертификат для шифрования резервной копии SQL Server.
- Поддерживаемые алгоритмы шифрования : ES 128, AES 192, AES 256 и Triple DES.
- Шифровальщики : сертификат или асимметричный ключ.
Сначала позвольте мне объяснить, что это такое и как работает шифрование резервных копий SQL Server.
Service Master Key (SMK) : SMK автоматически генерируется и сохраняется в системной базе данных master при установке SQL Server, уникальный для каждого экземпляра. Он будет использоваться для шифрования Database Master Key.
Главный ключ базы данных (DMK) : DMK уникален для каждой системной главной базы данных для каждого экземпляра. DMK используется для защиты сертификата или асимметричного ключа.
Сертификат : Сертификат может содержать закрытый ключ, защищенный главным ключом базы данных или асимметричным ключом (лучше его не выбирать). Он используется для шифрования резервной копии базы данных.
✦ Шаг 1. Проверка существования DMK
Запустите SSMS и подключитесь к своему экземпляру. Нажмите New Query на верхней панели и введите следующие операторы.
SELECT * FROM master.sys.symmetric_keys
Нажмите Execute . В результатах вы можете проверить наличие DMK. Если его нет, то нам нужно его создать.
✦ Шаг 2. Создание DMK
Введите следующие операторы и нажмите «Выполнить» .
-- Создайте главный ключ базы данных
CREATE MASTER KEY ENCRYPTION BY PASSWORD=' пароль '
✦ Шаг 3. Создайте сертификат
-- Создать резервный сертификат
USE master
GO
CREATE CERTIFICATE Certificate
WITH SUBJECT = ' SQL Backup Certificate ';
GO
✦ Шаг 4. Резервное копирование SMK
-- Резервное копирование главного ключа службы
USE master
GO
BACKUP SERVICE MASTER KEY
TO FILE = ' filepath\SMKfilename.key '
ENCRYPTION BY PASSWORD = ' SMKpassword ';
GO
✦ Шаг 5. Резервное копирование DMK
-- Резервное копирование главного ключа базы данных
BACKUP MASTER KEY
TO FILE = ' filepath \DMKfilename.key '
ENCRYPTION BY PASSWORD = ' DMKpassword ';
GO
✦ Шаг 6. Резервное копирование сертификата
-- Резервное копирование сертификата
BACKUP CERTIFICATE Certificate
TO FILE = ' filepath \CertificateFilename.cer '
WITH PRIVATE KEY(
FILE = ' filepath \CertificateKeyFilename.key ',
ENCRYPTION BY PASSWORD = ' CertificatePassword ');
GO
Теперь мы создали 4 файла, используемых для шифрования резервной копии SQL Server.