Тестирование работы “прозрачного” (TDE) шифрования 1С на базе СУБД MSSQL 2022

4000 MHz (1 ядро)

Или выставить настройки на скриншоте ниже:

Расширенный режим.

Расширенный режим.

Примечание:

  • Данные настройки применимы только к материнским платам серии X9. В других случаях настройки индивидуальны.

  • При применении режима Custom по итогу мы получим фиксированную частоту в 3.3 Ггц на всех ядрах в постоянном режиме.

Часть 2. Оптимизации программной части. Сервер 1С.

Часть 3. Оптимизации программной части. MS SQL сервер.

Данных инструкций будет достаточно для базовой настройки SQL сервера.

Часть 4. Включение «прозрачного» шифрования Transparent Data Encryption (TDE).

 Описание технологии.

Функция прозрачного шифрования данных выполняет шифрование и дешифрование ввода-вывода в реальном времени для файлов данных и журналов. Шифрование использует ключ шифрования базы данных (DEK). Загрузочная запись базы данных хранит ключ для доступности во время восстановления. DEK — это симметричный ключ, защищенный сертификатом, который хранится в базе данных сервера master или асимметричным ключом, защищенным модулем EKM.

Описание технологии TDE хорошо описано в официальном блоге компании Microsoft. Мы дадим комментарий некоторым особенностям этой инструкции.

https://learn.microsoft.com/ru-ru/sql/relational-databases/security/encryption/transparent-data-encryption? view=sql-server-ver16

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

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

Важно!!!

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

И хотя в блоге компании Microsoft прямо не упоминаются потери производительности при включении TDE, мы нашли некоторые упоминания, что потеря составляет от 3 до 5 процентов, а в некоторых исследованиях до 28%. Проверим эту теорию нагрузочными испытаниями. 

Если говорить про детали теста, то в рамках нашего исследования мы не будем генерировать новые таблицы и ввод новых данных, основа исследования это операции проведения, перепроведения и чтения из БД, что удовлетворяет принципам шифрования TDE.

Включение шифрования:

шаг 1 — создание мастер ключа.

USE master

go

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'пароль'

шаг 2 — создание сертификата.

CREATE CERTIFICATE DEK_EncCert WITH SUBJECT = 'DEK Encryption Certificate'

шаг 3 — создание бэкапа сертификата и ключа.

BACKUP CERTIFICATE DEK_EncCert

TO FILE ='C:\certs\DEK_EncCert.cert'

WITH PRIVATE KEY (

FILE = 'C:\certs\DEK_EncCert.prvk',

ENCRYPTION BY PASSWORD = 'пароль'

);

BACKUP MASTER KEY TO 

FILE = 'C:\certs\master_key.bak'

ENCRYPTION BY PASSWORD = 'пароль'

шаг 4 — создание в БД Database Encryption Key (DEK).

USE MySecretDB

go

CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256

ENCRYPTION BY SERVER CERTIFICATE DEK_EncCert

шаг 5 — включение шифрования для базы.

ALTER DATABASE ERP SET ENCRYPTION ON

шаг 6 — Проверка статуса шифрования.

SELECT DB_NAME (database_id), encryption_state, percent_complete FROM sys.dm_database_encryption_keys

© Habrahabr.ru