eCryptfs

eCryptfs - это POSIX-совместимая промышленного уровня файловая система многоуровневого (stacked) шифрования для Линукс. Располагаясь поверх уровня файловой системы, eCryptfs защищает файлы безотносительно к нижележащим файловым системам, типам разделов и пр.

В процессе установки существует опция зашифровать раздел /home. Она автоматически настроит все необходимое для шифрования и монтирования раздела.

В качестве примера в этом разделе будет рассмотрена настройка шифрования /srv с использованием eCryptfs.

Использование eCryptfs

Сначала установим необходимые пакеты. Введите в терминале:

sudo apt-get install ecryptfs-utils

Теперь монтируем раздел, который должен быть зашифрован:

sudo mount -t ecryptfs /srv /srv

У вас поинтересуются некоторыми деталями как ecryptfs будет шифровать данные.

Для проверки, что файлы, помещенные в /srv действительно шифруются, скопируйте каталог /etc/default в /srv:

sudo cp -r /etc/default /srv

Теперь размонтируйте /srv и попробуйте посмотреть файлы:

sudo umount /srv
cat /srv/default/cron

Повторное монтирование /srv с использованием ecryptfs делает данные снова читаемыми.

Автоматическое монтирование шифрованного раздела

Существует пара способов автоматически монтировать файловую систему, зашифрованную ecryptfs, на этапе загрузки. Этот пример использует файл /root/.ecryptfsrc, содержащий опции монтирования, вместе с файлом кодовой фразы, расположенным на USB ключе.

Сначала создадим /root/.ecryptfsrc, содержащий:

key=passphrase:passphrase_passwd_file=/mnt/usb/passwd_file.txt
ecryptfs_sig=5826dd62cf81c615
ecryptfs_cipher=aes
ecryptfs_key_bytes=16
ecryptfs_passthrough=n
ecryptfs_enable_filename_crypto=n
Измените параметр ecryptfs_sig на сигнатуру из файла /root/.ecryptfs/sig-cache.txt.

Далее создадим файл кодовой фразы /mnt/usb/passwd_file.txt:

passphrase_passwd=[secrets]

Теперь добавим необходимые строки в /etc/fstab:

/dev/sdb1       /mnt/usb        ext3    ro      0 0
/srv /srv ecryptfs defaults 0 0

Убедитесь, что USB диск монтируется до шифрованного раздела.

Наконец, перегрузитесь и /srv будет смонтирован с использованием eCryptfs.

Другие утилиты

Пакет ecryptfs-utils включает несколько других полезных утилит:

  1. ecryptfs-setup-private: создает каталог ~/Private для помещения шифрованной информации. Эта утилита может запускаться непривилегированными пользователями для хранения данных защищенными от других пользователей системы.

  2. ecryptfs-mount-private и ecryptfs-umount-private: будут соответственно монтировать и демонтировать пользовательский каталог ~/Private.

  3. ecryptfs-add-passphrase: добавляет новую кодовую фразу в хранилище ключей ядра.

  4. ecryptfs-manager: управляет такими объектами eCryptfs как ключи.

  5. ecryptfs-stat: позволяет вам посмотреть служебную информацию ecryptfs по файлу.

Ссылки

  1. Для дополнительной информации по eCryptfs смотрите страницу проекта на Launchpad.

  2. Есть также татьи в Linux Journal посвященные eCryptfs.

  3. Также для дополнительных опций ecryptfs смотрите страницу руководства ecryptfs.

  4. Страница eCryptfs Ubuntu Wiki также содержит дополнительную информацию.