FileVault тільки для / Користувачів / [користувача] папок, ala Snow Leopard


1

Я знаю, що на AskDifferent є багато таких запитань, але я не знайшов жодного, що конкретно стосувався б досить кричучого упущення в більш сучасних Mac OS побудови шифрування домашніх папок користувача за допомогою FileFault.

Я не знаю, коли Apple змінила його, але старі версії OS X FileVault дозволяють шифрувати всі папки користувачів / користувачів / користувачів. Мало того, що це було "можливо", у нього був надзвичайно простий інтерфейс, який здавався заохочувати користувачам відкривати функціональність і робити це.

Наприклад, у мене є 2010 Macbook Pro 6,2 працює Snow Leopard, з індивідуально зашифрованими / Користувачі / [користувача] папки. Це велика і дуже необхідна функція для багатьох випадків використання. (Наприклад, більшість сценаріїв, коли декілька користувачів використовують один і той же MacBook, або вдома, або на роботі).

Я також використовую 2014 Macbook Pro 11,3 працює El Capitan. У FileVault немає такої можливості для шифрування / Користувачі / [користувача]. Це здається величезним кроком назад. Шифрування всього диска - хоча і великого, якщо ви просто втратите ноутбук, поки повністю вимкнений - не зробить нічого для вирішення загального випадку використання, згаданого вище. (Крім того, деякі експерти вважають зашифровані домашні папки - плюс "гостьовий" обліковий запис без пароля [плюс деякий запуск служби відновлення] - хороший спосіб поліпшити свої шанси на відновлення машини. все одно витерти, але краще, ніж нічого.)

Отже, це питання дійсно в двох частинах: 1) Чи є рішення, ідеально рідне, для шифрування для кожного користувача / Користувачів / [користувача]; та 2) Чому Apple видалила таку важливу функцію з FileVault? Може, тільки Apple знає. Але часто «чому» за суперечливими рішеннями публічно добре відомі або принаймні відомі. Напр. пояснюється в блогах розробників, примітках до випусків, відео з конференцій громадських користувачів / розробників, промовах конвенцій, інтерв'ю з розробниками технологічних блогів тощо

Я цілком усвідомлюю, що тривіально легко створити зашифрований файл loopback, який я можу встановити після входу в систему і навіть автоматизувати встановлення, для зберігання конфіденційних документів. Але, як відомо, існує чимало потенційно конфіденційної інформації, зберігаються в автоматичному режимі в / User / [home], за розробкою і за призначенням компанії Apple, включаючи налаштування, які ми навіть не знаємо, що робить кодування кожного користувача / папки користувача / [користувача] імперативним. (Крім того, замість того, щоб використовувати зашифрований файл loopback, я буду використовувати папку eCryptFS, яка використовується спільно через SMB, до VM під керуванням Linux, що є моїм стандартним рішенням на Windows і Mac, коли не запущено Linux.

BTW - я не використовую Time Machine.

Оновлення : Основною причиною шифрування користувача / папки користувача / користувача з унікальними ключами шифрування є захищати дані користувачів від інших користувачів однієї системи . Незважаючи на те, що можна не погодитися з тим, що багато користувачів користуються тими ж правами системи sudo, існує безліч законних випадків використання для цього. FileVault2 тільки "захищає" користувачів один від одного, через дозволи файлів Unix. Але доступ до даних інших людей - це лише "sudo chmod -R". Це не є реальний рішення, до вимоги забезпечення даних користувачів один від одного. Реальне рішення передбачає унікальні ключі шифрування всіх домашніх папок користувачів (/ home / [user] або / Users / [user]). Багато дистрибутивів Linux роблять це тривіально легким, як і старі версії Mac OS X / FileVault.

Оновлення 2 : Системні папки, такі як бібліотека та var "можуть" містити конфіденційні дані користувача - або зберігаються за призначенням недбало розроблених додатків або випадково витікають - але 1) практично ніколи не роблять у реальному світі unix та unix-подібних систем, 2) за умовами не треба робити, і 3) найважливіше - навіть не фізично здатні в епоху збільшення пісочниці - наприклад, mac OS не дозволяє програмам, що працюють в режимі користувача, писати на такі чутливі місця. Крім того, тільки тому, що неправильно пошкоджені та / або шкідливі програми можуть просочити конфіденційні дані користувача в системну папку, це не раціональний аргумент проти вимог користувача чи організації, щоб захистити користувачів sudo один від одного на одній системі. Але замість того, щоб додавати непотрібних дебатів до цього питання, давайте просто оновимо вимогу:

