О сервисе Dropbox, наверное, написано несколько тысяч различных статей, его удобство оценили миллионы пользователей, проект развивается с невероятно-быстрой скоростью. Что же это за сервис и как он помог нам в работе?
Дропбокс – это такой умный ftp или файлообменник с возможностью многопользовательской синхронизации. Если раньше, чтобы координировать удаленную работу сотрудников, мы использовали обычный FTP и специальную программу синхронизации с локальной папкой, то теперь это все нам заменил dropbox. 8 пользователей установили его на свои компьютеры и теперь у нас по-настоящему общие файлы на всех 8-ми машинах, причем неважно включен ли компьютер у кого-то или нет – все файлы хранятся в так называемых облаках (Интернете) и обновляются там непосредственно в момент появления в локальной папке.
Есть на свете замечательный интернет-сервис под названием
DropBox, представляющий собой облачное файловое хранилище, то есть предназначенный для хранения файлов в интернете и синхронизации их между различными устройствами. После установки специальной программы (доступной для всех популярных операционных систем) у вас на жестком диске появляется папочка под названием
«Dropbox» (название и расположение можно поменять). При копировании в эту папочку файлов они одновременно передаются через интернет на специальный сервер. Впоследствии вы можете получить доступ к этой папочке и с других компьютеров. Мало того, между всеми подключенными устройствами (настольный компьютер, ноутбук, мобильный телефон и т.д.) происходит автоматическая синхро низация данных.
То есть, к примеру, поработали вы дома за ноутбуком, сохранили результаты своей работы у себя на компьютере... Поехали в офис, сели за рабочий компьютер и продолжили свою работу. Без каких-либо копирований данных на флешки, ручной передачи по сети и т.д. Все происходит на полном автомате, вы вообще ни о чем не задумываетесь! К тому же, фактически вы получаете дополнительный бэкап важных данных, который еще и постоянно сам обновляется.
Преимущества такого подхода хранения данных понятны.
Есть на свете замечательный интернет-сервис под названием
DropBox
Теперь пару слов по поводу преимуществ сервиса
DropBox, если вдруг кто-то с ними еще не знаком:
- Есть возможность доступа к файлам как через специализированный кроссплатформенный софт, так и через веб-интерфейс.
- В истории изменения записывается только отличие одной версии файла от другой, как следствие — экономия трафика, поскольку закачивается не весь файл, а только измененная часть.
- Есть возможность различных манипуляций над файлами, в том числе и откат до более ранних версий (сохраняются изменения за последние 30 дней).
- Есть возможность расшаривания файлов для указанных пользователей (папка «Public»).
- Можно получать обычные http-ссылки на файлы, хранящиеся в папке «Public», то есть использовать сервис в качестве классического файлообменника.
- Бесплатное использование сервиса при хранении данных объемом до 2 Гб (возможно бесплатное увеличение до 8 Гб или платное до 50-100 Гб).
- И это еще не все. Присоединяйтесь, и вы наверняка оцените все преимущества сервиса.
А вот как обстоит дело с безопасностью такого хранения данных? Владельцы сервиса
DropBox уверяют, что все данные хранятся на сервере в зашифрованном виде. Только вот в какой момент происходит это шифрование — не совсем понятно. Кроме всего прочего, этот сервис очень интересен с точки зрения хранения паролей, профилей различных программ и прочих конфиденциальных данных, к которым очень удобно иметь доступ с различных устройств, и которые в то же время требуют соблюдения особых мер безопасности. Как же востпользоваться всеми преимуществами
DropBox, и в то же время не волноваться о сохранности конфиденциальной информации?
Решение есть — шифровать данные самостоятельно, отправлять их на сервер в уже зашифрованном виде.
Только вот как этот процесс полностью автоматизировать? Легко!
В этом нам поможет криптографическая файловая система EncFS, которая позволяет шифровать данные на лету, причем шифрует каждый файл в отдельности. В этой статье на примере Ubuntu Linux будет рассказано, как добиться того, чтобы файлы, появляющиеся в определенной папке на компьютере, автоматически заливались в зашифрованном виде в папку «Dropbox». То есть работаете вы с обычными файлами, они без вашего участия в зашифрованном виде заливаются на сервер Dropbox. После подключения к серверу с другого компьютера (на котором структура папок организована тем же образом) происходит скачивание зашифрованных файлов и их последующая расшифровка.
Как я уже сказал, все манипуляции в примере ниже я буду производить на Linux Mint, Ubuntu Linux но подобные же действия можно произвести и на Mac OS и на Windows.
Поскольку вы наверняка не хотите шифровать абсолютно все данные (как минимум сто́ит оставить незашифрованной папочку «Public»), то шифровать мы будем не всю папку «Dropbox» целиком, а только одну папку внутри нее. Итак, приступаем...
02Теперь установите необходимые для дальнейшей работы пакеты:
sudo apt-get install encfs libpam-mount
Добавьте своего пользователя в группу «fuse» (в команде ниже замените «username» на имя своего пользователя):
sudo adduser urusername fuse
Перелогиньтесь в систему заново, чтобы вышеописанные изменения вступили в силу.
03Теперь создайте две папки:
mkdir ~/Unencrypted
mkdir ~/Dropbox/Encrypted
Первая из этих папок предназначена для хранения файлов в незашифрованном виде, вторая — для хранения зашифрованных файлов. Имена и расположение папок можете поменять на свое усмотрение, только не забудьте сделать то же самое в последующих командах. Естественно, папка для зашифрованных файлов должна находиться внутри папки «Dropbox».
04Выполните в консоли следующую команду (замените «username» на имя своего пользователя):
encfs /home/username/Dropbox/Encrypted /home/username/Unencrypted
Программа начнет задавать вам вопросы, на которые нужно ответить следующим образом:
- Введите «x» для выбора режима эксперта.
- Введите «1» для выбора алгоритма шифрования «AES»
- Введите «256» для задания размера ключа в битах.
- Введите «1024» для задания размера блока файловой системы.
- Введите «1» для выбора алгоритма зашифровки «Block».
- Введите «y» для опции «Enable filename initialization vector chaining?»
- Введите «n» для опции «Enable per-file initialization vectors?»
- Введите «n» для опции «Enable block authentication code headers on every block in a file?»
- Введите «y» для опции «Enable file-hole pass-through?»
- Введите пароль, и повторите его еще раз. Для того, чтобы следующий шаг этого руководства заработал как нужно, желательно ввести здесь тот же пароль, который вы используете для входа в систему.
Теперь при копировании файлов в папку «/home/username/Unencrypted» те же файлы будут появляться в папке «/home/username/Dropbox/Encrypted» в зашифрованном виде. Мы почти закончили, остался последний штрих.
05Сделаем так, чтобы наша зашифрованная файловая система автоматически монтировалась при включении компьютера. Для этого откроем на редактирование следующий файл:
sudo gedit /etc/security/pam_mount.conf.xml
Найдите в этом файле следующую строку:
Прямо под ней вставьте еще одну строку (замените «username» на имя своего пользователя):
Все, теперь ни о чем не задумываясь можно работать с файлами в папке «/home/username/Unencrypted» — они будут автоматически шифроваться и помещаться в папку «/home/username/Dropbox/Encrypted», после чего в зашифрованном виде отправляться на сервер
DropBox. После перезагрузки наша зашифрованная файловая система будет монтироваться автоматически. Результат достигнут!
Более того, мы имеем дополнительную защиту на случай потери ноутбука.
Злоумышленник, укравший ноутбук, но не знающий логин и пароль для входа в систему, не будет иметь доступа к расшифрованным файлам, поскольку их расшифровка происходит только после включения компьютера и ввода логина и пароля.
Update. Обнаруженные подводные камни (при выявлении новых буду добавлять их сюда):
- Один из компьютеров у меня вообще отказался грузиться после вышеописанных изменений в файле «pam_mount.conf.xml».
Поскольку именно на этом компьютере меня вполне устраивает ручное монтирование, то в логах не копался, причины не искал.
- При изменении незашифрованных файлов Dropbox заливает на сервер только измененную часть файла. А вот в случае шифрования (если я правильно понимаю) меняется весь файл целиком, поэтому трафик вероятно будет больше.
- При выключении компьютера какие-то файлы могут остаться в примонтированной папке (если они изменялись прямо в момент выключения, уже после отмонтирования расшифрованной папки). Как следствие — после загрузки компьютера файловая система не монтируется, получаем ошибку: «fuse: mountpoint is not empty». Лечится опустошением папки.
- В папке с зашифрованными файлами лежит файл «.encfs6.xml», который содержит в себе метаданные о зашифрованной файловой системе (кстати говоря, не вздумайте удалять этот файл). Так вот, при синхронизации нескольких компьютеров этот файл нужно копировать на все машины с самого первого компьютера, на котором производилось шифрование. Этот файл может быть помечен как конфликтный и замениться другим, с которым система потом отказывается работать. Лечится обратным переименованием старого (самого первого) файла.
- Использовать синхронизацию через Dropbox (как в зашифрованном виде, так и нет) для часто изменяемых файлов не сто́ит, особенно если этих файлов очень много, иначе Dropbox будет постоянно занят бесполезной работой.
- Иногда папки из расшифрованной директории не удаляются (лочатся). Удалить их получается только после выявления и удаления соответствующих им зашифрованных каталогов.
Совсем недавно, облачный сервис Dropbox анонсировал функцию альбомы, а уже сегодня, данная функция стала доступна многим людям. После получения пробного доступа к этой функции вы увидите короткое вступление:
Новая функция позволяет организовать ваши фотографии в Dropbox по альбомам, причем совершенно не важно в каких папках находятся ваши снимки.
Альбомами можно делится так же просто, как и любыми файлами, которые находятся внутри Dropbox.
Чего бы я еще добавил? Со времен моего активного освоения операционной системы Linux Mint я начал активно пользоваться функцией автоматизации папок. То есть любой папке можно присвоить определенное условие и реакцию на это условие. К примеру, как только в папке появился графический файл – автоматически создать его уменьшенную копию шириной не более 150 пикселей. Вот такая бы возможность не помешала бы и
дропбоксу.