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


Устранение неполадок с защищенными узлами

В этой статье описаны решения распространенных проблем, возникающих при развертывании или эксплуатации защищенного узла Hyper-V в защищенной структуре.

Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016

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

Функция защищенного узла

Если у вас возникли проблемы с узлом Hyper-V, сначала убедитесь, что установлена функция поддержки Hyper-V гардиа узла . Без этой функции на узле Hyper-V отсутствуют некоторые критические параметры конфигурации и программное обеспечение, которые позволяют пройти аттестацию и подготовить экранированные виртуальные машины.

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

Get-WindowsFeature HostGuardian

Если компонент не установлен, установите его с помощью следующего командлета PowerShell:

Install-WindowsFeature HostGuardian -Restart

Сбои аттестации

Если узел не проходит аттестацию со службой защиты узла, он не сможет запустить экранированные виртуальные машины. В выходных данных Get-HgsClientConfiguration на этом узле будут показаны сведения о том, почему не удалось выполнить аттестацию этого узла.

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

AttestationStatus Объяснение
Истек срок действия Ранее узел прошел аттестацию, но срок действия выданного сертификата работоспособности истек. Убедитесь, что время узла и HGS синхронизированы.
InsecureHostConfiguration Узел не прошел аттестацию, так как он не соответствует политикам аттестации, настроенным в HGS. Дополнительные сведения см. в таблице AttestationSubStatus.
NotConfigured Узел не настроен для использования HGS для аттестации и защиты ключей. Вместо этого он настроен для локального режима. Если этот узел находится в защищенной структуре, используйте Set-HgsClientConfiguration , чтобы предоставить ему URL-адреса для сервера HGS.
Прошло Узел прошел аттестацию.
TransientError Последняя попытка аттестации завершилась сбоем из-за сети, службы или другой временной ошибки. Повторите последнюю операцию.
TpmError Не удалось завершить последнюю попытку аттестации узла из-за ошибки доверенного платформенного модуля. Дополнительные сведения см. в разделе журналы доверенного платформенного модуля.
UnauthorizedHost Узел не прошел аттестацию, так как он не был авторизован для запуска экранированных виртуальных машин. Убедитесь, что узел принадлежит группе безопасности, которой доверяет HGS для запуска экранированных виртуальных машин.
Unknown Узел еще не пытался выполнить аттестацию с помощью HGS.

Если attestationStatus отображается как InsecureHostConfiguration, в поле AttestationSubStatus указывается одна или несколько причин. В таблице ниже описаны возможные значения attestationSubStatus и советы по устранению проблемы.

АттестацияSubStatus Что это значит и что делать
BitLocker Том ОС узла не шифруется с помощью BitLocker. Чтобы устранить эту проблему, включите BitLocker на томе ОС или отключите политику BitLocker в HGS.
CodeIntegrityPolicy Узел не настроен для использования политики целостности кода или не использует политику, доверяемую сервером HGS. Убедитесь, что настроена политика целостности кода, что узел перезапущен, а политика зарегистрирована на сервере HGS. Дополнительные сведения см. в статье Создание и применение политики целостности кода.
ДампыEnabled Узел настроен так, чтобы разрешить аварийные дампы или динамические дампы памяти, что не разрешено политиками HGS. Чтобы устранить эту проблему, отключите дампы на узле.
DumpEncryption Узел настроен на разрешение аварийных дампов или дампов динамической памяти, но не шифрует эти дампы. Отключите дампы на узле или настройте шифрование дампа.
DumpEncryptionKey Узел настроен для разрешения и шифрования дампов, но для их шифрования не используется сертификат, известный HGS. Чтобы устранить эту проблему, обновите ключ шифрования дампа на узле или зарегистрируйте ключ в HGS.
FullBoot Узел возобновил работу из спящего режима или гибернации. Перезапустите узел, чтобы обеспечить чистую и полную загрузку.
ГибернацияEnabled Узел настроен так, чтобы разрешить режим гибернации без шифрования файла гибернации, что не разрешено политиками HGS. Отключите режим гибернации и перезапустите узел или настройте шифрование дампа.
HypervisorEnforcedCodeIntegrityPolicy Узел не настроен для использования политики целостности кода, принудительной низкоуровневой оболочкой. Убедитесь, что гипервизор включает, настраивает и обеспечивает целостность кода. Дополнительные сведения см. в руководстве по развертыванию Device Guard.
Iommu Функции безопасности на основе виртуализации узла не настроены так, чтобы устройство IOMMU требовалось для защиты от атак с прямым доступом к памяти, как это требуется политиками HGS. Убедитесь, что на узле есть IOMMU, что он включен, и что Device Guard настроен так, чтобы при запуске VBS требовалась защита DMA .
PagefileEncryption Шифрование файла страницы не включено на узле. Чтобы устранить эту проблему, выполните команду fsutil behavior set encryptpagingfile 1 , чтобы включить шифрование файлов подкачки. Дополнительные сведения см. в разделе Поведение fsutil.
SecureBoot Безопасная загрузка не включена на этом узле или не используется шаблон безопасной загрузки Майкрософт. Включите безопасную загрузку с помощью шаблона Безопасной загрузки Майкрософт, чтобы устранить эту проблему.
SecureBootSettings Базовый план доверенного платформенного модуля на этом узле не соответствует ни одному из доверенных для HGS. Это может произойти при изменении центра запуска UEFI, переменной DBX, флага отладки или настраиваемых политик безопасной загрузки путем установки нового оборудования или программного обеспечения. Если вы доверяете текущей конфигурации оборудования, встроенного ПО и программного обеспечения этого компьютера, вы можете записать новый базовый план доверенного платформенного модуля и зарегистрировать его в HGS.
TcgLogVerification Невозможно получить или проверить журнал TCG (базовый модуль TPM). Это может указывать на проблему с встроенным ПО узла, доверенным платформенный платформенный модуль или другими компонентами оборудования. Если узел настроен на попытку загрузки PXE перед загрузкой Windows, устаревшая программа загрузки Net Boot (NBP) также может вызвать эту ошибку. Убедитесь, что все NBP обновлены при включенной загрузке PXE.
VirtualSecureMode Функции безопасности на основе виртуализации не выполняются на узле. Убедитесь, что VBS включен и что ваша система соответствует настроенным функциям безопасности платформы. Дополнительные сведения о требованиях к VBS см. в документации Device Guard.

Современный TLS

Если вы развернули групповую политику или иным образом настроили узел Hyper-V, чтобы предотвратить использование TLS 1.0, при попытке запустить экранированную виртуальную машину вы можете столкнуться с ошибкой "Клиент службы защиты узла не удалось развернуть защиту ключей от имени вызывающего процесса". Это связано с поведением по умолчанию в .NET 4.6, когда системная версия TLS по умолчанию не учитывается при согласовании поддерживаемых версий TLS с сервером HGS.

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

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32

Предупреждение

Настройка системных версий TLS по умолчанию повлияет на все приложения .NET на вашем компьютере. Обязательно протестируйте разделы реестра в изолированной среде перед их развертыванием на рабочих компьютерах.

Дополнительные сведения о .NET 4.6 и TLS 1.0 см. в статье Решение проблемы TLS 1.0, 2nd Edition.