Как стать автором
Обновить

Делаем шифрование в Dropbox Mac (совместимо с Linux)

Время на прочтение3 мин
Количество просмотров6.7K

За последний месяц было несколько публикаций на Хабре о безопасности хранения информации на Dropbox. И, судя по всему, информацию там, действительно, хранить не совсем безопасно.
К ней могут получить доступ как минимум сотрудники Dropbox, а как максимум даже не хочу думать кто. Я активно использую хранилище для синхронизации домашнего ноута с рабочим компьютером. На Dropbox у меня живет папка данных Adium(я не хочу что бы кто-то читал май хистори), 1Password(ну там, надеюсь, слава Богу все зашифровано), папки проектов и документов(не самых важных конечно, но очень не хотелось бы что бы документы, а тем более проекты попали в чужие руки). Надо сказать, что я отношусь к сохранности своей информации довольно серьезно — системный диск зашифрован полностью, для важных файлов контейнер TrueCrypt, ключи храню на етокене ну и т.п. И вот эта незащищенность Dropbox всегда меня напрягала и после последних публикаций я начал искать решение как зашифровать информацию в хранилище. Понятно что решения типа TrueCrypt не очень подходит для этих целей — перезаписывать контейнер целиком при каждом изменении нереально, а вручную или после размонтирования — очень неудобно контейнер синхронизируется с сервером Dropbox только при размонтировании (причем не через Finder, а через сам TrueCrypt надо размонтировать), кстати, я проверил — контейнер целиком не заливается на сервер при каждом изменении, а, видимо, синхронизируются изменившиеся блоки.
Немного погуглив я нашел решение, основанное на EncFS, файлы в этой файловой системе шифруются каждый отдельно, что нам и надо. Описаны решения для Ubuntu и Mac OS Leopad, хотя, судя по отзывам, можно поставить и на Snow Leopad
Итак приступим…

Устанавливаем MacFUSE 2.0. FUSE — это модуль для ядер Unix-подобных ОС.Он позволяет пользователям без привилегий создавать их собственные файловые системы без необходимости переписывать код ядра. Это достигается за счёт запуска кода файловой системы в пространстве пользователя, в то время как модуль FUSE только предоставляет «мост» для актуальных интерфейсов ядра. FUSE была официально включена (слита) в главное дерево кода Linux) в версии 2.6.14. MacFUSE — это порт под мак, качаем тут http://code.google.com/p/macfuse/downloads/list и устанавливаем:




Устанавливаем MacFusion. MacFusion это графический интерфейс для MacFUSE, который постороен на основе плагинов. В комплекте идут плагины для монтирования по FTP и SSH. Качаем последнюю версию MacFusion и ставим (копируем Macfusion.app в папку /Applications).

Устанавливаем EncFS — это основанная на FUSE криптографическая файловая система, прозрачно шифрующая файлы, используя произвольную директорию в качестве места для хранения зашифрованных файлов (эту директорию мы и положим в Dropbox).
При монтировании EncFS указывается директория-источник (исходная директория с зашифрованными файлами) и точка монтирования. После монтирования каждому файлу в директории-точке монтирования соответствует определённый файл из зашифрованной директории. Таким образом, в директории-точке монтирования представлены файлы директории источника в незашифрованном виде. Файлы шифруются с помощью ключа, который в свою очередь хранится в той же директории, что и зашифрованные файлы, в зашифрованном виде. Пароль, вводимый пользователем с клавиатуры, служит для расшифровки этого ключа. Качаем порт для Mac OS X тут и ставим:




Теперь самое интересное. Нам надо поставить плагин MacFusion для EncFS и плагин такой есть, скачать его можно тут, но он не работает на 64x-разрядной системе — автор почему-то скомпилировал его только для i386. Но выход есть. Итак по порядку.

Для владельцев 32x-разрядных и 64x-разрядных систем — качаем EncFS Plugin.dmg и устанавливаем:




для 64-разрядных систем:
качаем скомпилированные для x64 исходники
например в терминале
cd ~
wget http://upload24.net/EncFS.mfplugin_x64.tar.gz


удаляем установленный 32x-разрядный плагин
sudo rm -r -f /Library/Application\ Support/Macfusion/PlugIns/EncFS.mfplugin/

и разархивируем на его место 64x-разрядный
sudo tar -xzf EncFS.mfplugin_x64.tar.gz -C /Library/Application\ Support/Macfusion/PlugIns/

теперь все необходимое установлено — настраиваем

создаем хранилище EncFS
mkdir /Users/drew/Dropbox/.sec
mkdir /Users/drew/secDropbox
encfs /Users/drew/Dropbox/.sec /Users/drew/secDropbox



запускаем MacFusion




и добавляем хранилище






затем размонтируем созданное хранилище через Finder




и монтируем через MacFusion




ну вот и все, проверяем работу… Скопируем несколько папок и файлов в /Users/drew/secDropbox




вот как выглядит контейнер




Естественно, зашифрованы не только имена, но файлы внутри.

P.S. на втором и последующих компах которые синхронизируются с посредством Dropbox нет необходимости создавать хранилище, т.е. исключаем
mkdir /Users/drew/Dropbox/.sec
encfs /Users/drew/Dropbox/.sec /Users/drew/secDropbox


Источники:
1.Dropbox Encryption w/ EncFS on MacOS X
2.How to install EncFS for Macfuse on Mac OS X
3.A plugin for Macfusion 2
4.wikipedia

Дополнительные ссылки:
портирование EncFS под Windows
Теги:
Хабы:
+48
Комментарии46

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн