Автор: Максим Мишутин | 25.05.2012 | 5:17 | В рубриках: Другое, Новости, Программы
Дропбокс появился давно. Но с самого начала идея хранить свои файлы на не своем сервере мне не нравилась. Ведь хранить хотелось такие вещи, которые ну совсем нежелательно видеть кому-то постороннему…
Сейчас таких сервисов уже десятки, и народ их активно использует. А что же делать нам, дорогие единомышленники-параноики :) да так чтоб и удобство работы не страдало, и приватность блюлась? Решение есть, и оно, как выяснилось, не ново — хранить в онлайне файлы, зашифрованные eCryptfs.
Речь пойдет про Linux. Преимущественно про Ubuntu и Ubuntu One…
Если вкратце — eCryptfs оперирует с двумя директориями: в одной из них лежат зашифрованные файлы (все шифруются одним ключом) с опционально зашифрованными названиями, в другой, которая становится доступной после монтирования, лежат сами исходные файлы. На каждый исходный файл — один зашифрованный. Всё просто.
Дальше нужно расшарить через онлайн-хранилище директорию с зашифрованными файлами, и сделать так, чтоб на всех компьютерах, участвующих в синхронизации, были одинаковые ключи для монтирования.
Ubuntu при установке предлагает опцию шифрования домашней директории, при включении которой все пользовательские файлы в зашифрованном виде лежат в /home/.ecryptfs, а содержимое домашних директорий монтируется при логине.
На первый взгляд кажется, что можно расшарить в Ubuntu One /home/.ecryptfs и дело с концом. Как бы не так.
Во-первых: приватный ключ генерируется сам (то есть на всех компьютерах он будет разный).
Во-вторых: в точности синхронизировать полностью все пользовательские директории вряд ли кому-то надо.
В-третьих: использовать этот вид шифрования — не самая удачная идея. Дело в том, что ecryptfs при шифровании названий файлов несколько увеличивает их длину, и некоторые, и без того длинные, упираются в лимит файловой системы (256 байт для ext4fs).
Тем не менее в Ubuntu есть другое, не менее удобное решение: программа ecryptfs-setup-private, которая всего в 3 вопроса создаст директорию для зашифрованных файлов ~/.Private и директорию для исходных файлов ~/Private, автоматически монтируемую при логине.
[note color="#C7C7C7"]sudo apt-get install ecryptfs-utils
ecryptfs-setup-private
Enter your login passphrase [user]:
Enter your mount passphrase [leave blank to generate one]:
Enter your mount passphrase (again):[/note] На вопрос «Enter your login passphrase» нужно ввести пароль на вход в систему — это нужно для автомонтирования.
На вопрос «Enter your mount passphrase» надо ввести пароль для шифрования (одинаковый на всех компьютерах, участвующих в синхронизации).
Потом перелогиниться и расшарить ~/.Private. И всё, можно спать спокойно. Этим способом пользуюсь я, расшаривая файлы через Ubuntu One.
Теперь альтернативный способ для тех, у кого нет ecryptfs-setup-private, кому нужна подстройка под собственные нужды, или у кого директория ~/[\.{0,1}]Private уже занята.
Допустим, новая пара директорий будет называться ~/.Storage и ~/Storage.
Итак:
На всех компьютерах, участвующих в синхронизации создаем нужные директории:
mkdir ~/.Storage
mkdir ~/Storage
На одном из компьютеров делаем первое монтирование:
[note color="#C7C7C7"]sudo mount -t ecryptfs /home/user/.Storage/ /home/user/Storage/ -o \
key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16, \
ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=yes[/note] Спросит «passphrase» — вводим пароль для шифрования (одинаковый на всех компьютерах),
Спросит «Filename Encryption Key (FNEK) Signature» — вводим пароль для шифрования названий (одинаковый на всех компьютерах),
Выдаст примерно такое:
[note color="#C7C7C7"]Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=a973e495a25fce46
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=a973e495a25fce46[/note] Запоминаем сигнатуры.
Скажет, что с таким паролем диск ещё не монтировался, и спросит подтверждение — скажем «yes»,
Спросит, добавить ли сигнатуру, дабы не спрашивать подтверждения в следующий раз — «yes».
Теперь, используя полученные сигнатуры и пароль, составим полную команду целиком, которая будет выполняться ничего не спрашивая:
[note color="#C7C7C7"]mount -t ecryptfs /home/user/.Storage/ /home/user/Storage/ -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16, \
ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=yes, \
passphrase_passwd=,ecryptfs_sig=a973e495a25fce46, \
ecryptfs_fnek_sig=a973e495a25fce46[/note] Остается положить ее в какой-нибудь файлик, и запускать при старте. Ну и конечно расшарить ~/.Storage в вашем любимом онлайн-хранилище.

Источник

Эта запись была опубликована 25.05.2012в 17:49. В рубриках: Другое, Новости, Программы. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить свой комментарий или трекбек со своего сайта.

  • Ирина Сысоева

    А при такой схеме максимальна длина имён файлов в зашифрованных директориях не пострадает?

  • Анна Вейс

    Оксана Федорова набрала 20 кг >>> http://goo.gl/zzXCDF <<< Большое спасибо за объяснение, теперь я буду знать.

  • Галина С

    Самые частые ошибки молодых родителей >>> http://goo.gl/m8bhNS <<< мда прост ))

  • Ольга Герасимова

    Как мальчики из Румынии накачали мышцы (фото) >>> http://goo.gl/aqroQ6 <<< Поздравляю, какой отличный ответ.

  • Галина С

    Исторический блокбастер 2014: будете смотреть с открытым ртом >>> http://goo.gl/BEQYGJ <<< Я конечно, прошу прощения, но это мне не подходит. Буду искать дальше.

  • Алёна К

    13 самых диких обложек альбомов за всю историю музыки! >>> http://goo.gl/05dsc7 <<< Я готов вам помочь, задавайте вопросы. Вместе мы сможем найти решение.

  • http://www.facebook.com/EvgenKvasha Євген Олександрович Кваша

    Я надеюсь что со временем кто-то додумается эту возможность интегрировать в клиент для какого нибудь облачного хранилища. Чтоб можно было все включить без лишних телодвижений.

    • Tram23

      Можете посмотреть в сторону http://www.wuala.com/ у них шифрование встроенное.

      • Kabukioki

        Юзаю более года. Все устраивает, “пересадил” всех партнеров и знакомых с дропа – все довольны. Не реклама – здравый смысл!