Руководство по восстановлению BitLocker

В этой статье для ИТ-специалистов описывается восстановление ключей BitLocker из AD DS.

Организации могут использовать данные восстановления BitLocker, сохраненные в доменных службах Active Directory (AD DS), для доступа к данным, защищенным с помощью BitLocker. При планировании развертывания BitLocker рекомендуется создать модель восстановления BitLocker.

В этой статье предполагается, что вы знаете, как настроить AD DS для автоматического резервного копирования данных восстановления BitLocker и какие типы данных восстановления сохраняются в AD DS.

Эта статья не содержит подробную информацию о настройке AD DS для хранения данных восстановления BitLocker.

В ней рассматриваются следующие темы:

Что такое восстановление BitLocker?

Восстановление BitLocker — это процесс, позволяющий восстановить доступ к диску, защищенному с помощью BitLocker, в том случае, если его не удается разблокировать обычным способом. В сценарии восстановления доступны следующие варианты восстановления доступа к диску:

  • Пользователь может указать пароль восстановления. Если ваша организация позволяет пользователям печатать или сохранять пароли, то пользователь может ввести 48-значный пароль восстановления, который он распечатал или сохранил на USB-носителе или в учетной записи Майкрософт. (Сохранение пароля восстановления в учетной записи Майкрософт допускается, только если BitLocker используется на компьютере, не включенном в домен).

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

  • Администратор домена может получить пароль восстановления из AD DS разблокировать диск с его помощью. Рекомендуется хранить пароли восстановления в AD DS, чтобы в случае необходимости ИТ-специалисты могли получать пароли восстановления для дисков. Чтобы использовать этот метод восстановления, необходимо включить его в параметре групповой политики BitLocker Этот параметр политики позволяет выбрать метод восстановления дисков операционной системы, защищенных с помощью BitLocker в разделе Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Шифрование диска BitLocker\Диски операционной системы редактора локальных групповых политик. Дополнительные сведения см. в статье Параметры групповой политики для BitLocker.

В каких случаях выполняется восстановление BitLocker?

