Вход:  Пароль:  
FreeSource: EncryptedFileSystem ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия EncryptedFileSystem за 2004-10-29 19:46:40..

Версия 1.0 от 29 октября 2004г.

Encrypted FileSystem

Зачем шифрование файловых систем?

Благодаря падению цен на флешки, а также снижению цен на устройства вроде ZIV-Drive, наконец-то появлиась возможность легко носить с собой большие объёмы информации. Естественно эти устройства изредка теряются или воруются.


Кроме того часто приходится хранить данные на компьютере, к которому имеют доступ другие люди.

Страшная история

Вот уже месяц я постоянно езжу в офис с флешкой. На флешке у меня вечно валяется большое количество информации разной ценности, которая мне нужна под рукой. Несколько дней назад я её потерял. Если её найдёт пользователь Windows — то просто отформатирует тамошний ext3. А если пользователь Linux, то он получит некоторое количество конфиденциальной информации. Мне не хочется больше повторять этот опыт, поэтому я таки начал использовать EncFS.

Существующие шифрованые файловые системы

В мире Linux? уже давно существует относительно удобное средство шифрования — crypto loopback filesystem. Основная идея заключается в том, чтобы прозрачно шифровать блочное устройство, устанавливая на нём произвольную файловую систему.


Основной минус такого подхода — необходимость заранее резервировать место под шифруемые данные. Кроме того монтирование такого раздела требует root-привелегий.

Преимущества EncFS


  1. Используется fuse (filesystem in userspace);
  2. Смонтированую файловую систему принципиально невозможно увидеть под другим uid, кроме того, кто её смонтировал (даже root не сможет получить доступ к этой fs);
  3. Очень маленький размер кода, что позволяет сделать его надёжным;

Краткий обзор возможностей


Установка EncFS

Я буду описывать установку для дистрибутивов ALTLinux. Буду рад комментариям по установке на другие дистрибутивы.


  1. Устанавливаем пакет avfs-fuse
  2. Устанавливаем пакет с модулем fuse для используемого ядра
  3. В /etc/modules добавляем строчку 'fuse'
  4. modprobe fuse
  5. chmod u+s /usr/sbin/fusermount (к сожалению иначе он не работает)
  6. Далее можете собрать и установить пакеты в файлах, присоединённых к этому письму — librlog и encfs. Пользователи Sisyphus на днях смогут получить эти пакеты обычным путём (после завершения тестирования я отправлю их в Sisyphus).

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


Создаёте два пустых каталога:

И монтируете:

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

Недостатки EncFS


1. Невозможность удалять открытые файлы.


В UNIX-мире общепринятый метод работы с временными файлами — открыть файл и сразу его удалить. Теперь работать мы с ним можем, но открыть его кем-бы то ни было ещё не возможно. После его завершения или закрытия программы, занимаемое на диске место будет автоматически освобождено.


Увы, эта логика неработает с EncFS. Тест (test.c) приаттачен к статье.


Из этого следует, что нельзя держать на EncFS $TMPDIR.


2. Не поддерживаются hardlink'и.


Одна из причин вполне ясна — создание hardlink'а на прозрачной файловой системе означает раскрытие информации о идентичности пары файлов в иерархии каталогов. Это может быть использовано как минимум для попытки угадать имена файлов.


Однако часто распространённая практика — для перемещения файла сначала создавать хардлинк, а потом удалять первый объект. Такой метод используется, например, во многих реализациях работы с Maildir (например в mutt). На EncFS это не работает (mutt не сможет добавлять сообщения в Maildir, находящийся на EncFS).


procmail'у это не мешает, и он работает.


Результат — пользователи mutt не могут держать outgoing и postponed (как минимум) на EncFS разделе.


3. Маленькая странность — при монтировании/размонтировании все пути надо указывать полностью. Поэтому для себя я написал скриптик encfs.sh:


Думаю надо было сделать его просто alias'ом.

Резюме

EncFS — очень интересное и перспективное средство безопасности, однако пока ещё есть серьёзные недочёты заметно ограничивающие её применение.


(C) Денис Смирвное <mithraen@freesource.info> 29 Oct 2004
Размещение этого документа на других Internet-ресурсах, а также в печатных изданиях не допускается.



 
Файлов нет. [Показать файлы/форму]
Много комментариев (7). [Показать комментарии/форму]