Как зашифровать / home на Ubuntu 18.04?


57

Разочарован, увидев, что установщик 18.04 больше не предлагает возможность зашифровать домашний каталог. Согласно этому отчету об ошибках, указанному в установщике, рекомендуемый метод шифрования в наши дни - полный диск с LUKS или fscrypt для каталогов. Полное шифрование диска кажется мне немного излишним, и все ошибки и предостережения, упомянутые в вики , не делают его очень привлекательным вариантом. Все, что я действительно хочу, - это защитить мой домашний каталог от доступа к моим документам, фотографиям и т. Д., Если мой ноутбук будет украден, что делает fscrypt для меня.

На странице fscrypt GitHub есть несколько примеров того, как ее настроить, но я не могу найти никакой документации, направленной на шифрование домашнего каталога в Ubuntu. Старый инструмент ecryptfs все еще доступен, но после его настройки Ubuntu иногда зависает на экране входа в систему.

Итак, мой вопрос: как мне настроить fscrypt для шифрования моего / home каталога и расшифровки при входе в систему? Мне также понравилось, как ecryptfs позволяет расшифровывать папку вручную (например, из образов дисков).

(Подобный вопрос был размещен здесь и, к сожалению, закрыт за то, что он является «не по теме» отчет об ошибке. Для пояснения, это не отчет об ошибке. Тот факт, что опция шифрования домашнего каталога была удалена из установщика, была преднамеренной. прошу вот как настроить fscrypt.)


2
@Panther LUKS позволяет расшифровывать файлы, хранящиеся на резервном диске? Причина, по которой я спрашиваю, состоит в том, что я делаю свои полные резервные копии системы из Windows с Macrium Reflect. Если мне нужно вытащить несколько файлов из резервной копии, мне потребуется способ расшифровки файлов резервной копии. С помощью ecryptfs все, что мне нужно было сделать, это подключить мой диск и запустить скрипт, хранящийся в зашифрованной папке.
elight24

7
Так как насчет тех из нас, у кого домашняя папка зашифрована с 16.04, но не может смонтировать ее заново, потому что опция «зашифровать домашнюю папку» теперь отсутствует в программе установки? Мы даже не можем войти. Это смешно.
SunnyDaze

2
@SunnyDaze Прошло некоторое время, так как мне приходилось монтировать свои данные вручную, но я считаю, что команда для этого была "ecryptfs-mount-private".
elight24

3
Возможно, вы путаете использование LUKS на всем диске, это не будет работать с окнами с двойной загрузкой, против использования LUKS на разделе Ubuntu, отлично работает двойная загрузка с окнами. Я не читал вики-страницу
Пантера

2
Полное шифрование диска отлично и делает свою работу. Но этого достаточно, только если это ваш персональный компьютер и вы единственный пользователь. Если кому-то интересно why encrypt the home?, когда много пользователей, это полезно. Когда вы входите в систему, расшифровывается только ваш дом, но не остальные
AnthonyB

Ответы:


25

Обновление 2019-07

Я использую несколько зашифрованных домов с fscrypt. Установите вашу систему без шифрования и используйте это руководство для реализации fscryptв вашем доме.

Будьте уверены, что chmod 700вы дома и / или использовать, umask 077потому что fscrypt не устанавливает автоматически права доступа, как это было ecryptfsраньше.

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

(Эта функция не широко используется на рабочем столе. Используйте на свой страх и риск.)

Обновление 2018-11

TL: DR; Вы можете попробовать fscryptв Ubuntu 18.10+ или Linux Mint 19.1+

Похоже, это было наконец исправлено. Вот упреждающее руководство: http://tlbdk.github.io/ubuntu/2018/10/22/fscrypt.html

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

Предупреждение: предупреждение от пользователя @dpg : « БУДЬТЕ ОСТОРОЖНЫ : я следовал инструкциям из этого« упреждающего руководства »(сделал это под tty) и получил бесконечный цикл входа в систему».

Рассмотрите это руководство только для образовательных целей.

Далее мой оригинальный ответ:

Оригинальный ответ 2018-05

TL; DR: используйте классическое домашнее шифрование с Linux Mint 19 Tara .

fscrypt для дома шифрование все еще не работает.


Как настроить fscrypt для шифрования моего / home каталога и расшифровки при входе в систему?

Это то, что многие из нас хотят. Похоже, что команда Ubuntu не смогла ecryptfsработать без ошибок в Ubuntu 18.04 и не смогла исправить ошибки fscryptдля опции домашнего шифрования во время запланированного выпуска Ubuntu 18.04.

Для fscrypt, по крайней мере, одна критическая ошибка, которая делает его непригодным для домашнего шифрования на данный момент:

Кроме того, нам нужен прозрачный способ аутентификации / разблокировки, прежде чем он станет реалистичной альтернативой «старому» домашнему шифрованию типа ecryptfs. Это отслеживается здесь:

Открыв эти проблемы, вы можете считать, что домашнее шифрование на этом этапе нарушено. При этом мы с коллегами считаем Ubuntu 18.04 18.04.1 незавершенным на данный момент и надеемся, что домашнее шифрование будет восстановлено (с использованием нового и намного лучшего fscryptметода) в Ubuntu 18.04.1 18.04.2.

До этого времени мы придерживаемся Ubuntu 16.04. Мы перевели все наши машины на Linux Mint 19 Tara с классическим домашним шифрованием ecryptfs. Прочитайте раздел «известные проблемы» в Замечаниях по выпуску для Linux Mint 19 Tara об ecryptfsограничениях и посмотрите, приемлемо ли это для вас:

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

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


Обратите внимание, что fscrypt/ ext4-crypt(будущее «шифрование дома») - самый быстрый вариант, а ecryptfs(старое «шифрование дома») - самый медленный вариант. LUKS(«Зашифровать весь диск») находится посередине.

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

В конце концов, шифрование всего диска имеет несколько недостатков:

  • Гостевой аккаунт
  • Семейный ноутбук с личными счетами
  • Использование PREY-подобного программного обеспечения для защиты от краж

Удивительно, что Canonical решила, что «нам это больше не нужно» в своей версии LTS, известной как их более «серьезный» дистрибутив.


2
Ubuntu 18.04.1 была выпущена сегодня, с обоими ошибками. Я надеюсь увидеть fscrypt в 18.04.2, но сейчас я немного менее оптимистичен. Пожалуйста обновите!
Нонни Мус

2
@NonnyMoose обновлен - см. Жирный раздел в середине моего поста.
Redsandro

3
Вау! когда люди обновляются с 16.04 до 18.04, что происходит с их ~!?
MaxB

2
БУДЬТЕ ОСТОРОЖНЫ: я следовал инструкциям из этого «упреждающего руководства» (сделал это под tty) и получил бесконечный цикл входа в систему. Пробовал дважды на свежей установке 18.10 с тем же результатом.
PetroCliff

2
В случае, если кто-то попал в бесконечный цикл входа в систему после шифрования, но может войти в систему через tty. В моем случае это было вызвано неправильным владельцем /home/myuserкаталога. По какой-то причине он был root, поэтому смена владельца на моего пользователя решила проблему.
PetroCliff

8

Из ответа Пантеры здесь Полное шифрование диска шифрует все, включая / home, а шифрование только определенного каталога, такого как / home, шифруется только тогда, когда вы не вошли в систему.

Для шифрования существующего пользователя home dir:

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

установите утилиты шифрования для работы:

 sudo apt install ecryptfs-utils cryptsetup

из этой ошибки на панели запуска ecryptfs-utils теперь находится в репозитории юниверсов.

перенести домашнюю папку этого пользователя:

sudo ecryptfs-migrate-home -u <user>

затем пароль пользователя этой учетной записи

Затем выйдите из системы и войдите в зашифрованную учетную запись пользователя - до перезагрузки! завершить процесс шифрования

Внутри учетной записи распечатайте и запишите пароль восстановления:

ecryptfs-unwrap-passphrase

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

Также, если вы хотите создать нового пользователя с зашифрованным домашним каталогом:

sudo adduser --encrypt-home <user>

Для получения дополнительной информации: man ecryptfs-migrate-home ; man ecryptfs-setup-private


2
Спасибо за ответ, ptetteh. Я попробовал этот метод на днях, но, похоже, он вызывал проблемы при входе в систему. Иногда он зависал на экране входа в систему и приводил к перезагрузке. Я переустанавливал 18.04 только для того, чтобы убедиться, что проблема не в чем-то другом, и пока все в порядке. Если ecryptfs теперь считается неподходящим для включения по умолчанию, я думаю, что для меня будет лучше использовать LUKS или fscrypt.
elight24