В следующем списке представлены примеры конкретных ситуаций, в которых BitLocker перейдет в режим восстановления при попытке запустить диск операционной системы:

  • На компьютерах, использующих BitLocker или шифрование устройств, при обнаружении атаки устройство немедленно перезагрузится и перейдет в режим восстановления BitLocker. Чтобы воспользоваться этой возможностью, администраторы могут установить параметр групповой политики Интерактивный вход в систему: пороговое число неудачных попыток входа в разделе \Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options редактора локальных групповых политик или использовать политику MaxFailedPasswordAttempts для Exchange ActiveSync (также настраиваемую с помощью Windows Intune), чтобы ограничить число неудачных попыток входа, после которого устройство блокируется.

  • Изменение порядка загрузки, чтобы перед жестким диском загружался другой диск.

  • В указанном в BIOS порядке загрузки жесткому диску предшествует CD- или DVD-диск, который затем вставляется или извлекается.

  • Неудачная попытка загрузки с сетевого диска перед загрузкой с жесткого диска.

  • Стыковка и отстыковка портативного компьютера. В некоторых случаях (в зависимости от производителя компьютера и версии BIOS) состояние стыковки портативного компьютера включено в оценку системы и должно быть согласованным для подтверждения состояния системы и разблокировки BitLocker. Это означает, что если портативный компьютер подключен к док-станции при включении BitLocker, возможно, он также должен быть пристыкован при разблокировке. И наоборот, если портативный компьютер не подключен к док-станции при включении BitLocker, возможно, он должен быть отключен и при разблокировке.

  • Изменение таблицы разделов NTFS на диске, в том числе создание, удаление или масштабирование основного раздела.

  • Ввод неправильного ПИН-кода слишком много раз, что приводит к активации логики противодействия подбору паролей доверенного платформенного модуля. Логика противодействия подбору паролей — это программные или аппаратные методы, которые повышают сложность и стоимость подбора ПИН-кода, не принимая ввод ПИН-кода, пока не пройдет определенное время.

  • Отключение поддержки чтения USB-устройства в предзагрузочной среде из BIOS или UEFI, если вместо доверенного платформенного модуля используются USB-ключи.

  • Завершение работы, отключение, деактивация или очистка доверенного платформенного модуля.

  • Обновление компонентов, критически важных для раннего запуска, например встроенного ПО BIOS или UEFI, что приводит к изменению соответствующих характеристик загрузки.

  • Забытый ПИН-код при включенной проверке подлинности с помощью ПИН-кода.

  • Обновление встроенного ПО дополнительного ПЗУ.

  • Обновление встроенного ПО доверенного платформенного модуля.

  • Добавление или демонтаж оборудования, например вставка в компьютер новой карты, включая некоторые беспроводные карты PCMIA.

  • Демонтаж, вставка или полная разрядка интеллектуальной батареи на портативном компьютере.

  • Изменение основной загрузочной записи (MBR) диска.

  • Изменение диспетчера загрузки диска.

  • Скрытие доверенного платформенного модуля от операционной системы. Некоторые параметры BIOS или UEFI позволяют предотвратить перечисление доверенного платформенного модуля в операционной системе. При использовании этого параметра доверенный платформенный модуль может быть скрыт от операционной системы. Когда доверенный платформенный модуль отключен, безопасный запуск BIOS и UEFI также отключен, а доверенный платформенный модуль не отвечает на команды каких-либо программ.

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

  • Изменение регистров конфигурации платформы (PCR), используемых профилем проверки доверенного платформенного модуля. Например, если включить PCR[1], BitLocker оценит большинство изменений параметров BIOS, в результате чего он перейдет в режим восстановления даже при изменении параметров BIOS, не требуемых для загрузки.

    Примечание  

    На некоторых компьютерах имеются параметры BIOS, которые пропускают оценку определенных регистров конфигурации платформы, например PCR[2]. Если изменить этот параметр в BIOS, BitLocker перейдет в режим восстановления, потому что будет отличаться показатель регистра конфигурации платформы.

     
  • Перемещение диска с защитой BitLocker в новый компьютер.

  • Замена материнской платы на новую с другим доверенным платформенным модулем.

  • Потеря USB-носителя с ключом запуска при включенной проверке подлинности с помощью этого ключа.

  • Неудачное прохождение самопроверки доверенного платформенного модуля.

  • Наличие BIOS, UEFI или дополнительного ПЗУ, несовместимого с соответствующими стандартами организации TCG для клиентского компьютера. Например, несовместимая реализация может записывать переменные данные, такие как время, в показатели доверенного платформенного модуля, в результате чего показатели при каждом запуске различаются, а BitLocker запускается в режиме восстановления.

  • Изменение параметра авторизации использования для ключа корневого хранилища доверенного платформенного модуля на значение, неравное нулю.

    Примечание  

    При инициализации доверенного платформенного модуля BitLocker задается нулевое значение авторизации использования, поэтому другой пользователь или процесс должен был явно изменить это значение.

     
  • Отключение проверки целостности кода или включение тестовой подписи в диспетчере загрузки Windows (Bootmgr).

  • Нажатие клавиши F8 или F10 во время загрузки.

  • Добавления или демонтаж дополнительных карт (например, графических карт или сетевых адаптеров) либо обновление встроенного ПО на дополнительных картах.

  • Использование сочетания клавиш в BIOS для загрузки с устройства, отличного от жесткого диска.

Примечание  

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

 

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

Примечание  

Приостановленный BitLocker автоматически возобновляет защиту при перезагрузке компьютера, если количество перезагрузок не указано с помощью программы командной строки manage-bde.

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

 

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

Тестирование восстановления

Прежде чем составлять подробный план восстановления BitLocker, рекомендуем протестировать восстановление как для конечных пользователей (людей, которые обращаются в вашу службу поддержки за паролем восстановления), так и для администраторов (людей, который помогают конечному пользователю получить пароль восстановления). Команда –forcerecovery программы manage-bde позволяет выполнить восстановление до того, как у пользователей возникнет такая необходимость.

Mt404676.wedge(ru-ru,VS.85).gifПринудительное восстановление на локальном компьютере

  1. Нажмите кнопку Пуск, введите текст cmd в поле Начать поиск, щелкните правой кнопкой мыши файл cmd.exe и выберите пункт Запуск от имени администратора.

  2. Введите в командной строке следующую команду и нажмите клавишу ВВОД:

    manage-bde -forcerecovery <Volume>

Mt404676.wedge(ru-ru,VS.85).gifПринудительное восстановление на удаленном компьютере

  1. На начальном экране введите cmd.exe и нажмите Запуск от имени администратора.

  2. Введите в командной строке следующую команду и нажмите клавишу ВВОД:

    manage-bde. -ComputerName <ComputerName>-forcerecovery <Volume>

Примечание  

<ComputerName> представляет имя удаленного компьютера. <Volume> представляет том на удаленной компьютере, защищенный с помощью BitLocker.

 

Планирование восстановления

Планируя восстановление BitLocker, для начала изучите методики восстановления конфиденциальных данных в вашей организации. К примеру, как ваше предприятие поступает с утерянными паролями Windows? Как в вашей организации выполняется сброс ПИН-кодов смарт-карт? Вы можете использовать эти рекомендации и соответствующие ресурсы (людей и инструменты) для создания модели восстановления BitLocker.

