Перейти к содержанию
  1. Статьи/

BitLocker: как автоматизировать сбор ключей восстановления

·3 минуты
Содержание

Windows при загрузке просит ключ восстановления BitLocker — 48 цифр, которые вы не помните и нигде не записывали. Диск превращается в кирпич с данными внутри.

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

Расскажу про три уровня автоматизации — от простого извлечения ключа до централизованного сбора в сети. И сразу оговорюсь: это история про дисциплину, а не про технологии. Настройка занимает 10 минут, а спасает от потери всего диска.

Извлечение ключа на локальной машине #

Если система загружена и есть права администратора, ключ восстановления (48 цифр) извлекается через PowerShell или командную строку.

Вариант на PowerShell (рекомендую) #

Скрипт находит все зашифрованные диски и выводит их ключи:

Get-BitLockerVolume | ForEach-Object {
    $mount = $_.MountPoint
    $key = $_.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'RecoveryPassword' }
    if ($key) {
        [PSCustomObject]@{
            Drive = $mount
            Key   = $key.RecoveryPassword
        }
    }
}

PowerShell запускайте от имени администратора (Пуск → введите powershell → правый клик → «Запуск от имени администратора»).

Вариант через командную строку #

Утилита manage-bde встроена во все версии Windows с поддержкой BitLocker:

manage-bde -protectors -get C:

В выводе ищите строку «Числовой пароль» (Numeric Password) — это и есть ключ восстановления.

Автоматическое сохранение при включении BitLocker #

Чтобы при шифровании диска ключ сразу уходил в нужное место, процесс автоматизируют скриптом:

# Включаем BitLocker и сохраняем ключ в файл
$BitLockerSetup = Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -RecoveryPasswordProtector
$Key = $BitLockerSetup.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'RecoveryPassword' }

# Записываем ключ в лог-файл
"$env:COMPUTERNAME - $($Key.RecoveryPassword)" | Out-File -FilePath "\\Server\Share\BitLockerKeys.txt" -Append

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

Централизованная автоматизация в домене #

В корпоративной среде локальные файлы не хранят. Ключи уезжают в инфраструктуру автоматически.

Active Directory #

Включается групповая политика: Computer Configuration → Administrative Templates → Windows Components → BitLocker Drive Encryption — там включается сохранение ключей в AD. Ключи привязываются к объекту компьютера: при восстановлении доступа администратор домена забирает их из свойств учётной записи компьютера.

Microsoft Entra ID / Intune #

На устройствах, привязанных к облачному профилю, ключи автоматически загружаются в запись устройства в Entra ID. Ключ забирается через https://account.microsoft.com/devices/recoverykey — достаточно войти под учётной записью, к которой привязано устройство.

Это уже работает на современных ноутбуках с автоматическим шифрованием устройств: Windows включает BitLocker сама, а ключ тихо улетает в аккаунт Microsoft. Многие про это не знают — и зря. Проверить, есть ли ключ в аккаунте, занимает минуту.

Важное ограничение: брутфорс не работает #

Если диск заблокирован экраном BitLocker Recovery при старте ПК, а ключа нет ни в AD, ни в аккаунте Microsoft, ни в сохранённых логах — извлечь его из зашифрованного диска программным путём математически невозможно.

AES-128 и XTS-AES-256 не имеют бекдоров. Перебор 48 цифр — это 10 в 48-й степени комбинаций: таких ресурсов нет даже у крупных компаний. Сервисы «восстановления зашифрованных дисков» работают только когда у вас есть ключ или незашифрованная копия данных.

Что в итоге #

Автоматизация работы с ключами — вопрос дисциплины, а не технологии. Инструменты встроены в Windows, настройка занимает 10 минут.

Если бэкап ключей не настроен, сделайте это сейчас, пока доступ есть:

  1. Проверьте, включён ли BitLocker: manage-bde -status
  2. Извлеките ключи всех дисков и сохраните их вне зашифрованного диска
  3. Убедитесь, что ключ ушёл в аккаунт Microsoft или AD
  4. При включении шифрования на новых машинах используйте скрипт с автосохранением

Экран восстановления наступает неожиданно: после обновления прошивки, сброса BIOS или замены диска. Ключ, сохранённый сегодня, — это данные, которые вы не потеряете завтра.