FileVault: полнодисковое шифрование

Рейтинг: 59.6% · 10 голосов
Подробный курс по macOS для разработчиков и админов: архитектура и Apple Silicon, терминал и zsh, Homebrew и пакеты, launchd и автоматизация, APFS и Time Machine, безопасность (SIP, Gatekeeper, TCC, FileVault), сеть, логи и диагностика, MDM и DDM, контейнеры и виртуализация, восстановление. По официальной документации Apple, актуально на 2026 (macOS 26 Tahoe).
Ответить
Аватара пользователя
Artem_MacAdmin
Сообщения: 47
Зарегистрирован: 11 май 2026, 05:31

FileVault: полнодисковое шифрование

Сообщение Artem_MacAdmin »

Оглавление курса (47)
  1. Что такое macOS: Unix под капотом и место в 2026
  2. Архитектура macOS: XNU, тома и Signed System Volume
  3. Apple Silicon: ARM, Rosetta 2 и отличия от Intel
  4. Установка, обновление и восстановление macOS
  5. Finder, рабочий стол и продуктивность
  6. Системные настройки и их управление из CLI (defaults)
  7. Пользователи и группы: учётные записи и управление
  8. Терминал и zsh: командная строка macOS
  9. CLI на macOS: BSD-команды и отличия от Linux
  10. Настройка zsh: .zshrc, prompt, плагины
  11. Файловая система и права: POSIX, ACL, атрибуты, флаги
  12. Homebrew: пакетный менеджер для macOS
  13. Homebrew глубже: tap, Brewfile, services, обслуживание
  14. Другие пакеты: MacPorts, mas, Nix и App Store
  15. Установка приложений: .app, .dmg, .pkg и Gatekeeper
  16. Управление приложениями и их данные
  17. launchd и launchctl: система запуска macOS
  18. Свои службы и периодические задачи на launchd
  19. Автоматизация: Shortcuts, AppleScript и osascript
  20. Конфигурация как код: defaults, plist и профили
  21. APFS: снапшоты, клоны, контейнеры и шифрование
  22. Управление дисками: diskutil, образы и форматирование
  23. Time Machine и резервное копирование
  24. Внешние диски, форматы и сетевые тома
  25. Модель безопасности macOS: SIP и целостность системы
  26. Gatekeeper, нотаризация и защита от вредоносов
  27. Приватность и TCC: разрешения на доступ
  28. FileVault: полнодисковое шифрование (вы здесь)
  29. Связка ключей и управление секретами
  30. Сетевой экран и защита сети
  31. Сеть в macOS: настройка и инструменты
  32. Диагностика сети на Mac
  33. Общий доступ: SSH, экран, файлы, удалённое управление
  34. Процессы и ресурсы: мониторинг производительности
  35. Логи macOS: unified logging и диагностика
  36. Производительность и энергия: powermetrics, диагностика
  37. Энергия, сон и обслуживание системы
  38. Профили конфигурации и основы MDM
  39. Управление парком Mac: MDM, DDM и zero-touch (2026)
  40. Среда разработчика на Mac: Xcode CLT, git, версии
  41. Контейнеры на Mac: Docker Desktop, OrbStack, Apple container
  42. Виртуализация: Virtualization.framework, UTM, Linux и Windows
  43. Режимы загрузки и восстановление (Apple Silicon)
  44. Сброс, NVRAM, Safe Mode и сброс настроек
  45. Траблшутинг macOS: дерево решений по симптомам
  46. Место на диске и обслуживание системы
  47. Сквозной проект: настройка Mac как у профи + куда расти
Зачем FileVault, если данные на Apple Silicon и так зашифрованы

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

Тут начинается главная путаница 2026 года. На любом Mac с Apple Silicon (вся M-серия) и на Intel-машинах с чипом T2 данные на диске зашифрованы всегда, даже когда filevault выключен. Том APFS шифруется аппаратно ключом, который завязан на уникальный аппаратный идентификатор (UID) внутри Secure Enclave. Возникает резонный вопрос: если шифрование mac и так включено железом, зачем тогда FileVault?

Ответ в том, чем защищён ключ. Когда FileVault выключен, ключ тома (volume encryption key) обёрнут только аппаратным UID Secure Enclave. Это значит: данные нечитаемы, если вынуть микросхемы NAND и припаять в другое устройство, но сам ваш Mac расшифрует том автоматически при загрузке, без пароля. Включил - получил рабочий стол. То есть от честного воришки, который просто включит ваш ноут, аппаратное шифрование не спасает.