Организациям, которые используют шифрование диска BitLocker и BitLocker To Go для защиты данных на большом количестве компьютеров и съемных дисков под управлением операционных систем Windows 10, Windows 8 и Windows 7, а также Windows to Go рекомендуется использовать средства администрирования и мониторинга Microsoft BitLocker (MBAM) версии 2.0, включенного в Microsoft Desktop Optimization Pack (MDOP) для Microsoft Software Assurance. MBAM упрощает развертывание реализаций BitLocker и управление ими, а также позволяет администраторам подготавливать и отслеживать шифрование для диска операционной системы и фиксированных дисков. MBAM предлагает пользователю подтвердить шифрование фиксированных дисков. Кроме того, MBAM управляет ключами восстановления для фиксированных и съемных дисков, упрощая управление восстановлением. MBAM можно использовать в составе развертывания Microsoft System Center или в качестве самостоятельного решения. Дополнительные сведения см. в статье Microsoft BitLocker Administration and Monitoring.

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

Определяя процесс восстановления, сделайте следующее:

Самостоятельное восстановление

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

Получение пароля восстановления

Если у пользователя нет пароля восстановления в печатном виде или на USB-носителе, то он должен иметь возможность получить пароль восстановления из сетевого хранилища. Если компьютер включен в домен, то пароль восстановления можно сохранить в AD DS. Тем не менее, это не происходит по умолчанию. Соответствующие параметры групповой политики должны быть настроены перед включением BitLocker на компьютере. Параметры групповой политики для BitLocker можно найти в редакторе локальных групповых политик или консоли управления групповыми политиками (GPMC), последовательно выбрав пункты Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Шифрование диска BitLocker. Указанные ниже параметры политики определяют методы восстановления, которые можно использовать для восстановления доступа к диску, защищенному BitLocker, если метод проверки подлинности завершается ошибкой или не удается его использовать.

  • "Этот параметр политики позволяет выбрать метод восстановления дисков операционной системы, защищенных с помощью BitLocker".

  • "Этот параметр политики позволяет выбрать метод восстановления несъемных дисков, защищенных с помощью BitLocker".

  • "Этот параметр политики позволяет выбрать метод восстановления съемных носителей, защищенных с помощью BitLocker".

В каждой из этих политик выберите параметр Сохранить данные восстановления BitLocker в доменных службах Active Directory, а затем выберите, какие данные восстановления BitLocker будут сохраняться в доменных службах Active Directory (AD DS). Установите флажок Не включать BitLocker до сохранения данных восстановления в AD DS, если вы хотите запретить пользователям включать BitLocker, когда компьютер не присоединен к домену, а резервное копирование данных восстановления диска BitLocker в AD DS не было выполнено успешно.

Примечание  

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

 

Средство просмотра паролей восстановления BitLocker для инструмента "Пользователи и компьютеры Active Directory" позволяет администраторам домена просматривать пароли восстановления BitLocker для определенных объектов-компьютеров в Active Directory.

Вы можете использовать следующий список в качестве шаблона, чтобы создать собственный процесс для получения пароля восстановления. Этот образец процесса использует средство просмотра паролей восстановления BitLocker для инструмента "Пользователи и компьютеры Active Directory".

Запись имени компьютера пользователя

Вы можете найти пароль восстановления в AD DS по имени компьютера. Если пользователь не знает имя компьютера, попросите его прочитать первое слово метки диска в окне Ввод пароля шифрования диска BitLocker. Это имя компьютера использовалось на момент включения BitLocker и, скорее всего, используется и сейчас.

Проверка личности пользователя

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

Поиск пароля восстановления в AD DS

Найдите объект-компьютер с соответствующим именем в AD DS. Так как имена объектов-компьютеров перечислены в глобальном каталоге AD DS, вы сможете найти объект даже в лесу с несколькими доменами.

Несколько паролей восстановления

Если в объекте-компьютере в AD DS хранится несколько паролей восстановления, то имя объекта данных восстановления BitLocker содержит дату создания пароля.

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

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

Сбор сведений для определения причины восстановления

Прежде чем предоставлять пользователю пароль восстановления, следует собрать все сведения, которые помогут определить, почему оно потребовалось, чтобы проанализировать основную причину после восстановления. Дополнительные сведения об анализе после восстановления см. в разделе Анализ после восстановления.

Предоставление пароля восстановления пользователю

Так как длина пароля восстановления составляет 48 знаков, пользователь должен записать пароль от руки или ввести его на другом компьютере. Если используется MBAM, пароль восстановления будет изменен после его получения из базы данных MBAM во избежание угроз безопасности, связанных с неконтролируемым паролем.

Примечание  

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

 

Анализ после восстановления

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

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

Определение основной причины восстановления

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

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

Рассмотрите следующие вопросы о вашей организации и ответьте на них:

  1. Какой режим защиты BitLocker включен (TPM, TPM + ПИН-код, TPM + ключ запуска, только ключ запуска)? Какой профиль регистра конфигурации платформы используется на компьютере?

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

  3. Если режим включен доверенного платформенного модуля, было ли восстановление вызвано изменением загрузочного файла?

  4. Если восстановление вызвано изменением загрузочного файла, связано ли это с намеренными действиями пользователя (например, обновлением BIOS) или с вредоносными программами?

  5. Когда пользователю в последний раз удалось запустить компьютер, и что могло случиться с компьютером за это время?

  6. Мог ли пользователь столкнуться с вредоносными программами или оставить компьютер без присмотра с момента последнего успешного запуска?

Чтобы ответить на эти вопросы, используйте программу командной строки BitLocker для просмотра текущей конфигурации и режима защиты (например, manage-bde -status). Просканируйте журнал событий на предмет событий, указывающих на причину восстановления (например, изменения загрузочного файла). Оба этих действия можно выполнять удаленно.

Устранение основной причины

Определив причину восстановления, вы можете сбросить защиту BitLocker, чтобы избежать восстановления при каждом запуске.

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

Примечание  

Вы можете выполнить сброс профиля проверки BitLocker, приостановив и возобновив работу BitLocker.

 

Неизвестный ПИН-код

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

Mt404676.wedge(ru-ru,VS.85).gifПредотвращение постоянного восстановления в связи с забытым ПИН-кодом

  1. Разблокируйте компьютер с помощью пароля восстановления.

  2. Сбросьте ПИН-код. Для этого:

    1. Щелкните диск правой кнопкой мыши и выберите пункт Изменить ПИН-код

    2. В диалоговом окне "Шифрование диска BitLocker" нажмите Сброс забытого ПИН-кода. Если вы не вошли с помощью учетной записи администратора, потребуется ввести эти учетные данные.

    3. В диалоговом окне сброса ПИН-кода введите и подтвердите новый ПИН-код, а затем нажмите кнопку Готово.

  3. Новый ПИН-код понадобится при следующей разблокировке диска.

Потерянный ключ запуска

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

Mt404676.wedge(ru-ru,VS.85).gifПредотвращение постоянного восстановления в связи с потерей ключа запуска

  1. Войдите на компьютер с потерянным ключом запуска от имени администратора.

  2. Откройте раздел "Управление BitLocker".

  3. Нажмите Duplicate start up key, вставьте чистый USB-накопитель, на который вы хотите записать ключ, и нажмите кнопку Сохранить.

Изменения загрузочных файлов

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

Windows RE и BitLocker

Среду восстановления Windows (RE) можно использовать для восстановления доступа к диску, защищенному BitLocker или шифрованием устройства. Если компьютеру не удается загрузиться после двух попыток, автоматически запустится средство восстановления при загрузке. При автоматическом запуске восстановления в связи с ошибками загрузки выполняется только восстановление операционной системы и файлов драйверов, если журналы загрузки или любой доступный аварийный дамп указывают на конкретный поврежденный файл. В Windows 8.1 и более поздних версиях устройства, включающие поддержку определенных показателей доверенного платформенного модуля для PCR[7], могут проверять, является ли Windows RE доверенной рабочей средой, и разблокируют все диски, защищенные BitLocker, если среда восстановления Windows не была изменена. Если среда восстановления Windows была изменена, например был отключен доверенный платформенный модуль, то диски останутся заблокированными, пока не будет предоставлен ключ восстановления BitLocker. Если восстановление при загрузке не удается автоматически запустить с компьютера, а вместо этого среда Windows RE запускается вручную с диска восстановления, то для разблокировки дисков, защищенных с помощью BitLocker, необходимо указать ключ восстановления BitLocker.

Использование дополнительных данных восстановления

Помимо 48-значного пароля восстановления BitLocker, в Active Directory хранятся и другие типы данных восстановления. В этом разделе описывается использование этих дополнительных сведений.

Пакет ключей BitLocker

Если методы восстановления, описанные выше в этом документе, не помогли разблокировать том, вы можете использовать средство восстановления BitLocker, чтобы расшифровать том на уровне блока. Этот инструмент использует пакет ключей BitLocker для восстановления зашифрованных данных на сильно поврежденных дисках. Затем вы можете использовать восстановленные данные, чтобы спасти зашифрованные данные, даже если правильный пароль восстановления не помог разблокировать поврежденный том. Тем не менее рекомендуется все-таки сохранить пароль восстановления. Пакет ключей невозможно использовать без соответствующего пароля восстановления.

Примечание  

Чтобы использовать пакет ключей BitLocker, также необходимо средство восстановления BitLocker repair-bde.

 

По умолчанию пакет ключей BitLocker не сохраняется. Чтобы сохранить пакет вместе с паролем восстановления в AD DS, необходимо выбрать параметр Копировать пароль восстановления и пакет ключей в параметрах групповой политики, которые задают метод восстановления. Вы также можете экспортировать пакет ключей из рабочего тома. Дополнительные сведения о том, как экспортировать пакеты ключей, см. в статье Получение пакета ключей BitLocker.

Сброс паролей восстановления

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

Сбросить пароль восстановления можно двумя способами:

  • Используйте manage-bde Вы можете удалить старый пароль восстановления и добавить новый с помощью manage-bde. В процедуре определяются команда и синтаксис для этого метода.

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

Mt404676.wedge(ru-ru,VS.85).gifСброс пароля восстановления с помощью manage-bde

  1. Удалите предыдущий пароль восстановления.

    Manage-bde –protectors –delete C: –type RecoveryPassword
    
  2. Добавьте новый пароль восстановления.

    Manage-bde –protectors –add C: -RecoveryPassword
    
  3. Получите идентификатор нового пароля восстановления. Скопируйте идентификатор пароля с экрана.

    Manage-bde –protectors –get C: -Type RecoveryPassword
    
  4. Создайте резервную копию нового пароля восстановления в AD DS.

    Manage-bde –protectors –adbackup C: -id {EXAMPLE6-5507-4924-AA9E-AFB2EB003692}
    
    Предупреждение  

    В строку идентификатора следует включить фигурные скобки.

     

Mt404676.wedge(ru-ru,VS.85).gifЗапуск примера сценария для паролей восстановления

  1. Сохраните следующий пример сценария в файл VBScript. Пример: ResetPassword.vbs.

  2. В командной строке введите примерно следующую команду:

    cscript ResetPassword.vbs

Важно  

Этот пример сценария настроен только для работы с томом C. Сценарий необходимо настроить в соответствии с томом, на котором требуется тестировать сброс пароля.

 
Примечание  

Для управления удаленным компьютером можно указать его имя вместо имени локального компьютера.

 

Вы можете использовать следующий пример сценария, чтобы создать файл VBScript для сброса паролей восстановления.

' Target drive letter
strDriveLetter = "c:"

' Target computer name
' Use "." to connect to the local computer
strComputerName = "." 


' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------

strConnectionStr = "winmgmts:" _
                 & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                 & strComputerName _
                 & "\root\cimv2\Security\MicrosoftVolumeEncryption"
                 
                 
On Error Resume Next 'handle permission errors

Set objWMIService = GetObject(strConnectionStr)


If Err.Number <> 0 Then
     WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")."
     Wscript.Echo "Ensure that you are running with administrative privileges."
     WScript.Quit -1
End If

On Error GoTo 0

strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'"
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)


If colTargetVolumes.Count = 0 Then
    WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &  strDriveLetter & " on computer " & strComputerName & "."
    WScript.Quit -1
End If


' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
    set objVolume = objFoundVolume
Next


' objVolume is now our found BitLocker-capable disk volume


' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------


' Add a new recovery password, keeping the ID around so it doesn't get deleted later
' ----------------------------------------------------------------------------------

nRC = objVolume.ProtectKeyWithNumericalPassword("Recovery Password Refreshed By Script", , sNewKeyProtectorID)

If nRC <> 0 Then
WScript.Echo "FAILURE: ProtectKeyWithNumericalPassword failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' Removes the other, "stale", recovery passwords 
' ----------------------------------------------------------------------------------

nKeyProtectorTypeIn = 3 ' type associated with "Numerical Password" protector

nRC = objVolume.GetKeyProtectors(nKeyProtectorTypeIn, aKeyProtectorIDs)

If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' Delete those key protectors other than the one we just added. 

For Each sKeyProtectorID In aKeyProtectorIDs

If sKeyProtectorID <> sNewKeyProtectorID Then
nRC = objVolume.DeleteKeyProtector(sKeyProtectorID)

If nRC <> 0 Then
WScript.Echo "FAILURE: DeleteKeyProtector on ID " & sKeyProtectorID & " failed with return code 0x" & Hex(nRC)
WScript.Quit -1
Else
' no output
'WScript.Echo "SUCCESS: Key protector with ID " & sKeyProtectorID & " deleted"
End If
End If

Next

WScript.Echo "A new recovery password has been added. Old passwords have been removed."

' - some advanced output (hidden)
'WScript.Echo ""
'WScript.Echo "Type ""manage-bde -protectors -get " & strDriveLetter & " -type recoverypassword"" to view existing passwords."

Получение пакета ключей BitLocker

Получить пакет ключей можно двумя способами, описанными в разделе Использование дополнительных данных восстановления:

  • Экспорт ранее сохраненного пакета ключей из AD DS. Вам потребуются права на чтение паролей восстановления BitLocker, сохраненных в AD DS.

  • Экспорт нового пакета ключей из разблокированного тома, защищенного BitLocker. Вам потребуются права локального администратора в рабочем томе, предоставленные до его повреждения.

Следующий пример сценария экспортирует все ранее сохраненные пакеты ключей из AD DS.

Mt404676.wedge(ru-ru,VS.85).gifЗапуск примера сценария для получения пакетов ключей

  1. Сохраните следующий пример сценария в файл VBScript. Пример: GetBitLockerKeyPackageADDS.vbs.

  2. В командной строке введите примерно следующую команду:

    cscript GetBitLockerKeyPackageADDS.vbs -?

Вы можете использовать следующий пример сценария, чтобы создать файл VBScript для получения пакета ключей BitLocker из AD DS.

' --------------------------------------------------------------------------------
' Usage
' --------------------------------------------------------------------------------

Sub ShowUsage
   Wscript.Echo "USAGE: GetBitLockerKeyPackageAD [Path To Saved Key Package] [Optional Computer Name]"
   Wscript.Echo "If no computer name is specified, the local computer is assumed."
   Wscript.Echo 
   Wscript.Echo "Example: GetBitLockerKeyPackageAD E:\bitlocker-ad-key-package mycomputer"
   WScript.Quit
End Sub

' --------------------------------------------------------------------------------
' Parse Arguments
' --------------------------------------------------------------------------------

Set args = WScript.Arguments

Select Case args.Count
  Case 1
    If args(0) = "/?" Or args(0) = "-?" Then
    ShowUsage
    Else 
      strFilePath = args(0)
      ' Get the name of the local computer      
      Set objNetwork = CreateObject("WScript.Network")
      strComputerName = objNetwork.ComputerName      
    End If    
      
  Case 2
    If args(0) = "/?" Or args(0) = "-?" Then
      ShowUsage
    Else 
      strFilePath = args(0)
      strComputerName = args(1)
    End If
  Case Else
    ShowUsage

End Select



' --------------------------------------------------------------------------------
' Get path to Active Directory computer object associated with the computer name
' --------------------------------------------------------------------------------

Function GetStrPathToComputer(strComputerName) 

    ' Uses the global catalog to find the computer in the forest
    ' Search also includes deleted computers in the tombstone

    Set objRootLDAP = GetObject("LDAP://rootDSE")
    namingContext = objRootLDAP.Get("defaultNamingContext") ' e.g. string dc=fabrikam,dc=com    

    strBase = "<GC://" & namingContext & ">"
 
    Set objConnection = CreateObject("ADODB.Connection") 
    Set objCommand = CreateObject("ADODB.Command") 
    objConnection.Provider = "ADsDSOOBject" 
    objConnection.Open "Active Directory Provider" 
    Set objCommand.ActiveConnection = objConnection 

    strFilter = "(&(objectCategory=Computer)(cn=" &  strComputerName & "))"
    strQuery = strBase & ";" & strFilter  & ";distinguishedName;subtree" 

    objCommand.CommandText = strQuery 
    objCommand.Properties("Page Size") = 100 
    objCommand.Properties("Timeout") = 100
    objCommand.Properties("Cache Results") = False 

    ' Enumerate all objects found. 

    Set objRecordSet = objCommand.Execute 
    If objRecordSet.EOF Then
      WScript.echo "The computer name '" &  strComputerName & "' cannot be found."
      WScript.Quit 1
    End If

    ' Found object matching name

    Do Until objRecordSet.EOF 
      dnFound = objRecordSet.Fields("distinguishedName")
      GetStrPathToComputer = "LDAP://" & dnFound
      objRecordSet.MoveNext 
    Loop 


    ' Clean up. 
    Set objConnection = Nothing 
    Set objCommand = Nothing 
    Set objRecordSet = Nothing 

End Function


' --------------------------------------------------------------------------------
' Securely access the Active Directory computer object using Kerberos
' --------------------------------------------------------------------------------


Set objDSO = GetObject("LDAP:")
strPathToComputer = GetStrPathToComputer(strComputerName)

WScript.Echo "Accessing object: " + strPathToComputer

Const ADS_SECURE_AUTHENTICATION = 1
Const ADS_USE_SEALING = 64 '0x40
Const ADS_USE_SIGNING = 128 '0x80


' --------------------------------------------------------------------------------
' Get all BitLocker recovery information from the Active Directory computer object
' --------------------------------------------------------------------------------

' Get all the recovery information child objects of the computer object

Set objFveInfos = objDSO.OpenDSObject(strPathToComputer, vbNullString, vbNullString, _
                                   ADS_SECURE_AUTHENTICATION + ADS_USE_SEALING + ADS_USE_SIGNING)

objFveInfos.Filter = Array("msFVE-RecoveryInformation")

' Iterate through each recovery information object and saves any existing key packages

nCount = 1
strFilePathCurrent = strFilePath & nCount

For Each objFveInfo in objFveInfos

   strName = objFveInfo.Get("name")

   strRecoveryPassword = objFveInfo.Get("msFVE-RecoveryPassword")
   strKeyPackage = objFveInfo.Get("msFVE-KeyPackage")

   WScript.echo 
   WScript.echo "Recovery Object Name: " + strName 
   WScript.echo "Recovery Password: " + strRecoveryPassword

   ' Validate file path
   Set fso = CreateObject("Scripting.FileSystemObject")

   If (fso.FileExists(strFilePathCurrent)) Then
 WScript.Echo "The file " & strFilePathCurrent & " already exists. Please use a different path."
WScript.Quit -1
   End If

   ' Save binary data to the file
   SaveBinaryDataText strFilePathCurrent, strKeyPackage
   
   WScript.echo "Related key package successfully saved to " + strFilePathCurrent


   ' Update next file path using base name
   nCount = nCount + 1
   strFilePathCurrent = strFilePath & nCount

Next


'----------------------------------------------------------------------------------------
' Utility functions to save binary data 
'----------------------------------------------------------------------------------------

Function SaveBinaryDataText(FileName, ByteArray)
  'Create FileSystemObject object
  Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
  
  'Create text stream object
  Dim TextStream
  Set TextStream = FS.CreateTextFile(FileName)
  
  'Convert binary data To text And write them To the file
  TextStream.Write BinaryToString(ByteArray)
End Function

Function BinaryToString(Binary)
  Dim I, S
  For I = 1 To LenB(Binary)
    S = S & Chr(AscB(MidB(Binary, I, 1)))
  Next
  BinaryToString = S
End Function

WScript.Quit

The following sample script exports a new key package from an unlocked, encrypted volume.

To run this script, start by saving the code into a VBS file (for example, GetBitLockerKeyPackage.vbs). Then, open an administrator command prompt and use “cscript” to run the saved file (for example, type "cscript GetBitLockerKeyPackage.vbs  -?").



' --------------------------------------------------------------------------------
' Usage
' --------------------------------------------------------------------------------

Sub ShowUsage
   Wscript.Echo "USAGE: GetBitLockerKeyPackage [VolumeLetter/DriveLetter:] [Path To Saved Key Package]"
   Wscript.Echo 
   Wscript.Echo "Example: GetBitLockerKeyPackage C: E:\bitlocker-backup-key-package"
   WScript.Quit
End Sub

' --------------------------------------------------------------------------------
' Parse Arguments
' --------------------------------------------------------------------------------

Set args = WScript.Arguments

Select Case args.Count
  Case 2
    If args(0) = "/?" Or args(0) = "-?" Then
      ShowUsage
    Else 
      strDriveLetter = args(0)
      strFilePath = args(1)
    End If
  Case Else
    ShowUsage

End Select

' --------------------------------------------------------------------------------
' Other Inputs
' --------------------------------------------------------------------------------

' Target computer name
' Use "." to connect to the local computer
strComputerName = "." 

' Default key protector ID to use. Specify "" to let the script choose.

strDefaultKeyProtectorID = ""

' strDefaultKeyProtectorID = "{001298E0-870E-4BA0-A2FF-FC74758D5720}"  ' sample 


' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------

strConnectionStr = "winmgmts:" _
                 & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                 & strComputerName _
                 & "\root\cimv2\Security\MicrosoftVolumeEncryption"
                 
                 
On Error Resume Next 'handle permission errors

Set objWMIService = GetObject(strConnectionStr)


If Err.Number <> 0 Then
     WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")."
     Wscript.Echo "Ensure that you are running with administrative privileges."
     WScript.Quit -1
End If

On Error GoTo 0

strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'"
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)


If colTargetVolumes.Count = 0 Then
    WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &  strDriveLetter & " on computer " & strComputerName & "."
    WScript.Quit -1
End If


' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
    set objVolume = objFoundVolume
Next