"Захищайте дані користувачів один від одного за допомогою власних унікальних ключів шифрування, які застосовуються до папки кожного користувача / користувача / [користувача], незалежно від того, чи мають будь-які / всі користувачі права sudo, щоб захистити всіх своїх постійних користувачів -модульні дані, за винятком невід'ємно важкого для покриття крайового випадку чутливих даних користувача, які просочилися до глобальних системних папок, що, звичайно, неможливе на рівні ОС, коли програми з пробками в режимі звичайного користувача.


1
Видаліть друге запитання Чому б земля Apple видалила такі ... . Ніхто з нас не очолює керівників Apple. Будь-яка відповідь є спекулятивною і марною, оскільки рішення було прийняте 6 років тому і, здається, є остаточним.
klanomath

Ви не думаєте про це. Шифрування цілого диска також виключає можливість завантаження з іншого диска без пароля. Крім того, чому ви кодуєте кожну папку користувача окремо? Ви також говорите про те, наскільки безпечніше шифрувати всю папку користувачів, через дані, які автоматично розміщуються там. Це також стосується кореневого диска. Папки, такі як бібліотека та var, можуть містити конфіденційні дані, як і папку домашнього користувача.
At0mic

@kanomath - віддалено невірно. Фундаментальне друге питання - «чому». Користувачі часто знають чому постачальники програмного забезпечення & amp; devs виконують спірні ідеї. Наприклад - розробники часто публікують блоги про те, що вони думають; різні міркування часто супроводжують примітки до випуску; Є багато інших шляхів, щоб зрозуміти "чому" зроблені суперечливі речі. Тим не менш, я не слідую за блогами, які слідують за цим матеріалом, але користувачі цього форуму дуже добре. Мотивація може бути добре відома.
bubbles

1
@bubbles насправді, подивіться в / var / folders. Компанія Apple прийняла дивний підхід, де вони зберігають кеш (C) і тимчасові (T) файли всередині цієї папки. Він має ті ж дозволи, що й папка користувача, і ви матимете доступ до папки, яка відповідає вашому користувачеві. Я заглянув у тимчасову папку і знайшов зображення iMessage, і в папці кешу масштабував копії шпалер користувача. Я відчуваю, що це проблема XY, і я думаю, що ваше справжнє питання має стосуватися того, як повністю обмежити доступ інших користувачів до домашніх каталогів інших користувачів.
At0mic

1
FWIW, шифрування по домашній папці користувача захищає лише дані користувача від інших користувачів, якщо користувач вийшов із системи. Якщо вони обидва ввійшли в систему (з швидким перемиканням користувачів), все монтується і не є безпечним. Краще рішення буде в APFS, який може пропонувати файли ключів шифрування даних, дозволяючи лише процесам, яким дозволено доступ до файлу, щоб відкрити його (наприклад, iOS Data Protection).
Alan Shutko

Відповіді:


2

Я настійно рекомендую використовувати повне шифрування FileVault 2 замість використання FileVault 1 wannabe нижче!

Ви можете імітувати поведінку FileVault 1 або за допомогою зашифрованого зображення розрідженого комплекту або другого тома, зашифрованого за допомогою FileVault 2. Два користувачі потрібні, хоча це не елегантне рішення.

Належну резервну копію обсягу системи OS X перед проведенням одного з двох способів нижче, настійно рекомендується!

Приклад інструкції із зображенням розрідженого пакета:

usera : користувач адміністратора - usere : користувач з папкою користувача, яка повинна бути зашифрована

  • як usere створити зашифрований образ розрідженого комплекту - достатньо великий, щоб утримувати всі поточні та майбутні usere зміст

  • змонтуйте зображення і створіть папку з назвою usere і змініть її за допомогою chmod 744 ...

  • вийти як usere і увійдіть як usera
  • відключити "Ігнорувати право власності на цей том" монтованого зображення розрідженого пакета
  • Відкрийте термінал і введіть

    su usere
    
  • Тепер - як користувач usere - копіювати вміст домашньої папки usere до / Томи / назва обсяг sparsebundle / користувача:

    rsync -aAvX /Users/usere/ /Volumes/name_of_sparsebundle_volume/usere
    
  • перейменувати стару домашню папку користувача:

    mv /Users/usere /Users/userebackup
    
  • Вхід usere - тепер ви usera знову
  • link / Volumes / ім'я обсягу sparsebundle / користувачів до / Користувачів:

    sudo ln -s /Volumes/name_of_sparsebundle_volume/usere /Users/usere
    

    Можливо, вам доведеться змінити дозволи м'якої посилання з sudo chown usere:staff /Users/usere і sudo chmod 744 /Users/usere.

  • Тепер вийдіть як usera і увійдіть як usere
  • Перевірте, чи все працює
  • Якщо все нормально, видаліть папку / Users / userebackup:

    rm -Rd /Users/userebackup
    

Приклад інструкції з FileVault 2:

Метод такий самий, за винятком того, що ви повинні шифрувати порожній том (правою кнопкою миші обсяг - & gt; шифрувати об'єм) замість створення розрідженого зображення.


Ви не можете ввійти до системи usere безпосередньо через те, що ні шифровані зображення розрідженого пакета, ні об'єм FileVault 2 не встановлюються під час завантаження системи. Ви або маєте увійти як usera , змонтувати зображення / гучність, вийти як usera & amp; вхід як usere або ви можете увійти в консольний режим, встановити та розблокувати зображення / об'єм і увійти як usere . Останнє не перевірене, тому що я не змусив його працювати у моїй віртуальній машині.


За даними інтернет-джерел зашифровані розріджені розшарування зображення схильні до (шифрування) заголовків корупції. Таке пошкодження заголовка може зробити образ un-unlockable!


Я прийняв цю відповідь, навіть якщо він не відповідає вимогам, які, по суті, відтворюють функціональність FileVault, і навіть якщо я не буду реалізовувати це рішення. Але 1) Він технічно задовольняє вимоги як зазначено ; і 2) Це було дуже добре продумано, виражено і високо цінувалося. Крім того, ви не відповіли на питання "чому", але це нормально - я припускаю, що правда тільки Apple знає, і вони не повідомили, чому в блозі, конференції, примітках до випуску тощо. деякі інші функції, які вони хотіли реалізувати.
bubbles

0

Ви можете використовувати успадковану домашню папку FileVault 1 поряд з повним шифруванням диска FileVault 2. \ t якщо ви запускаєте macOS Sierra 10.12 або раніше.

Висока Sierra знижує підтримку для успадкованого FileVault, хоча і не встановлюватиметься, поки ви не вимкнете шифрування домашньої теки, тому будьте обережні.

Тим не менш, є інструкції налаштування FileVault 1 на новій системі macOS .

Це досить серйозна зміна, так і бути дуже обережні і є кілька резервних копій вашої системи та папок користувачів готовий відновити, якщо щось піде не так.

Замінити jason у прикладі з іменем користувача, налаштованим для вашої системи та Jason Bourne з реальним ім'ям.

dscl . -create /Users/jason
dscl . -create /Users/jason UserShell /bin/bash
dscl . -create /Users/jason RealName "Jason Bourne"
dscl . -create /Users/jason UniqueID 503
dscl . -create /Users/jason PrimaryGroupID 20
dscl . -create /Users/jason HomeDirectory "<home_dir><url>file://localhost/Users/jason/jason.sparsebundle</url></home_dir>"
dscl . -create /Users/jason NFSHomeDirectory /Users/jason
dscl . -passwd /Users/jason "apple"
mkdir /Users/jason
hdiutil create -quiet -encryption AES-256 -volname jason -certificate /Library/Keychains/FileVaultMaster.cer -fs JHFS+ /Users/jason/jason.sparsebundle -passphrase "apple"
chown -R jason:staff /Users/jason
chmod -R 500 /Users/jason
mv /Users/jason /Users/.jason
hdiutil attach -quiet -owners on /Users/.jason/jason.sparsebundle -mountroot /Users/ -nobrowse -passphrase "apple"
ditto "/System/Library/User Template/English.lproj/" /Users/jason
defaults write /Users/jason/Library/Preferences/.GlobalPreferences SuppressLegacyFVAlert 1
chown -R jason:staff /Users/jason
hdiutil detach -quiet /Users/jason
mv /Users/.jason /Users/jason

Якщо ви вже маєте зашифровану папку, ви можете зберегти її для користувача під час оновлення ОС, використовуючи іншого користувача для оновлення MacOS, так що успадкований файл FileVault не може бути видалений автоматично, якщо я пам'ятаю правильно.

Теоретично, остання файлова система Apple APFS, яка стала стандартом для SSDd в MacOS High Sierra, підтримує багаторівневе шифрування в тому сенсі, що ви можете використовувати різні ключі для різних користувачів, хоча це не відображається в інтерфейсі користувача з FileVault з APFS.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.