FileVault добавляет в эту цепочку обязательное звено - ваш пароль. Когда вы включаете filevault, ключ тома перешифровывается так, что для его получения нужен ключ-шифрующий-ключ (KEK), а KEK выводится из комбинации пароля пользователя и аппаратного UID. Нет пароля (или ключа восстановления) - нет KEK - нет ключа тома - на диске мусор. Вот зачем зашифровать диск mac через FileVault: вы переносите контроль над расшифровкой с автоматики железа на знание пароля живого человека.

Изображение

Как FileVault устроен на Apple Silicon: Secure Enclave и ключи

Разберём механику по слоям, потому что без неё непонятно, почему одни команды работают, а другие нет.
  • Volume encryption key (VEK) - ключ, которым реально шифруется содержимое и метаданные тома Data. Он не меняется при смене пароля - иначе пришлось бы перешифровывать весь диск.
  • Key encryption key (KEK) - ключ, которым обёрнут VEK. Именно его выводят из пароля + UID. Сменил пароль - переобернули VEK новым KEK, диск трогать не надо. Поэтому смена пароля мгновенная.
  • Hardware UID - вшит в Secure Enclave при производстве, не извлекается и не экспортируется в принципе.
  • Recovery key - 24-символьная резервная строка (буквы и цифры), альтернативный способ собрать KEK без пароля пользователя.
Критичный момент: на Mac с Apple Silicon и T2 всё обращение с ключами FileVault происходит внутри Secure Enclave. Ключи шифрования никогда напрямую не попадают в основной процессор и в оперативную память в открытом виде. Даже если злоумышленник полностью контролирует macOS, выудить VEK из ОЗУ дампом памяти у него не выйдет - его там нет. Это качественно иной уровень защиты, чем софтовое шифрование на старых Mac (CoreStorage).

Практический вывод по производительности, и это важный аргумент за то, чтобы включить шифрование mac всем поголовно: аппаратное шифрование почти бесплатно. Контроллер хранилища шифрует и расшифровывает поток на лету, на скорости шины. На Apple Silicon вы не заметите разницы в бенчмарках диска с FileVault и без него - это не как старое софтовое AES, грузившее CPU. Поэтому отговорка "FileVault тормозит" в 2026 году неактуальна.

Включение и проверка: System Settings и fdesetup

Графически: Системные настройки -> Конфиденциальность и безопасность -> FileVault -> Включить. Система спросит, куда девать ключ восстановления mac: сохранить в iCloud (привязать к Apple Account) или создать локальный ключ восстановления, который вы запишете сами. Про этот выбор - отдельно ниже, он принципиальный.

Из терминала рулит утилита fdesetup. Сначала всегда смотрим статус:

Код: Выделить всё

sudo fdesetup status
Возможные ответы и их разбор:

Код: Выделить всё

FileVault is Off.
или, что часто видят на свежей машине после включения:

Код: Выделить всё

FileVault is On.
а на старом софтовом шифровании (CoreStorage) во время первичного прохода вы увидите прогресс:

Код: Выделить всё

FileVault is On.
Encryption in progress: Percent completed = 37.
На Apple Silicon вы этого процента, скорее всего, не увидите: том уже зашифрован аппаратно, поэтому включение FileVault не запускает многочасовой проход по диску, а лишь перевязывает ключи. Включается практически мгновенно - ещё один плюс архитектуры.

Кто имеет право разблокировать том - смотрим список включённых пользователей:

Код: Выделить всё

sudo fdesetup list

Код: Выделить всё

admin,A1B2C3D4-1111-2222-3333-444455556666
maria,7788AABB-CCDD-EEFF-0011-223344556677
Слева логин, справа GUID учётки. В этом списке только пользователи с Secure Token (про него - следующая секция). Если коллега есть в системе, но его нет в этом списке, на экране FileVault он свой пароль ввести не сможет - и это типичные грабли в организациях.

Включение из CLI с указанием пользователя формально есть, но Apple официально объявила его deprecated начиная с macOS 10.15 - способ "fdesetup enable с передачей логина и пароля" в будущих версиях уберут. На управляемом парке включают FileVault через MDM (отложенное включение), а не скриптом с паролем в открытом виде. Запоминаем это как факт, а не делаем такой автоматизацией пароли видимыми в логах.

Secure Token: кто вообще может включить и разблокировать FileVault

Это узел, об который спотыкаются чаще всего, и он напрямую связан с уроком про пользователей. Secure Token - это обёрнутая версия KEK, защищённая паролем конкретного пользователя. Без Secure Token учётка не участвует в FileVault: не может включить его, не появляется на экране разблокировки, её нельзя добавить в fdesetup.

Логика выдачи токена коварна:
  • Первый пользователь, заведённый через Setup Assistant при первичной настройке, получает Secure Token автоматически.
  • Когда пользователь с токеном создаёт нового пользователя в Системных настройках, новому тоже выдаётся токен.
  • А вот учётка, созданная "сухо" - через sysadminctl, dscl или пакетом в автоматизированном развёртывании до первого входа кого-либо с токеном, - токена не получает. Войти-то она войдёт, но на экране FileVault окажется бесправной.
Проверить наличие токена у пользователя:

Код: Выделить всё

sysadminctl -secureTokenStatus maria

Код: Выделить всё

2026-06-15 12:04:11.337 sysadminctl[5512:118822] Secure token is ENABLED for user maria
Выдать токен другой учётке можно только руками того, у кого токен уже есть (нужны его логин и пароль):

Код: Выделить всё

sysadminctl -secureTokenOn maria -password - -adminUser admin -adminPassword -
Дефис вместо пароля - чтобы sysadminctl спросил пароли интерактивно и они не утекли в историю shell и в ps. Это правильная привычка.

В управляемом парке проблему "у учётки нет токена" решает Bootstrap Token: MDM при первой авторизации сохраняет на сервере токен, которым потом автоматически наделяет новые мобильные/сетевые учётки и админа развёртывания, не требуя живого человека с паролем. На Apple Silicon тот же Bootstrap Token дополнительно авторизует установку обновлений ОС и расширений ядра. Для Mac-админа парка это базовый кирпич: нет Bootstrap Token - начинается ручная пляска с Secure Token на каждой машине.

Ключ восстановления, институциональный ключ и восстановление доступа

Ключ восстановления mac - ваша страховка на случай забытого пароля. Варианта два.

Личный ключ восстановления (Personal Recovery Key, PRK) - те самые 24 символа. На экране входа жмёшь Shift-Option-Return вместо пароля, вводишь ключ - том разблокируется, дальше система предложит задать новый пароль. Тот же ключ работает в recoveryOS. Запиши его офлайн (бумага, менеджер паролей на другом устройстве) - в файле на этом же зашифрованном диске он бесполезен, диск-то заблокирован.

Хранение в iCloud - это когда ключ кладётся к вашему Apple Account и восстановление идёт через Apple. Удобно для одного пользователя, плохо контролируемо для организации.

Институциональный ключ (Institutional Recovery Key, IRK), исторически "FileVault Master" - один ключ-сертификат на весь парк, которым админ может разблокировать любую корпоративную машину. Генерируется парой ключей, приватная часть хранится у админов в безопасном месте. Но честное предупреждение из документации Apple: на Mac с Apple Silicon ценность IRK резко упала. Причины две - IRK нельзя использовать для входа в recoveryOS, и режим внешнего диска (target disk mode) больше не поддерживается, так что подключить том к другому Mac и расшифровать IRK не выйдет. В 2026 для парка Apple Silicon правильный путь - не IRK, а escrow ключа восстановления через MDM: каждая машина при включении FileVault сдаёт свой персональный ключ на MDM-сервер, и оттуда вы его достаёте при инциденте, плюс умеете ротировать.

Если пароль забыт и ключа нет вовсе - данные потеряны навсегда, без вариантов. Это не баг, это весь смысл шифрования. Поэтому связка "включил FileVault" и "ключ восстановления сохранён и проверен" - неразрывная.

Резервный ключ можно получить заново (например, чтобы сдать в хранилище), если у вас есть пароль рабочей учётки с токеном:

Код: Выделить всё

sudo fdesetup changerecovery -personal

Код: Выделить всё

Enter the password for user 'admin':
New personal recovery key = 'KZQM-9F4T-XR2P-7H6B-LN3D-WV8C'
Команда выдаёт новый личный ключ и аннулирует старый. Удобно после увольнения сотрудника, знавшего прежний ключ. А узнать, какие способы разблокировки сейчас вообще активны на машине:

Код: Выделить всё

sudo fdesetup list -extended
Управление через MDM и Declarative Device Management

Для одной личной машины хватает Системных настроек. Для парка в 2026 стандарт - управление через MDM, причём индустрия переезжает на Declarative Device Management (DDM): устройство само следит за соблюдением политики и проактивно репортит статус, а не ждёт опроса с сервера. Типовой набор того, что задаёт MDM по FileVault:
  • Принудительное включение FileVault с отложенным стартом - шифрование включится при следующем входе/выходе пользователя, без передачи паролей наружу.
  • Автоматический escrow персонального ключа восстановления на сервер и периодическая ротация ключа.
  • Раздача Bootstrap Token, чтобы новые и сервисные учётки получали Secure Token без ручного вмешательства.
Связка проста: DDM/MDM держит политику и ключи, Bootstrap Token раздаёт Secure Token, escrow страхует от потери ключа. fdesetup остаётся инструментом точечной диагностики и редких ручных операций на конкретной машине, а не способом катить шифрование на сотни маков.

Типичные грабли
  • "Включил FileVault скриптом - а пользователь не может разблокировать." Учётка создана без Secure Token. Лечится выдачей токена через sysadminctl -secureTokenOn или Bootstrap Token из MDM.
  • "Думал, аппаратного шифрования достаточно." Без FileVault Mac расшифровывает том сам при загрузке. От кражи включённого/спящего ноутбука это не защищает - нужен пароль на расшифровку, то есть FileVault.
  • "Ключ восстановления лежал в заметке на рабочем столе." Он на том же зашифрованном диске и при заблокированном томе недоступен. Храни офлайн или в escrow MDM.
  • "Жду IRK как палочку-выручалочку на Apple Silicon." IRK там почти бесполезен (нет target disk mode, не пускает в recoveryOS). Используй escrow персональных ключей через MDM.
  • "fdesetup enable с логином и паролем в скрипте." Этот режим deprecated с 10.15 и светит пароль в логах. Включай через MDM с отложенным стартом.
  • "После замены логической платы или сброса Secure Enclave доступ пропал." Ключи завязаны на UID конкретного Secure Enclave. Резервная копия и проверенный ключ восстановления - обязательны.
Мини-лаба (повторить руками)
  • Проверь текущее состояние: sudo fdesetup status. Зафиксируй, On или Off.
  • Посмотри, кто допущен к разблокировке: sudo fdesetup list. Сопоставь логины со своими учётками.
  • Проверь Secure Token у своей и у второй учётки: sysadminctl -secureTokenStatus <логин>. Найди учётку без токена, если есть.
  • Если FileVault выключен - включи через Системные настройки, выбери локальный ключ восстановления, выпиши 24 символа на бумагу и убери из дома.
  • Сгенерируй новый личный ключ: sudo fdesetup changerecovery -personal. Убедись, что старый перестал работать (мысленно: он аннулирован).
  • Перезагрузись и на экране входа нажми Shift-Option-Return - проверь, что разблокировка ключом восстановления реально срабатывает. Это и есть боевая проверка страховки.
Контрольные вопросы
  • Данные на Apple Silicon зашифрованы и без FileVault. Что конкретно добавляет включение FileVault и от какой угрозы оно реально защищает?
  • Почему смена пароля пользователя происходит мгновенно и не требует перешифровки всего диска? Какие ключи при этом меняются, а какие нет?
  • Учётка заведена через sysadminctl в скрипте развёртывания и не видит экрана разблокировки FileVault. В чём причина и как починить - вручную и через MDM?
  • Почему институциональный ключ (IRK) на Apple Silicon почти бесполезен и что используют вместо него в парке в 2026 году?
Итог

FileVault на современном Mac - это не "шифрование диска" (диск уже зашифрован железом), а замок на ключ от шифрования: он требует пароль или ключ восстановления, чтобы собрать KEK и расшифровать том. Вся работа с ключами идёт в Secure Enclave, поэтому шифрование быстрое и устойчивое к дампу памяти. Главное на практике - понимать Secure Token (кто допущен), не терять ключ восстановления mac и в парке управлять всем через MDM/DDM с escrow и Bootstrap Token. Утилита fdesetup - твой нож для диагностики: status, list, changerecovery. Включил, ключ сохранил, проверил разблокировку - спишь спокойно, даже если ноут уехал в чужом такси.
👍4 ❤️ 🔥1 😄 🤔
Аватара пользователя
middlecoredump
Сообщения: 1
Зарегистрирован: 29 май 2026, 20:47

Re: FileVault: полнодисковое шифрование

Сообщение middlecoredump »

Долго не понимал, зачем FileVault если M-чип и так шифрует. Теперь дошло: без него мак сам расшифровывает том при старте, пароль вообще не спрашивая. Спасибо, разложили по полкам.
👍1 ❤️1 🔥 😄 🤔
Аватара пользователя
Saavedra
Сообщения: 1
Зарегистрирован: 30 май 2026, 21:05

Re: FileVault: полнодисковое шифрование

Сообщение Saavedra »

Поймал ровно эти грабли на работе: завёл сервисную учётку через sysadminctl в скрипте, а она потом не видит экран разблокировки FileVault. Оказалось нет Secure Token. Bootstrap Token из MDM закрыл вопрос.
👍 ❤️ 🔥2 😄 🤔
Ответить
← Предыдущая глава
Приватность и TCC: разрешения на доступ
Следующая глава →
Связка ключей и управление секретами

Все главы курса «macOS для профи: администрирование, терминал и Homebrew»

Поделиться темой: ✈ Telegram VK
Похожие запросы: Файловая система APFSУправление дисками на MacРезервное копирование Mac (Time Machine)Безопасность macOSШифрование диска на Mac

Вернуться в «macOS для профи: администрирование, терминал и Homebrew»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость