Вы здесь: ГлавнаяLinux, свободное ПОБезопасность при использовании сервиса Dropbox в Ubuntu Linux

Безопасность при использовании сервиса Dropbox в Ubuntu Linux

Безопасность при использовании сервиса Dropbox в Ubuntu Linux

Есть на свете замечательный интернет-сервис под названием DropBox, представляющий собой облачное файловое хранилище, то есть предназначенный для хранения файлов в интернете и синхронизации их между различными устройствами. После установки специальной программы (доступной для всех популярных операционных систем) у вас на жестком диске появляется папочка под названием «Dropbox» (название и расположение можно поменять). При копировании в эту папочку файлов они одновременно передаются через интернет на специальный сервер. Впоследствии вы можете получить доступ к этой папочке и с других компьютеров. Мало того, между всеми подключенными устройствами (настольный компьютер, ноутбук, мобильный телефон и т.д.) происходит автоматическая синхронизация данных.

То есть, к примеру, поработали вы дома за ноутбуком, сохранили результаты своей работы у себя на компьютере... Поехали в офис, сели за рабочий компьютер и продолжили свою работу. Без каких-либо копирований данных на флешки, ручной передачи по сети и т.д. Все происходит на полном автомате, вы вообще ни о чем не задумываетесь! К тому же, фактически вы получаете дополнительный бэкап важных данных, который еще и постоянно сам обновляется.

Преимущества такого подхода хранения данных понятны.
Теперь пару слов по поводу преимуществ сервиса DropBox, если вдруг кто-то с ними еще не знаком:

  • Есть возможность доступа к файлам как через специализированный кроссплатформенный софт, так и через веб-интерфейс.
  • В истории изменения записывается только отличие одной версии файла от другой, как следствие — экономия трафика, поскольку закачивается не весь файл, а только измененная часть.
  • Есть возможность различных манипуляций над файлами, в том числе и откат до более ранних версий (сохраняются изменения за последние 30 дней).
  • Есть возможность расшаривания файлов для указанных пользователей (папка «Public»).
  • Можно получать обычные http-ссылки на файлы, хранящиеся в папке «Public», то есть использовать сервис в качестве классического файлообменника.
  • Бесплатное использование сервиса при хранении данных объемом до 2 Гб (возможно бесплатное увеличение до 8 Гб или платное до 50-100 Гб).
  • И это еще не все. Присоединяйтесь, и вы наверняка оцените все преимущества сервиса.

А вот как обстоит дело с безопасностью такого хранения данных? Владельцы сервиса DropBox уверяют, что все данные хранятся на сервере в зашифрованном виде. Только вот в какой момент происходит это шифрование — не совсем понятно. Кроме всего прочего, этот сервис очень интересен с точки зрения хранения паролей, профилей различных программ и прочих конфиденциальных данных, к которым очень удобно иметь доступ с различных устройств, и которые в то же время требуют соблюдения особых мер безопасности. Как же востпользоваться всеми преимуществами DropBox, и в то же время не волноваться о сохранности конфиденциальной информации?

Решение есть — шифровать данные самостоятельно, отправлять их на сервер в уже зашифрованном виде.
Только вот как этот процесс полностью автоматизировать? Легко!

В этом нам поможет криптографическая файловая система EncFS, которая позволяет шифровать данные на лету, причем шифрует каждый файл в отдельности. В этой статье на примере Ubuntu Linux будет рассказано, как добиться того, чтобы файлы, появляющиеся в определенной папке на компьютере, автоматически заливались в зашифрованном виде в папку «Dropbox». То есть работаете вы с обычными файлами, они без вашего участия в зашифрованном виде заливаются на сервер Dropbox. После подключения к серверу с другого компьютера (на котором структура папок организована тем же образом) происходит скачивание зашифрованных файлов и их последующая расшифровка.

Как я уже сказал, все манипуляции в примере ниже я буду производить на Ubuntu Linux, но подобные же действия можно произвести и на Mac OS и на Windows. Правда, версия EncFS для Windows пока сыровата, поэтому возможно придется использовать другую криптографическую систему. На Mac OS же EncFS работает не хуже чем на Linux.