1
У меня это работало в чистой установке (18.04.1). Я должен был сделать это в «режиме восстановления». Развертывание не требуется, так как при входе в систему он уведомит вас об этом и попросит записать сгенерированную фразу-пароль. Спасибо!
Лепе

2
ecryptfs не будет работать, если у вас есть более длинные пути (> ~ 140 символов) в вашем домашнем каталоге. См. Unix.stackexchange.com/questions/32795/…
Себастьян Старк,

1

Лично я почти никогда не рекомендовал бы использовать шифрование файловой системы (FSE) кому-либо, для большинства случаев использования. Есть несколько причин, не в последнюю очередь это факт существующих и более эффективных альтернатив. Вы все говорите так, будто есть только два варианта: FSE или FDE (Full Disk Encryption). Однако это просто не тот случай. Фактически, есть два других варианта, которые принесут больше пользы OP, это шифрование контейнеров файлов и зашифрованные архивы.

Шифрование контейнера файлов - это то, для чего написано программное обеспечение, такое как Veracrypt, и теперь уже несуществующий Truecrypt. Контейнерное шифрование встроено в большинство программ архивирования сжатых файлов, таких как Winzip и 7zip, в качестве опции при создании такого архива.

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

Одним из преимуществ того, что контейнеры Veracrypt настолько полезны, является тот факт, что их можно монтировать как диск, и это позволяет форматировать их в отдельной файловой системе, предпочтительно файловой системе без журналирования, такой как EXT2 или FAT32. Журналирование файловой системы потенциально может привести к утечке информации злоумышленнику. Однако, если все, что вы делаете, это скрывает свои личные фотографии, это может быть не совсем уместно для вас. Если, с другой стороны, у вас есть государственные секреты или данные, защищенные законом, то это возможно. Вы также можете настроить их на автоматическое монтирование при загрузке, если используете файл ключа. Однако это не рекомендуется, поскольку файл ключа должен храниться где-то менее надежно, чем в том случае, когда FSE хранит ключ профиля пользователя.

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

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

Шифрование домашнего каталога все еще возможно с шифрованием контейнера. Может быть, хранить свой ключ шифрования на YubiKey?

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


8
Здравствуй. У меня есть некоторые комментарии по поводу вашего примера «няни»: - во-первых, во многих местах люди могут ожидать, что средняя няня будет по умолчанию подростком, что приводит к некоторой тревожной аналогии, переходящей к такой теме. Во-вторых, я просто хочу подтвердить, что есть гораздо лучшие варианты использования для шифрования, чем сокрытие виновного секрета.
mwfearnley

Контейнеры имеют фиксированный размер, шифрование файловой системы (fscrypt, eCryptfs, EncFS и т. Д.) Занимает только столько же места, сколько файлы, и может соответственно увеличиваться и уменьшаться. QED. PS вы, кажется, не знаете, что eCryptfs может зашифровать только один каталог в доме, расшифрованный только по своему усмотрению.
Xen2050

3
Честно говоря, этот ответ полезен, но содержание оскорбительно. Просто из-за того, что шифрование ассоциируется с преступной деятельностью, как будто этого недостаточно в СМИ. Шифрование для защиты от преступной деятельности. Я не могу поднять голос из-за этого. Я удалю этот комментарий, как только произойдет редактирование.
Тодд

1
Обратите внимание, что если вы не можете доверять root (uid: 0), то вы не можете использовать систему для любого шифрования (будь то FSE, контейнер или архив). Все системы шифрования уязвимы, если вы откроете шифрование и выйдете из системы, не заблокировав ее в безопасности. Кроме того, если вы не шифруете всю файловую систему, вы должны понимать, что потенциально все приложения, которые касаются секретных файлов, потенциально могут делать незашифрованные копии за пределами вашего защищенного раздела.
Микко Ранталайнен

0

Если вы, как и я, делаете новую установку Ubuntu 18.04 поверх Ubuntu 16.04 и ранее зашифровали свою /home, вы увидите, что после установки вы не можете войти в систему. Все, что вам нужно сделать, это установить связанные с ecryptfs пакеты: sudo apt install ecryptfs-utils cryptsetupперезагрузиться и войти в систему.

Чтобы установить эти пакеты, вы можете либо войти в систему в свободном tty после загрузки budgie ( Cntrl+ Alt+ F1), либо войти в режим восстановления linux и установить его оттуда.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.