' objVolume is now our found BitLocker-capable disk volume


' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------


' Collect all possible valid key protector ID's that can be used to get the package
' ----------------------------------------------------------------------------------

nNumericalKeyProtectorType = 3 ' type associated with "Numerical Password" protector

nRC = objVolume.GetKeyProtectors(nNumericalKeyProtectorType, aNumericalKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

nExternalKeyProtectorType = 2 ' type associated with "External Key" protector

nRC = objVolume.GetKeyProtectors(nExternalKeyProtectorType, aExternalKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If


' Get first key protector of the type "Numerical Password" or "External Key", if any
' ----------------------------------------------------------------------------------

if strDefaultKeyProtectorID = "" Then

' Save first numerical password, if exists
If UBound(aNumericalKeyProtectorIDs) <> -1 Then
strDefaultKeyProtectorID = aNumericalKeyProtectorIDs(0)
End If

' No numerical passwords exist, save the first external key
If strDefaultKeyProtectorID = "" and UBound(aExternalKeyProtectorIDs) <> -1 Then
strDefaultKeyProtectorID = aExternalKeyProtectorIDs(0)
End If 

' Fail case: no recovery key protectors exist. 
If strDefaultKeyProtectorID = "" Then
WScript.Echo "FAILURE: Cannot create backup key package because no recovery passwords or recovery keys exist. Check that BitLocker protection is on for this drive."
WScript.Echo "For help adding recovery passwords or recovery keys, type ""manage-bde -protectors -add -?""."
WScript.Quit -1
End If

End If

' Get some information about the chosen key protector ID
' ----------------------------------------------------------------------------------

' is the type valid?

nRC = objVolume.GetKeyProtectorType(strDefaultKeyProtectorID, nDefaultKeyProtectorType)

If Hex(nRC) = "80070057" Then
WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " is not valid."
WScript.Echo "This ID value may have been provided by the script writer."
ElseIf nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectorType failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' what's a string that can be used to describe it?

strDefaultKeyProtectorType = ""

Select Case nDefaultKeyProtectorType 

  Case nNumericalKeyProtectorType
      strDefaultKeyProtectorType = "recovery password"

  Case nExternalKeyProtectorType
      strDefaultKeyProtectorType = "recovery key"

  Case Else
      WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " does not refer to a valid recovery password or recovery key."
      WScript.Echo "This ID value may have been provided by the script writer."

End Select


' Save the backup key package using the chosen key protector ID
' ----------------------------------------------------------------------------------

nRC = objVolume.GetKeyPackage(strDefaultKeyProtectorID, oKeyPackage)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyPackage failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' Validate file path
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strFilePath)) Then
WScript.Echo "The file " & strFilePath & " already exists. Please use a different path."
WScript.Quit -1
End If

Dim oKeyPackageByte, bKeyPackage
For Each oKeyPackageByte in oKeyPackage
  'WScript.echo "key package byte: " & oKeyPackageByte
  bKeyPackage = bKeyPackage & ChrB(oKeyPackageByte)
Next

' Save binary data to the file
SaveBinaryDataText strFilePath, bKeyPackage

' Display helpful information
' ----------------------------------------------------------------------------------

WScript.Echo "The backup key package has been saved to " & strFilePath & "."

WScript.Echo "IMPORTANT: To use this key package, the " & strDefaultKeyProtectorType & " must also be saved."

' Display the recovery password or a note about saving the recovery key file

If nDefaultKeyProtectorType = nNumericalKeyProtectorType Then

nRC = objVolume.GetKeyProtectorNumericalPassword(strDefaultKeyProtectorID, sNumericalPassword)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectorNumericalPassword failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
WScript.Echo "Save this recovery password: " & sNumericalPassword

ElseIf nDefaultKeyProtectorType = nExternalKeyProtectorType Then
WScript.Echo "The saved key file is named " & strDefaultKeyProtectorID & ".BEK"
WScript.Echo "For help re-saving this external key file, type ""manage-bde -protectors -get -?"""
End If


'----------------------------------------------------------------------------------------
' Utility functions to save binary data 
'----------------------------------------------------------------------------------------

Function SaveBinaryDataText(FileName, ByteArray)
  'Create FileSystemObject object
  Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
  
  'Create text stream object
  Dim TextStream
  Set TextStream = FS.CreateTextFile(FileName)
  
  'Convert binary data To text And write them To the file
  TextStream.Write BinaryToString(ByteArray)
End Function

Function BinaryToString(Binary)
  Dim I, S
  For I = 1 To LenB(Binary)
    S = S & Chr(AscB(MidB(Binary, I, 1)))
  Next
  BinaryToString = S
End Function

См. также

 

 

Показ: