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

Адбыўся рэліз Node-to-Node copy (NNCP), набору ўтыліт для бяспечнай перадачы файлаў, электроннай пошты і каманд для выканання ў рэжыме захоўваць і наперад. Падтрымліваецца праца на 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 блокамі. Гэта дазваляе адразу ж на лёце аўтэнтыфікаваць дадзеныя ў зашыфраваных пакетах, замест вынахаду з памылкай у канцы чытання ўсяго шыфратэксту;
  • Фармат канфігурацыйнага файла змяніўся з YAML на 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

Дадаць каментар