Сегодня идея облачного файлового хранилища нравится всем.
Об этой технологии пишут в Интернете и рассказывают по телевидению.
Однако не все готовы доверять свои персональные данные чужим серверам и другим администраторам серверов, ведь как бы они ни шифровали (собственные) программы, прочитать ваши данные все равно можно.
Поэтому для безопасного хранения персональных данных стоит рассмотреть возможность использования открытых технологий с шифрованием.
Для шифрования была выбрана распределенная файловая система Tahoe-Lafs, построенная по технологии p2p. Преимущество этой технологии в том, что файлы шифруются и записываются на узлы в виде кусочков (аналогично битторренту).
А данные будем сохранять в программе wuala (облачная собственная файловая система, похожая на Dropbox).
Моя собственная разработка была клонирована с помощью SuseStudio ( Живой диск Tahoe-Lafs на базе OpenSuse 11.4 ) и были внесены модификации: x11, Icewm, Java, были установлены недостающие компоненты и таким образом сборка стала выглядеть так:
Также пришлось доработать файлы: Permissions.local, Windowmanager, без которых x11 невозможно было бы запустить от обычного пользователя (не root), так как в новой сборке Linux почти полностью исключены suid-программы.
Собираем образ в веб-студии в формате OFV, скачиваем и импортируем в VirtualBox и запускаем нашу виртуальную машину.
В консоли под пользователем root создайте папку /tahoe в папках /tahoe/1, /tahoe/2, /tahoe/3, так как минимальное количество кивков для работы 3 штуки и папку для интродьюсера (трекер в bittorrent язык): /tahoe/intro. Измените права доступа к этой папке для всех: chmod +x -R 777 /tahoe/*
Закройте консоль суперпользователя и создайте в домашнем каталоге и в папке /home/tahoe/allmydata-tahoe-1.8.2/bin файл с содержимым:
createall.sh
#/бин/ш
.
/tahoe create-introducer /tahoe/intro & .
/tahoe create-node /tahoe/1 & .
/tahoe create-node /tahoe/2 & .
/tahoe create-node /tahoe/3 & startall.sh #/бин/ш .
/tahoe restart /tahoe/intro & .
/tahoe перезапуск /tahoe/1 & .
/tahoe restart /tahoe/2 & .
/tahoe restart /tahoe/3 & Запустите их: chmod +x *.
sh Остаётся только настроить Тахо.
В каждой папке редактируем /tahoe/number/tahoe.cfg В нем даем имя узла и меняем номер порта веб-интерфейса, иначе будет конфликт: т. е.
первый файл выглядит так: /tahoe/1/tahoe.cfg [узел] прозвище = Тахо-Вуала1 web.port = tcp:3456:interface=127.0.0.1 web.static = public_html #tub.port = #tub.location = #log_gatherer.furl = #timeout.keepalive = #timeout.disconnect = #ssh.port = 8022 #ssh.authorized_keys_file = ~/.
ssh/authorized_keys В разделе, где количество узлов для сохранения изменено на 3: [клиент] # К каким сервисам должен подключаться этот клиент? представляющий.
furl = Нет helper.furl = #key_generator.furl = #stats_gatherer.furl = # Какие параметры кодирования должен использовать этот клиент для загрузки? акции.
необходимо = 3 акции.
счастливый = 3 акции.
всего = 3 Теперь этот файл tahoe.cfg можно скопировать во вторую папку с заменой файла, а во второй папке изменить только порт и имя узла: Nickname=Tahoe-Wuala2 web.port=tcp:3457:interface=127.0.0.1 и в третьем: Nick=Tahoe-Wuala3 web.port = tcp:3458:interface=127.0.0.1 Пришло время запустить наш веб-сервис.
Запускаем созданный нами файл /home/tahoe/allmydata-tahoe-1.8.2/bin/startall.sh После запуска адрес представителя нашего хоста появится в папке /tahoe/intro. Скопируйте файл cat submitr.furl в каждую папку /tahoe/1, /tahoe/2 и /tahoe/3. Устанавливаем клиент, скачав его с wuala.com в консоли от имени пользователя root: об/мин-ihv cdn.wuala.com/repo/suse/wuala-current.i386.rpm Запускаем его как обычные пользователи и регистрируемся.
Вы можете использовать мой промокод NNJFMJAK3HGH7P4J7GAC, потому что по умолчанию используется только 1 ГБ, но с приглашениями вы можете получить больше бесплатного места для хранения.
Создайте папки хранения в wuala: www.wuala.com/referral/NNJFMJAK3HGH7P4J7GAC
В программе создаем папку tahoe и в ней подпапки 1,2,3 и в каждой из них хранилище - туда будут загружены зашифрованные файлы из tahoe
Теперь вам нужно установить SIM-линки (ссылки) на настоящую файловую систему opensuse. Используя mc и меню File-Symlink:
То есть папка /tahoe/1/storage ссылается на папку в Интернете в wuala: /home/tahoe/WualaDrive/YourLoginWuala/tahoe/1/storage; /tahoe/2/storage связан с wuala: /home/tahoe/WualaDrive/YourLoginWuala/tahoe/2/storage, а третья папка, соответственно, в /tahoe/3/storage связана с интернет-папкой в wuala: /home /tahoe/WualaDrive/ Ваш логинWuala/tahoe/3/storage
Перезапускаем наш тахо с помощью скрипта startall.sh. Запускаем ssh-сервис в консоли из-под root: запускаем сервис sshd и подключаемся к tahoe на другой машине через проброс портов:
ssh -C tahoe@virtualmachine_ipi -L локальный хост: 3456: локальный хост: 3456
Откройте наш браузер и посмотрите, что у нас получилось:
Все в порядке, узлы подключены.
Попробуем создать папку, нажимаем Создать каталог.
Смотрим информацию о нем: More info по этому каталогу и видим адрес: Directory writecap URI:DIR2:7awqdjdkkkwookbhc4eigffgu4:vbnajdeshk4hgb6eatamfycdfolydafy42hm6uv7d7xmajhu4mpa. Остаётся только добавить интерфейс (sftp).
Для этого в папке /tahoe/1/private создайте файл ftp.accounts с содержимым:
Ренат Ренат URI:DIR2:7awqdjdkkkwookbhc4eigffgu4:vbnajdeshk4hgb6eatamfycdfolydafy42hm6uv7d7xmajhu4mpa
В файл /tahoe/1/tahoe.cfg добавляем раздел о том, что у нас есть sftp:
[sftpd]
включено = правда
порт = tcp:8022:interface=ip виртуальной машины
хост_pubkey_file = частный/ssh_host_rsa_key.pub
host_privkey_file = частный/ssh_host_rsa_key
account.file = частный/ftp.accounts
В папке /tahoe/1 начинаем генерировать ключи шифрования для sftp.
ssh-keygen -f частный/ssh_host_rsa_key
Снова перезагружаем tahoe, используя скрипт startall.sh. И на любом компьютере в любой системе (в том числе и в Windows) теперь можно настроить FileZilla, используя имя и пароль: renat (мы задали его ранее в файле ftp.accounts):
В меню FileZilla Transfers установите Save File Timestamps, чтобы при загрузке файлов в Tahoe мы сохраняли дату.
Подключаемся и можем скачивать файлы.
Вот как выглядит результат загрузки файла FTP-and-SFTP.rst из папки /home/allmydata-tahoe-1.8.2/docs/frontends/.
Как видите, файл размером 10,8 Кб был разбит на куски по 4,9 Кб и скачан в зашифрованном виде:
Таким образом, мы храним в Вуале куски зашифрованных файлов с непонятными именами.
Доступ к ссылке доступен только нам, так как ключи шифрования узла хранятся в локальной системе (OpenSuse).
Тем, кто особенно страдает паранойей, можно порекомендовать следующее: используйте первую ноду в wuala, вторую ноду используйте в DropBox, а третью храните локально на виртуальной машине.
Таким образом, даже если администраторы получат доступ к вашей информации, им будет доступна часть файла, содержащая 1/3 контента, а остальные части находятся в других местах и в других сервисах.
Также возможен интересный вариант, когда вы храните 2 ноды в wuala, 2 ноды в дропбоксе и 1 ноду в локальной папке.
Таким образом, даже если у вас сломается жесткий диск, то при настройке как в этой статье мы получим, что доступны 4 узла (минимум 3) для восстановления информации, так же, как если бы один из сервисов, например wuala, был отключен.
недоступен, используя 2 узла Dropbox и локальный узел, вы сможете читать и записывать свою информацию.
Если у пользователей возникнет интерес или возникнут вопросы, я постараюсь на них ответить.
Теги: #tahoe-lafs #P2P #информационная безопасность
-
5 Простых Способов Испортить Шрифт
19 Oct, 24 -
Тематические Блоги: От Идеи До Реализации
19 Oct, 24 -
Автора Смс Сбил Поезд
19 Oct, 24 -
Что Такое Точка Бифуркации?
19 Oct, 24 -
О Форматировании Строк В Современном C++
19 Oct, 24