Релиз на NNCP 8.8.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 8.8.0, в сравнение с предишната версия (5.0.0):

  • Вместо хешира BLAKE2b за проверка на целостност на файлове се използва т.нар. MTH: базирано на Мерково дърво хеширане, използващо хеш BLAKE3. Това позволява да се изчисли целостта на криптираната част от пакета по време на изтеглянето, без да изисква прочитане по-късно. Освен това, това позволява неограничено паралелизиране на проверката за целостност.
  • Новият формат на криптирани пакети е напълно удобен за предаване на потоци, когато размерът на данните не е предварително известен. Сигнализацията за завършване на предаването, с удостоверен размер, се прави направо в криптирания поток. По-рано, за да се разбере размерът на предаваните данни, те трябваше да се запазят в временен файл. Така опцията „-use-tmp“ на екипа nncp-exec отпадна напълно.
  • Функцията BLAKE2b KDF и XOF бяха заменени с BLAKE3, за да се намали броят на използваните криптографски примитиви и да се опрости кода.
  • Появи се възможност за откриване на други възли в локалната мрежа чрез многократна разпратка на адрес „ff02::4e4e:4350“.
  • Появиха се многократни групи (аналогични на echo-конференциите на FidoNet или новинарските групи на Usenet), позволяващи на един пакет да изпрати данни на множество участници в групата, където всеки също препраща пакета на останалите абонати. Четенето на многократния пакет изисква познаване на ключовата двойка (необходимо е явно да бъдете участник в групата), но препращането може да се извършва от всякакъв възел.
  • Вградена е поддръжка за явни потвърждения за получаване на пакета. Изпращачът може да не изтрива пакета след изпращането, чакайки получаване на специален ACK-пакет от получателя.
  • Вградена е поддръжка за overlay мрежата Yggdrasil: онлайн демони могат да бъдат пълноправни участници в мрежата, без да използват външни реализации на Yggdrasil и с пълна работа с IP стека на виртуален мрежов интерфейс.
  • Вместо структурирани низове (RFC 3339), журналът използва записи с recfile, с които могат да се използват утилити на GNU Recutils.
  • Опционално заглавията на криптираните пакети могат да се съхраняват в отделни файлове в поддиректорията „hdr/“, значително ускорявайки операциите по получаване на списък с пакети на файлови системи с голям размер на блока, като ZFS. По-рано получаването на заглавието на пакета изискваше по подразбиране прочитане от диска на целия 128KiB блок.
  • Проверка наличието на нови файлове може опционално да използва подсистемите на ядрото kqueue и inotify, което намалява системните повиквания.
  • Утилитите държат по-малко отворени файлове, по-рядко се затварят и преотварят. При голям брой пакети преди това можеше да се достигне ограничение на максималния брой отворени файлове.
  • Много команди започнаха да показват напредъка и скоростта на изпълнение на операции, като например изтегляне/изпращане, копиране и обработка (toss) на пакети.
  • Командата „nncp-file“ може да изпраща не само единични файлове, но и директории, създавайки на лето pax-архив с техните съдържания.
  • Онлайн утилитите могат опционално веднага да задейства процеса на обработка на пакети (tossing) след успешно изтегляне на пакета, без да стартират отделен демон „nncp-toss“.
  • Онлайн извикването на друг участник може опционално да се осъществи не само по събитие сработване на таймер, но и по фактическото появяване на изходящ пакет в spool-директорията.
  • Обезпечена е работоспособността под ОС NetBSD и OpenBSD, освен под по-рано поддържаните FreeBSD и GNU/Linux.
  • „nncp-daemon“ е напълно съвместим с интерфейса UCSPI-TCP. В комбинация с възможността за регистриране в зададен файлов дескриптор (например да зададете „NNCPLOG=FD:4“), той е напълно удобен за стартиране с утилити, подобни на daemontools.
  • Сборката на проекта е напълно преведена на системата redo.

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster