Релиз NNCP 5.0.0, утилит для передачи файлов/почты в режиме store-and-forward

Состоялся релиз Node-to-Node copy (NNCP), набора утилит для безопасной передачи файлов, электронной почты и команд для исполнения в режиме store-and-forward. Поддерживается работа на POSIX-совместимых операционных системах. Утилиты написаны на языке Go и распространяются под лицензией GPLv3.

Утилиты ориентированы на помощь в построении небольших одноранговых friend-to-friend сетей (дюжины узлов) со статической маршрутизацией для безопасной передачи файлов в режиме fire-and-forget, запросов на файлы, электронной почты и запросов на выполнение команд. Все передаваемые пакеты зашифрованы (end-to-end) и явно аутентифицируются по известным публичным ключам знакомых. Луковое (как в Tor) шифрование применяется для всех промежуточных пакетов. Каждый узел может выступать как в роли клиента, так и сервера и использовать и push и poll модель поведения.

Отличием NNCP от решений UUCP и FTN (FidoNet Technology Network), кроме вышеупомянутого шифрования и аутентификации, является поддержка из коробки сетей флоппинет и компьютеров, физически изолированных (air-gapped) от небезопасных локальных и публичных сетей. Особенностью NNCP также является лёгкая интеграция (наравне с UUCP) с текущими почтовыми серверами, такими как Postfix и Exim.

Из возможных областей применения NNCP отмечается организация отправки/приёма почты на устройства без постоянного подключения к интернету, передачи файлов в условиях нестабильного сетевого соединения, безопасной передачи очень больших объёмов данных на физических носителях, создание защищённых от MitM-атак изолированных сетей передачи данных, обхода сетевой цензуры и слежки. Так как ключ для дешифровки находится только у получателя, независимо от путей доставки пакета по сети или через физические носители, третье лицо не может прочитать содержимое, даже перехватив отправление. В свою очередь аутентификация по цифровой подписи не позволяет сформировать фиктивное отправление под видом другого отправителя.

Среди новшеств NNCP 5.0.0, по-сравнению с предыдущей новостью (версия 3.3), можно отметить:

  • Лицензия проекта с GPLv3+ изменена на GPLv3-only, из-за недоверия к Фонду СПО после ухода Ричарда Столлмана из него;
  • Используется полноценное AEAD шифрование ChaCha20-Poly135 128 KiB блоками. Это позволяет сразу же на лету аутентифицировать данные в зашифрованных пакетах, вместо выхода с ошибкой в конце чтения всего шифротекста;
  • Формат конфигурационного файла сменился с YAML на Hjson. Библиотека последнего существенно проще и меньше по размерам, при аналогичном удобстве работы человека с конфигурацией;
  • zlib алгоритм сжатия заменён на Zstandard: значительное повышение скорости сжатия при существенно более высокой эффективности;
  • nncp-call получил опцию просмотра имеющихся пакетов (-list) на удалённой стороне, без их скачивания. А также возможность выборочного скачивания пакетов (-pkts);
  • nncp-daemon получил опцию -inetd, позволяя ему запускаться под inetd или, например, через SSH;
  • Online соединения можно делать не только напрямую по TCP, но и вызывая внешние команды и общаясь через stdin/stdout. Например: nncp-call gw.stargrave.org «|ssh gw.stargrave.org nncp-daemon -inetd»;
  • Дружелюбность команд к umask (используя расширенные права доступа типа 666/777) и возможность глобального выставления umask через конфигурационный файл, упрощая использование общей spool-директории среди нескольких пользователей;
  • Полное использование системы Go модулей.

Источник: opennet.ru

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