Как зашифровать домашнюю папку linux mint

Обновлено: 04.07.2024

Для организации защиты персональных данных вы можете зашифровать директории пользвоателя при помощи eCryptfs. eCryptfs - это файловая система, работающая "поверх" любой другой обычной ФС и прозрачно шифрующая/дешифрующая содержимое файлов. Криптографические метаданные eCryptfs хранит в заголовках каждого файла. Таким образом, можно без проблем переносить любой файл между различными системами. Всё это реализовано на уровне ядра Linux, обеспечивая хороший уровень производительности по сравнению с FUSE-шифрованием.

Принцип работы

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

При входе в сеанс /home/.ecryptfs/<логин>/.Private монтируется в домашнюю директорию. Для этого используется зашифрованный пользовательским паролем ключ /home/.ecryptfs/<логин>/.ecryptfs/wrapped-passphrase. Дальше происходят синхронизация профиля пользователя и настройка его при необходимости. При выходе из сеанса домашняя директория отключается от .Private.

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

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

Для того, чтобы активировать данную функцию, систему нужно установить с включенным параметром "Шифровать пользовательские профили" (Crypt user profiles), либо включить переменную в уже установленной системе:

cl-core-variables --set main.cl_home_crypt_set=on

Шифрование будет настроено только для новых пользователей (тех, у которых нет домашней директории). Включить шифрование для существующего профиля можно при помощи утилиты ecryptfs-migrate-home .

ecryptfs-migrate-home -u <логин>

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

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

Как восстановить данные

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


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

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

Подготовка

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

sudo apt install ecryptfs-utils cryptsetup


Вы не сможете зашифровать домашний каталог пока вы в системе. А поэтому нужно будет создать еще одного пользователя с полномочиями администратора в утилите Параметры. Чтобы ее открыть кликните на своем имени в правом углу панели и выберите пункт Настройки затем Пользователи:


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


После создания пользователя выйдите из системы. Надо выбрать именно Завершить сеанс, смена пользователя не подойдёт:


Шифрование домашней папки

Теперь вы готовы зашифровать домашний каталог Ubuntu. Выберите только что созданного пользователя и войдите в систему:


Выполните следующую команду для шифрования своей домашней папки, заменив sergiy на имя своего основного пользователя:

sudo ecryptfs-migrate-home -u sergiy


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

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

Выйдите и войдите в систему под основной учетной записью, только не перезагружайтесь:


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


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

Шифрование swap раздела в Ubuntu

Если вы шифровали домашнюю папку во время установки Ubuntu, swap раздел будет зашифрован автоматически. Но в нашем случае если вы хотите зашифровать swap нужно выполнить команду:


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

Очистка временных файлов

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


Для удаления выполните в терминале подобную команду:

sudo rm -rf /home/sergiy.random

Будьте осторожны, так как случайно можно удалить и основной домашний каталог, если имя будет введено неверно.

Выводы

Вот и все, теперь вы знаете как зашифровать домашнюю папку ubuntu. Это совсем несложно. Если у вас остались вопросы, спрашивайте в комментариях!

Если вы цените свои личные данные и пароли, зашифруйте свою домашнюю папку

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

Если вы пользователь Linux, сделайте то же самое. Создайте живой Linux USB и загрузитесь в него. Теперь смонтируйте и откройте ваш домашний раздел Linux. Если вы не зашифровали свой домашний раздел, вы сможете получить доступ ко всему.

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

Какие данные вы храните на своем компьютере?

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

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

Итак, ваша домашняя папка не зашифрована

Если вы уже установили Linux и не выбрали вариант шифрования домашнего раздела, у вас есть три варианта:

  • Ничего не делай, потому что у тебя ничего не стоит красть.
  • Переустановите операционную систему и выберите опцию encrypt-your-home-folder.
  • Зашифруйте свой домашний раздел сейчас вручную.

Очевидно, что лучшим вариантом, если у вас уже установлен Linux, является ручное шифрование вашей домашней папки.

Как зашифровать домашнюю папку вручную

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

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

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

Войдите в новую временную учетную запись администратора .

Чтобы зашифровать домашнюю папку, введите:

Войдите в исходную учетную запись и завершите процесс шифрования.

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

