Реліз 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), крім вищезазначеного шифрування та аутентифікації, є підтримка з коробки мереж флоппінет та комп'ютерів, фізично ізольованих (повітряний проміжок) від небезпечних локальних та публічних мереж. Особливістю NNCP є легка інтеграція (нарівні з UUCP) з поточними поштовими серверами, такими як Postfix і Exim.

З можливих областей застосування NNCP зазначається організація надсилання/прийому пошти на пристрої без постійного підключення до інтернету, передачі файлів в умовах нестабільного мережного з'єднання, безпечної передачі дуже великих обсягів даних на фізичних носіях, створення захищених від MitM-атак ізольованих мереж передачі даних, обходу мережевої цензури та стеження. Так як ключ для дешифрування знаходиться тільки в одержувача, незалежно від шляхів доставки пакета через мережу або через фізичні носії, третя особа не може прочитати вміст, навіть перехопивши відправлення. Аутентифікація за цифровим підписом не дозволяє сформувати фіктивне відправлення під виглядом іншого відправника.

Серед нововведень NNCP 5.0.0, порівняно з попередньою новиною (версія 3.3), можна зазначити:

  • Ліцензія проекту з GPLv3+ змінена на GPLv3-only, через недовіру до Фонду СПО після догляду Річарда Столлмана з нього;
  • Використовується повноцінне AEAD шифрування ChaCha20-Poly135 128 KiB блоками. Це дозволяє відразу ж на льоту аутентифікувати дані в зашифрованих пакетах замість виходу з помилкою в кінці читання всього шифротексту;
  • Формат конфігураційного файлу змінився з ЯМЛ на Hjson. Бібліотека останнього значно простіше і менше за розмірами, при аналогічному зручності роботи з конфігурацією;
  • zlib алгоритм стиснення замінений на Зстандарт: значне підвищення швидкості стиснення за значно більш високої ефективності;
  • 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

Додати коментар або відгук