4. Шифрование домашних директорий¶
- Шифрование домашних директорий
- Принцип работы
- Настройка профиля на шифрование
- Как восстановить данные
Начиная с версии 13.6 в Calculate Linux появилась возможность использовать шифрованные домашние директории. Для организации защиты персональных данных используется eCryptfs - файловая система, работающая «поверх» любой другой обычной ФС и прозрачно шифрующая/дешифрующая содержимое файлов. Криптографические метаданные eCryptfs хранит в заголовках каждого файла, таким образом, можно без проблем переносить любой файл между различными системами. Всё это реализовано на уровне ядра Linux, обеспечивая хороший уровень производительности по сравнению с FUSE-шифрованием.
Принцип работы¶
Домашняя папка пользователя с профилем, настроенным на шифрование, содержит только символические ссылки на директории с шифрованными данными. Шифрованные данные пользователей хранятся в каталоге /home/.ecryptfs
и разделены по пользователям, при этом в папке .Private
хранятся данные, в .ecryptfs
- информация по подключению шифрования.
При входе в сеанс /home/.ecryptfs/имя_пользователя/.Private
монтируется в домашнюю директорию. Для этого используется зашифрованный пользовательским паролем ключ: /home/.ecryptfs/имя_пользователя/.ecryptfs/wrapped-passphrase
. Дальше происходят синхронизация профиля пользователя и настройка его при необходимости.
При выходе из сеанса домашняя директория отключается от .Private
.
Данные доменных пользователей также могут быть настроены на шифрование, при этом нужно отметить, что в шифрованном виде эти данные будут находиться на локальной машине, на сервере они находятся в незашифрованном виде. Таким образом обеспечивается безопасность данных, оставленных в пользовательском профиле после выхода из сеанса.
Настройка профиля на шифрование¶
Для того, чтобы активировать данную функцию, систему нужно установить с включенным параметром "Шифровать пользовательские профили" (Crypt user profiles), либо включить переменную main.cl_home_crypt_set
в уже установленной системе.
cl-core-variables --set main.cl_home_crypt_set=on
Шифрование будет настроено только для новых пользователей (тех, у которых нет домашней директории). Включить шифрование для существующего профиля можно при помощи команды ecryptfs-migrate-home
.
ecryptfs-migrate-home -u <имя_пользователя>Команда запросит пароль пользователя.
Для доменных пользователей будет достаточно удалить локальный профиль, когда он не в сеансе, и после этого войти в сеанс.
Стоит отметить, что на настроенный пользовательский профиль значение переменной cl_home_crypt_set
не влияет, то есть если профиль был настроен на шифрование, а система была установлена без шифрования, профиль будет продолжать работать с шифрованием, и наоборот.
Как восстановить данные¶
Если в /home
остался только каталог .ecryptfs
, содержащий шифрованные профили, то достаточно создать таких же пользователей с теми же паролями, и при входе в сеанс домашний каталог пользователя будет использоваться существующий шифрованный профиль.