Многие обращали внимание на предложение Ubuntu во время установки зашифровать домашний каталог пользователя. Я до недавних пор всегда его игнорировал из соображений «хрен знает, что они там выдумали, разбираться неохота», но однажды любопытство пересилило и нашлось свободное для познания сей тайны время. Всех, кому интересно, приглашаю под кат.



Лучший способ научиться чему-то — это сделать самостоятельно. В качестве подопытного кролика было решено взять Debian 6.0.3, оказавшуюся под рукой и не шифровавшей домашние каталоги пользователей. На ней весь процесс и производился. Если у вас в качестве ОС используется нечто совсем далёкое, гарантий, что процесс настройки будет таким же — никаких.

Как это работает

Для организации защиты ваших персональных данных в Ubuntu разработчики предпочли eCryptfs — файловую систему, работающую «поверх» любой другой обычной ФС и прозрачно шифрующую/дешифрующую содержимое файлов. Криптографические метаданные eCryptfs хранит в заголовках каждого файла, таким образом вы можете без проблем переносить любой файл между различными системами. Всё это счастье реализовано на уровне ядра Linux, обеспечивая хороший уровень производительности по сравнению с FUSE-шифрованием (например, EncFS).

Установка

Всё, что нужно для работы eCryptfs, во всех современных Linux-дистрибутивах имеются по умолчанию «из коробки». Если же ядро Linux вы собирали самостоятельно, то удостоверьтесь, что в вашей сборке присутствует необходимый модуль:

Далее, для работы с eCryptfs нам понадобятся userspace-инструменты, которые в Debain/Ubuntu легко устанавливаются из пакета:

Монтирование eCryptfs

Чтобы лучше понять и увидеть на практике, как работает eCryptfs, смонтируем какой-нибудь каталог и посмотрим, что происходит в реальности. Для начала создадим пустой каталог, который будем шифровать:

Теперь смонтируем созданный каталог используя eCryptfs:

Обратите внимание, что исходным и целевым каталогом команде mount указан один и тот же каталог. Это несколько «нетрадиционно» для операции монтирования, однако вполне допустимо и удобно. Если вас это запутывает, вы можете использовать разные точки с более осмысленными именами, вроде:

После ввода команды вам необходимо ввести пароль для ключа шифрования:

Введите пароль, не забывая о том, что его утеря будет означать невозможность получения данных! После ввода пароля вам будет предложено выбрать алгоритм шифрования, с по-умолчанию выбранным AES:

Далее вам необходимо выбрать размер ключа:

Значением следующей опции вы разрешаете или запрещаете доступ к файлам, которые не были зашифрованы при помощи eCrypfs:

Шифровать или нет имена файлов:

Далее вы увидите сводку выбранных опций (их можно использовать в опциях монтирования в будущем):

Если вы впервые монтируете и/или сигнатура этого монтирования не сохранена в кэше, то вас вежливо предупредят о том, что вы могли ввести пароль неверно:

Если всё ок, можно подтверждать монтирование:

Чтобы избежать в будущем появления вышеуказанного предупреждения, вы можете добавить сигнатуру монтирования eCryptfs в файл:

Теперь скопируем что-нибудь в смонтированный каталог:

Посмотрим его содержимое и размер:

Теперь отмонтируем eCryptfs и посмотри, как изменился наш файл:

Заглянув же вовнутрь файла, вы увидите там лишь двоичные данные.

pam_ecryptfs

Ещё одной довольно интересной и полезной штукой, идущей в поставке eCryptfs, является PAM-модуль pam_ecryptfs. Вызывается этот модуль во время логина пользователя и работает следующим образом. Если в домашнем каталоге обнаруживается файл

/.ecryptfs/wrapped-passphrase, а также файл

/.ecryptfs/auto-mount то модуль pam_ecryptfs расшифровывает содержимое файла

/.ecryptfs/wrapped-passphrase, используя пароль пользователя. Далее расшифрованное содержимое используется в качестве пароля при монтировании каталога

/Private. Таким образом, пользователю не нужно дополнительно монтировать каталог с личными зашифрованными данными, всё происходит автоматически. Для того, чтобы модуль работал, он должен быть соответствующим образом объявлен в /etc/pam.d/common-auth:

и в /etc/pam.d/common-session:

Зашифрованный персональный каталог Private

Чтобы пользователям было сухо и комфортно при самостоятельном создании Private-каталогов, разработчики включили в поставку eCryptfs специальный shell-скрипт ecryptfs-setup-private, который делает всю работу по подготовке персонального шифрованного хранилища:

