EncFS. В помощь параноикам






Какими бы надёжными и защищёнными не объявляли себя онлайн-сервисы хранения данных вроде Wuala или DropBox, всё равно нет никаких гарантий того, что до ваших файлов не доберутся особо заинтересованные в них люди или организации. Единственная гарантия — вы сами. Если ваши файлы на жёстком диске хранятся в зашифрованной файловой системе, то можно гораздо меньше беспокоится в случае, если ваш винчестер отправится куда-то «на исследование» (естественно, если вы адекватно подошли к выбору алгоритма шифрования, ключа и/или пароля). Сам-собой возникает вопрос: как быть с файлами перед отправкой их за пределы вашей системы туда, где нет никаких гарантий безопасности хранилища? Естественно, отправлять их «как есть», мягко говоря, не рекомендуется.



Один из вариантов — это шифровать файлы при помощи GnuPG перед отправкой их в удалённое хранилище. При резервном копировании вполне удобный вариант. Несколько по другому обстоит дело с синхронизацией файлов в реальном времени: как вы объясните клиенту DropBox или Wuala то, что перед синхронизацией файлы необходимо шифровать? Я лично не знаю пока такого способа. Из этого следует, что файлы должны быть уже зашифрованы, прежде чем клиент онлайн-сервиса приступит к их отправке на сервер, то есть файлы должны шифроваться в реальном времени и уже готовенькие к отправке лежать в условленном месте.

Для решения этой задачи сегодня мы с вами воспользуемся услугами EncFS — FUSE-ФС, предназначенной для шифрования/дешифровки файлов в режиме реального времени.

EncFS должна присутствовать в репозиториях всех современных дистрибутивов, поэтому установка не должна вызвать у вас проблем. Тех, кому по каким-то причинам необходимы исходные коды, отправляю на официальный веб-сайт EncFS, а в своей Ubuntu всё как всегда предельно просто:

Пользоваться EncFS очень просто. Допустим, вам необходимо, чтобы всё, что попадало в каталог ~/private, было зашифровано и в таком виде записано в каталог ~/.encrypted. Для создания такой структуры, достаточно дать команду (каталоги можно не создавать, программа сама создаст их при необходимости):

Далее, если каталоги не существуют, программа попросит вас подтвердить их создание:

После этого вам необходимо выбрать опции шифрования:

Здесь вы можете просто нажать «Enter», что приведёт к выбору стандартных опций. Выбрав «p», вы включите «параноидальный» режим, в котором предустановки настроены на обеспечение максимальной безопасности (естественно, за счёт производительности). Если же вы разбираетесь в терминах криптозащиты, вы можете выбрать «x» и настроить все, как вашей душе угодно.

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

И приглашение дважды ввести пароль:

На этом всё. В каталоге ~/encrypted будет создан файл .encfs6.xml, содержащий всю необходимую информацию для работы EncFS:

Теперь, если поместить в каталог ~/private файлы/каталоги, в каталоге ~/encrypted появятся зашифрованные версии этих файлов и каталогов:

После того, как вы закончите работу и виртуальная ФС вам больше не понадобится, вы можете вручную отмонтировать её:

И остаться наедине с зашифрованными версиями ваших файлов:

Позже, когда вам снова понадобится незашифрованное содержимое, просто смонтируйте каталог ~/encrypted в каталог ~/private (или какой вам больше подходит) той же командой, которой мы создавали зашифрованный каталог ранее.

Теперь осталось только настроить синхронизацию каталога ~/encrypted с вашим любимым онлайн-хранилищем и уже не стоит волноваться о возможном потустороннем доступа к вашим секретам.

Ко всему прочему, если ваши данные локально надёжно защищены, вы можете создать небольшой shell-сценарий, который бы автоматически  монтировал шифрованный каталог при входе в систему:

Здесь опция '-S' сообщает encfs о том, что пароль следует считывать из стандартного ввода, а не запрашивать интерактивно. Сам пароль передаётся через конвейер при помощи echo. Ещё раз обращу внимание: не пользуйтесь таким способом, если есть большая вероятность того, что доступ к вашим локальным файлам будет получить очень просто. Храните деньги в сберегательной кассе используйте шифрованные файловые системы!




EncFS. В помощь параноикам: 2 комментария

  1. В продолжении комментариев на

    www.ashep.org/2011/wuala- ...oe-xranilishhe/:

    Да. Интересный вариант. Но скорее как замена TrueCrypt. Для автоматических бэкапов не очень мне подходил т.к. нужно вводить пароль руками. В этом отношении GnuPG + скрипт удобней т.к. все шифруется открытым ключом, который не надо прятать. А вот расшифровать может только владелец закрытого ключа, который надежно попрятан (и владелец, и ключ ;)).

    За обзоры большое спасибо.

Комментарии запрещены.