Поскольку вы наверняка не хотите шифровать абсолютно все данные (как минимум сто?ит оставить незашифрованной папочку «Public»), то шифровать мы будем не всю папку «Dropbox» целиком, а только одну папку внутри нее. Итак, приступаем...

1

Первым делом установите DropBox, если вы этого еще не сделали.

2

Теперь установите необходимые для дальнейшей работы пакеты:

sudo apt-get install encfs libpam-mount

Добавьте своего пользователя в группу «fuse» (в команде ниже замените «username» на имя своего пользователя):

sudo adduser urusername fuse

Перелогиньтесь в систему заново, чтобы вышеописанные изменения вступили в силу.

3

Теперь создайте две папки:

mkdir ~/Unencrypted
mkdir ~/Dropbox/Encrypted

Первая из этих папок предназначена для хранения файлов в незашифрованном виде, вторая — для хранения зашифрованных файлов. Имена и расположение папок можете поменять на свое усмотрение, только не забудьте сделать то же самое в последующих командах. Естественно, папка для зашифрованных файлов должна находиться внутри папки «Dropbox».

4

Выполните в консоли следующую команду (замените «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» в зашифрованном виде. Мы почти закончили, остался последний штрих.

5

Сделаем так, чтобы наша зашифрованная файловая система автоматически монтировалась при включении компьютера. Для этого откроем на редактирование следующий файл:

sudo gedit /etc/security/pam_mount.conf.xml

Найдите в этом файле следующую строку:

<!-- Volume definitions -->

Прямо под ней вставьте еще одну строку (замените «username» на имя своего пользователя):

<volume user="username" fstype="fuse" path="encfs#/home/username/Dropbox/Encrypted" mountpoint="/home/username/Unencrypted" />

Все, теперь ни о чем не задумываясь можно работать с файлами в папке «/home/username/Unencrypted» — они будут автоматически шифроваться и помещаться в папку «/home/username/Dropbox/Encrypted», после чего в зашифрованном виде отправляться на сервер DropBox. После перезагрузки наша зашифрованная файловая система будет монтироваться автоматически. Результат достигнут!

Более того, мы имеем дополнительную защиту на случай потери ноутбука. Злоумышленник, укравший ноутбук, но не знающий логин и пароль для входа в систему, не будет иметь доступа к расшифрованным файлам, поскольку их расшифровка происходит только после включения компьютера и ввода логина и пароля.

Update. Обнаруженные подводные камни (при выявлении новых буду добавлять их сюда):

  • Один из компьютеров у меня вообще отказался грузиться после вышеописанных изменений в файле «pam_mount.conf.xml». Поскольку именно на этом компьютере меня вполне устраивает ручное монтирование, то в логах не копался, причины не искал.
  • При изменении незашифрованных файлов Dropbox заливает на сервер только измененную часть файла. А вот в случае шифрования (если я правильно понимаю) меняется весь файл целиком, поэтому трафик вероятно будет больше.
  • При выключении компьютера какие-то файлы могут остаться в примонтированной папке (если они изменялись прямо в момент выключения, уже после отмонтирования расшифрованной папки). Как следствие — после загрузки компьютера файловая система не монтируется, получаем ошибку: «fuse: mountpoint is not empty». Лечится опустошением папки.
  • В папке с зашифрованными файлами лежит файл «.encfs6.xml», который содержит в себе метаданные о зашифрованной файловой системе (кстати говоря, не вздумайте удалять этот файл). Так вот, при синхронизации нескольких компьютеров этот файл нужно копировать на все машины с самого первого компьютера, на котором производилось шифрование. Этот файл может быть помечен как конфликтный и замениться другим, с которым система потом отказывается работать. Лечится обратным переименованием старого (самого первого) файла.
  • Использовать синхронизацию через Dropbox (как в зашифрованном виде, так и нет) для часто изменяемых файлов не сто?ит, особенно если этих файлов очень много, иначе Dropbox будет постоянно занят бесполезной работой.
  • Иногда папки из расшифрованной директории не удаляются (лочатся). Удалить их получается только после выявления и удаления соответствующих им зашифрованных каталогов.

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

Добавить комментарий


Защитный код
Обновить