Работает сценарий очень просто и при запуске в режиме «по умолчанию» не требует никаких дополнительных параметров:

На следующий запрос введите ваш пароль, который используете при аутентификации в системе:

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

Очередное напоминание для забывчивых:

создание файлов, каталогов и тестирование:

Заново авторизуйтесь с системе и посмотрите, смонтировался ли каталог

Всё отлично, самое время проверить работоспособность нашего нового хранилища:

Теперь, когда вы выйдите из системы, модуль pam_ecryptfs автоматически размонтирует точку

/Private, таким образом оставив ваши данные в зашифрованном каталоге

/.Private. Если вы не хотите, чтобы каталог

/Private монтировался и/или размонтировался автоматически, удалите соответственно файл

Также имейте ввиду, что сценарий ecryptfs-setup-private принимает ряд опций, при помощи которых вы можете управляет его поведением:

Полное шифрование домашнего каталога

Идея хранения критически-важных данных в отдельном каталоге очень даже недурна собой, но не лишена очевидного недостатка. А именно: вы обязаны постоянно выбирать, что нужно шифровать, а что не нужно. Ну, или хранить вообще всё в Private-каталоге, что, мягко-говоря, не очень удобно. Вместо того, чтобы выделять отдельный каталог, не лучше ли зашифровать вообще весь домашний каталог? Именно это и предлагает вам Ubuntu при установке, и именно eCryptfs она для этого использует!

Если вы при установке выбрали опцию, показанную на скриншоте в начале статьи, то вы уже являетесь счастливым защищённым от врага пользователем. Если же это не так, но вам очень хочется спрятать от чужих глаз свои данные в случае чего и вы уже поняли, что eCryptfs — это именно то, что вам нужно для этого, то нет проблем!

Основная загвоздка при полном шифровании домашнего каталога состоит в том, что необходимо «вынести» каталог с зашифрованными данными за пределы точки монтирования. Разработчики Ubuntu решили проблему очень просто:

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

/.ecryptfs/Private.mnt и указывает на домашний каталог пользователя, т. е., в данном случае, на /home/ashep. Гениально и просто!

Чтобы избавить вас от необходимости перемещать файлы и настраивать вручную все пути и символические ссылки, разработчики предлагают shell-сценарий ecryptfs-migrate-home, который проделает всю «грязную» работу за вас. Также разработчики предупреждают о том, что этот сценарий может сделать ваши данные недоступными, если вдруг что-то пойдёт не так, поэтому обязательно сделайте резервную копию перед тем, как будете запускать скрипт! Также перед запуском убедитесь, что в системе установлены утилиты rsync и lsof, а также в том, что на разделе, где находится /home, имеется достаточно свободного места.

Сценарий необходимо запускать от root, передав в качестве параметра логин пользователя, который «мигрирует». Пользователь не должен находится в системе, а также от его имени не должно быть запущено ни одного процесса.

Если всё пройдёт успешно, то, как требует сценарий, мигрировавший пользователь должен войти в систему до перезагрузки. Также обратите внимание, что скрипт оставляет копию незашифрованных данных в отдельном каталоге (в приведённом примере это /home/ashep.81yFQbNJ), который необходимо удалить после того, как пользователь определит, что всё прошло успешно.

Теперь, когда мигрировавший пользователь войдёт в систему, его домашний каталог будет смонтирован следующим образом:

/.Private является символической ссылкой на каталог за пределами домашней папки:

eCryptfs и шифрование домашнего каталога в Linux : 4 комментария

Признаться, классная, объёмная и полезная статья. Я обычно использую truecrypt или же шифрую нужные данные с помощью gpg, но это все вручную. Любой, кто поменяет пароль от рута на моей учётке, без проблем откроет и браузер, где сохранены пароли на некоторые форумы, к примеру. Тут, как я понимаю, будет сложнее добыть информацию.

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

А eCryptfs понравилась мне лично из-за того, что умеет делать модуль pam_ecryptfs. В остальном — всё те же алгоритмы и уровень защиты.

Привет всем, при установке ubuntu server также надо шывровать домашний каталог?

p.s. Наперед спасибо за ответ

проверил на debian 6

зашифровал дом. каталог пользователя test

и вуаля — все файлы доступны

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

Читайте также: