Как использовать EncFS на Debian Jessie
Важное: в проекте обнаружены уязвимости (аудит показал возможные атаки и утечки через анализ времени), поэтому для критичных сценариев рассматривайте альтернативы, например LUKS/cryptsetup или VeraCrypt.
К чему это руководство
Это руководство объясняет, как установить и использовать EncFS на Debian Jessie. Оно ориентировано на локальное шифрование данных пользователя (desktop/laptop). Короткие определения:
- FUSE: библиотека для реализации файловых систем в пространстве пользователя.
- Pass-through файловая система: шифрование выполняется «на лету» поверх существующей FS, а не на уровне блочного устройства.
Предварительное замечание
В примерах используется имя пользователя till на системе Debian Jessie. Подставьте своё имя пользователя и пути при необходимости.
Установка EncFS
Войдите как root на сервер или рабочую машину (или используйте sudo). Установите пакет через apt:
apt-get -y install encfsПосле установки вы получите предупреждение безопасности, похожее на следующее (сохранено из оригинала):
Encfs security information
According to a security audit by Taylor Hornby (Defuse Security), the current implementation of Encfs is vulnerable or potentially vulnerable to multiple types of attacks. For example, an attacker with read/write access to encrypted data might lower the decryption complexity for subsequently encrypted data without this being noticed by a legitimate user, or might use timing analysis to deduce information.
Until these issues are resolved, encfs should not be considered a safe home for sensitive data in scenarios where such attacks are possible. Это означает: если на ту же файловую систему могут писать третьи лица или у вас угроза локального злоумышленника с правом записи, EncFS может быть недостаточно надёжен.
Вы можете почитать man-страницу для дополнительных опций:
man encfsИспользование EncFS — практические шаги
Создадим два каталога в домашней папке: encrypted для зашифрованных данных и decrypted — точку монтирования.
mkdir -p ~/encrypted
mkdir -p ~/decryptedПодключение (монтирование) каталога выглядит так:
encfs ~/encrypted ~/decryptedПри первом запуске EncFS предложит режим конфигурации и запросит пароль. Пример сеанса (с сохранением оригинальных подсказок):
till@desktop1:~$ encfs ~/encrypted ~/decrypted
Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?> <-- pParanoia configuration selected.Configuration finished. The filesystem to be created has
the following properties:
Filesystem cipher: "ssl/aes", version 3:0:2
Filename encoding: "nameio/block", version 3:0:1
Key Size: 256 bits
Block Size: 1024 bytes, including 8 byte MAC header
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File data IV is chained to filename IV.
File holes passed through to ciphertext.-------------------------- WARNING --------------------------
The external initialization-vector chaining option has been
enabled. This option disables the use of hard links on the
filesystem. Without hard links, some programs may not work.
The programs 'mutt' and 'procmail' are known to fail. For
more information, please see the encfs mailing list.
If you would like to choose another configuration setting,
please press CTRL-C now to abort and start over.Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely
no recovery mechanism. However, the password can be changed
later using encfsctl.New Encfs Password: <-- enter a secure password
Verify Encfs Password: <-- enter a secure password
till@desktop1:~$Важно: запомните пароль. Без него восстановить данные невозможно.
После успешного монтирования вы увидите запись о файловой системе в выводе mount и df -h:
mounttill@desktop1:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
...
encfs on /home/till/decrypted type fuse.encfs (rw,nosuid,nodev,relatime,user_id=5004,group_id=5005,default_permissions)df -htill@desktop11:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 57G 2.2G 52G 5% /
...
encfs 57G 2.2G 52G 5% /home/till/decryptedЧтобы сохранить данные в зашифрованном виде, поместите их в ~/decrypted как в обычный каталог:
cd ~/decrypted
echo "hello foo" > foo
echo "hello bar" > bar
ln -s foo foo2В каталоге decrypted вы увидите файлы в незашифрованном виде:
ls -ltill@desktop1:~/decrypted$ ls -l
total 8
-rw-r--r-- 1 till till 10 Jan 14 10:38 bar
-rw-r--r-- 1 till till 10 Jan 14 10:38 foo
lrwxrwxrwx 1 till till 3 Jan 14 10:38 foo2 -> foo
till@desktop1:~/decrypted$А в каталоге encrypted файлы будут зашифрованы и называться случайными именами:
cd ~/encrypted
ls -ltill@desktop1:~/encrypted$ ls -l
total 8
lrwxrwxrwx 1 till till 24 Jan 14 10:38 ewoacflDuTvKLjSZxXsipVZh -> nwekRkg2xWwmUW-P3YgCFNzI
-rw-r--r-- 1 till till 26 Jan 14 10:38 nwekRkg2xWwmUW-P3YgCFNzI
-rw-r--r-- 1 till till 26 Jan 14 10:38 r7sj2xc9OJEHk,nETdYAtMZu
till@desktop1:~/encrypted$Монтирование и отмонтирование
Чтобы отмонтировать зашифрованный том:
cd
fusermount -u ~/decryptedПроверьте выводы mount и df -h — запись о encfs должна исчезнуть.
Чтобы смонтировать снова:
encfs ~/encrypted ~/decryptedВас попросят ввести пароль.
Если вы ввели правильный пароль, ~/decrypted будет доступен как незашифрованный каталог. Если пароль забыт — данные потеряны.
Смена пароля тома EncFS
Сменить пароль можно утилитой encfsctl:
encfsctl passwd ~/encryptedПример:
till@desktop1:~$ encfsctl passwd ~/encrypted
Enter current Encfs password
EncFS Password: <-- yoursecretpassword
Enter new Encfs password
New Encfs Password: <-- newsecretpassword
Verify Encfs Password: <-- newsecretpassword
Volume Key successfully updated.
Когда EncFS не подходит (примеры)
- На общих серверах, где другие пользователи имеют запись в том же каталоге; атакующий может модифицировать метаданные/файлы и использовать уязвимости.
- Для хранения очень чувствительных данных в корпоративной среде, где требуется строгая аудируемость и защита от активных атак.
Альтернативные подходы
- LUKS/cryptsetup (шифрованные блочные устройства) — сильнее при защите от атак на уровне файловой системы; лучше для системных томов или внешних дисков.
- VeraCrypt — контейнеры/тома, кросс-платформенный вариант.
- eCryptfs — ещё одна FUSE-ориентированная FS, интегрированная в некоторые дистрибутивы.
Короткая эвристика: если вы шифруете домашний каталог на десктопе и контролируете доступ, EncFS удобен; если требуется безопасность против локальных активных атак или вы шифруете серверные данные — выберите LUKS или контейнеры типа VeraCrypt.
Быстрая методология (чеклист)
- Убедитесь, что вы понимаете риск: третьи лица не должны иметь запись в каталоге.
- Установите encfs.
- Создайте ~/encrypted и ~/decrypted.
- Выполните encfs ~/encrypted ~/decrypted и задайте надёжный пароль.
- Проверяйте mount/df и делайте резервные копии зашифрованных файлов (файлы в ~/encrypted).
- Для отмонтирования используйте fusermount -u.
Ролевые чек-листы
- Обычный пользователь (desktop): проверил, что никто другой не пишет в ваш /home; храните пароль в менеджере паролей.
- Администратор сервера: не используйте EncFS для совместно используемых томов; предпочитайте LUKS/cryptsetup с управлением ключами.
Короткий глоссарий
- IV: в криптографии — вектор инициализации, используется для увеличения случайности шифрования.
- FUSE: интерфейс для реализации FS в пространстве пользователя.
- Pass-through FS: шифрует/дешифрует данные при проходе между пользовательским представлением и физическим хранилищем.
Замечания по безопасности и соответствию (GDPR)
EncFS шифрует содержимое и имена файлов (в зависимости от конфигурации), но при компрометации ключей/пароля данные могут стать недоступны или уязвимы. Для соблюдения требований защиты персональных данных выбирайте решения с централизованным управлением ключами и возможностью аудитa.
Краткое резюме
EncFS — удобный инструмент для личного шифрования файлов на рабочей станции. Он прост в установке и использовании, но имеет известные ограничения безопасности в условиях активных локальных атак или совместного доступа к хранилищу. Рассмотрите альтернативы для критичных случаев и всегда храните пароль безопасно.
Ссылки
- EncFS: http://www.arg0.net/encfs
- Debian: http://www.debian.org/
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента