Червоточина: безопасно передавать файлы через Интернет
предосторожность
Эта статья была опубликована более чем год назад, там, возможно, были события.
Пожалуйста, примите это во внимание.
Есть те, кто использует Dropbox / Мега / Гугл Диск, кто классика Эл. почта, кто зашифрованные электронные письма, проводить SSH / SCP и кто еще оставил USB палочки. Сегодняшний обмен файлами требует хорошей доли воображения и более чем тщательного отбора альтернатив., или мы рискуем ошибиться.
Прежде всего необходимо оценить безопасность средств, с помощью которых мы хотим передать информацию. Будь то фотографии праздников или файлы настроек Firefox, давайте спросим себя, были бы мы спокойны, если бы эти данные были “кровати” от кого-то другого.
Мы также оцениваем размер передаваемых данных. Почта имеет ограниченную емкость, продиктованную сервером. / Менеджер по обслуживанию (и необходимо проверить, что размер разрешен нашим менеджером и адресатом).
Мы оцениваем простота система, понятность данных, которые нам нужно будет вставить в программное обеспечение. Не все так хороши в быстром написании хэшей, с первой попытки, без ошибок. И под простотой мы также подразумеваем возможность того, что необходимо открыть некоторые порты на маршрутизаторе., брандмауэр, принимающий компьютер… наличие даже дискретных знаний о сети и ее функционировании не может быть определено “простой”.
Мы оцениваем географическое расстояние между точкой отправки и точкой получения. Мы так любим своего ближнего, но мы не будем обмениваться файлами только с ним.
После того, как мы оценили все эти аспекты, мы оцениваем использование червоточины., что у этих слабостей их нет.
Wormhole - это небольшая утилита командной строки, доступная для Linux. (много дистрибутивов) и macOS (нет окон). Перметт червоточины, через понятный синтаксис, пересылать файлы любого типа, любого размера, с исходного компьютера на конечный без посредников. ой, е… Я уже сказал это Открытый исходный код?
Работа Wormhole в сети в целом аналогична NetCat в локальной сети.. Возможно, вас заинтересует статья, в которой я рассказывал о NetCat..
Для такого легкого приложения на Python, то, что он делает, действительно не от мира сего. Как и в случае с NetCat, вам просто нужно запустить соответствующую команду на сервере., сопровождается местоположением файла для пересылки, и запустите команду “прием” на клиенте, чтобы начать загрузку. Объяснять дольше, чем делать.
сервер (компьютер, на котором находится файл для пересылки)
~$ wormhole send README.md
Sending 7924 byte file named 'README.md'
On the other computer, please run: wormhole receive
Wormhole code is: 7-crossover-clockwork
Sending (<-10.0.1.43:58988)..
100%|=========================| 7.92K/7.92K [00:00<00:00, 6.02MB/s]
File sent.. waiting for confirmation
Confirmation received. Transfer complete.
Клиент (компьютер, который получит файл)
~$ wormhole receive
Enter receive wormhole code: 7-crossover-clockwork
Receiving file (7924 bytes) into: README.md
ok? (y/n): y
Receiving (->tcp:10.0.1.43:58986)..
100%|===========================| 7.92K/7.92K [00:00<00:00, 120KB/s]
Received file written to README.md
Интересно то, что сгенерированный ключ: в этом случае два члена и число. Что-то простое, чтобы написать или сказать (в случае, если мы были по телефону). Коды червоточин одноразовые, поэтому, когда вы его использовали (или вы не использовали бы это) код будет утерян.
С Wormhole вы можете пересылать файлы или каталоги. Каталоги сжимаются перед пересылкой.
Это будет безопасно?
Короткий ответ: “и”.
Длинный ответ: Червоточина использует PAKE (Обмен ключами с аутентификацией паролем) зашифровать данные (алгоритм SPAKE2).
Библиотека червоточины требует “Сервер рандеву”: простой ретранслятор на основе WebSocket, который доставляет сообщения от одного клиента к другому. Это позволяет кодам червоточин опускать IP-адреса и номера портов.. URL-адрес общедоступного сервера вводится в библиотеку для использования по умолчанию и будет доступен до тех пор, пока объем или злоупотребление не сделают невозможной поддержку.
Команды передачи файлов используют “Транзитное реле”, это еще один простой сервер, который объединяет два входящих TCP-соединения и передает данные друг другу.. Режим отправки файла Wormhole разделяет IP-адреса каждого клиента с другим. (в зашифрованном сообщении) и оба клиента сначала пытаются подключиться напрямую. Если не получится, они возвращаются к использованию транзитного реле.
Если все еще непонятно, рекомендую посмотреть выступление Брайана Уорнера на PyCon del 2016 в котором мы говорим почти исключительно о безопасности.
Установка
В основных дистрибутивах найти пакет будет довольно просто. “magic-wormhole
” в репозиториях. Те, кто не может найти его в репозиториях своего дистрибутива, могут попробовать с snap
.
~$ sudo snap install wormhole
Для получения дополнительной информации о проекте Червоточина размещена на GitHub.
0 Комментарии