Поделиться через


План Always Encrypted с безопасными анклавами в SQL Server без аттестации

Применимо к: SQL Server 2019 (15.x) и более поздних версий в Windows

Настройка Always Encrypted с безопасными анклавами в SQL Server без аттестации позволяет легко начать работу с этой функцией. Однако при использовании безопасных анклавов в производственной среде следует учитывать, что уровень защиты от администраторов ОС снижается без проведения аттестации. Например, если вредоносный администратор ОС перенастраивал библиотеку SQL Server, запущенную внутри анклава, клиентское приложение не сможет обнаружить его. Если вы обеспокоены такими атаками, попробуйте настроить аттестацию с помощью Host Guardian Service (службы защиты узла). Дополнительные сведения см. в разделе "Планирование аттестации службы защиты узлов".

В SQL Server функция Always Encrypted с безопасными анклавами использует анклавы безопасности на основе виртуализации (VBS) (также известные как виртуальный безопасный режим или анклавы VSM) — программное решение, которое опирается на гипервизор Windows и не требует специального оборудования.

Примечание.

При развертывании SQL Server на виртуальной машине анклавы VBS помогают защитить данные от атак на виртуальной машине. Однако они не обеспечивают никакой защиты от атак с помощью привилегированных системных учетных записей, исходящих от узла. Например, дамп памяти виртуальной машины, созданной на хост-компьютере, может содержать память анклава.

Предварительные условия

Компьютеры под управлением SQL Server должны соответствовать требованиям для установки SQL Server и требований к оборудованию Hyper-V.

К этим требованиям относятся:

  • SQL Server 2019 (15.x) или более поздней версии

  • Windows 11 (24H2 и более поздние версии) или Windows Server 2019 и более поздних версий.

  • Поддержка ЦП для технологий виртуализации:

    • Intel VT-x с расширенными таблицами страниц.
    • AMD-V с механизмом быстрого индексирования виртуализации.
    • Если вы используете SQL Server на виртуальной машине:
  • Безопасность на основе виртуализации (VBS) должна быть включена и запущена.

Требования к инструментам

Установите последнюю версию SQL Server Management Studio (SSMS).

Требования к драйверу клиента

Сведения о версиях драйверов клиента, поддерживающих использование безопасных анклавах без аттестации, см. в статье "Разработка приложений с помощью Always Encrypted с безопасными анклавами".

Убедитесь, что VBS запущен

Примечание.

Этот шаг должен выполняться администратором компьютера SQL Server.

Чтобы проверить, работает ли VBS, откройте средство "Сведения о системе", запустив файл msinfo32.exe, и найдите элементы Virtualization-based security ближе к концу списка "Сведения о системе".

Снимок экрана: Сведения о системе с состоянием безопасности и конфигурацией на основе виртуализации.

Первый элемент, который нужно проверить, — Virtualization-based security. Он может иметь одно из трех состояний.

  • Running означает, что функция VBS настроена правильно и была успешно запущена.
  • Enabled but not running означает, что запуск функции VBS настроен, но оборудование не отвечает минимальным требованиям для запуска VBS. Может потребоваться изменить конфигурацию оборудования в BIOS или UEFI посредством включения дополнительных функций процессора, таких как IOMMU, либо (если оборудование действительно не поддерживает необходимые функции) снизить требования для VBS. Дополнительные сведения см. далее в этом разделе.
  • Not enabled означает, что работа VBS не настроена.

Включение VBS

Если VBS не включен, выполните следующую команду в консоли PowerShell с повышенными привилегиями, чтобы включить ее.

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 1

После изменения реестра перезапустите компьютер SQL Server и проверьте, работает ли VBS снова.

Другие способы включения VBS см. в статье "Включение защиты целостности кода на основе виртуализации".

Запустите VBS, если он не запущен

Если VBS включен, но не выполняется на компьютере, проверьте свойства Virtualization-based security. Сравните значения элемента Required Security Properties со значениями элемента Available Security Properties. Чтобы функция VBS выполнялась, требуемые свойства должны быть равны доступным свойствам безопасности или являться их подмножеством. Свойства безопасности имеют следующую важность:

  • Base virtualization support требуется всегда, так как представляет минимальный набор компонентов оборудования, необходимый для запуска гипервизора.
  • Secure Boot рекомендуется, но не требуется. Безопасная загрузка защищает от программ rootkit, требуя, чтобы загрузчик, подписанный корпорацией Майкрософт, запускался сразу после завершения инициализации UEFI.
  • DMA Protection рекомендуется, но не требуется. Защита DMA использует механизм IOMMU для защиты VBS и памяти анклава от атак с прямым доступом к памяти. В рабочей среде следует всегда использовать компьютеры с защитой DMA. В среде разработки или тестирования можно удалить требование защиты DMA. Если экземпляр SQL Server виртуализирован, скорее всего, у вас нет защиты DMA и потребуется удалить требование для запуска VBS.

Прежде чем понижать требования к функциям безопасности для VBS, обратитесь к изготовителю оборудования (OEM) или поставщику облачных служб, чтобы узнать, можно ли каким-либо образом обеспечить выполнение недостающих требований платформы в UEFI или BIOS (например, включить безопасную загрузку, Intel VT-d или AMD IOV).

Чтобы изменить требуемые функции безопасности платформы для VBS, выполните следующую команду в консоли PowerShell с повышенными привилегиями:

# Value 1 = Only Secure Boot is required
# Value 2 = Only DMA protection is required (default configuration)
# Value 3 = Both Secure Boot and DMA protection are required
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name RequirePlatformSecurityFeatures -Value 1

После изменения реестра перезапустите компьютер SQL Server и проверьте, работает ли VBS снова.

Если компьютер управляется вашей компанией, групповая политика или Microsoft Endpoint Manager могут переопределить любые изменения, внесенные в эти разделы реестра после перезапуска. Чтобы узнать, развернуты ли политики, управляющие конфигурацией VBS, обратитесь в свою службу технической ИТ-поддержки.

Следующие шаги