Система OpenZiti изначально рассчитана на построение сетей, гарантирующих защиту и изоляцию трафика в условиях работы в незащищённых окружениях, узлы в которых могут быть скомпрометированы (архитектура с нулевым доверием — Zero Trust). Технология может применяться для организации связи c приложениями вместо VPN. Работа сети обеспечивается через использование процесса-контроллера, управляющего конфигурацией сети, аутентификацией и настройкой сервисов, а также узлов, которым разрешено выступать в роли маршрутизаторов, образующих mash-сеть и выполняющих передачу через себя транзитного трафика. Возможно добавление сервисов для балансировки нагрузки и обеспечения отказоустойчивости.
Доступ к сети реализуется при помощи специальных edge-клиентов, позволяющих обращаться из внешней сети к оверлейной сети, построенной при помощи OpenZiti. Возможно создание
туннелей и прокси, позволяющих пробрасывать трафик из обычной сети в оверлейную и наоборот, чтобы из внешней сети взаимодействовать с работающими в оверлейной сети приложениями и обращаться к существующим приложениям, в которых не встроена поддержка оверлейной сети.
Обращение к сети и получение данных с серверов DNS возможно только после прохождения обязательной аутентификации — без наличия полномочий клиент не сможет определить наличие сервиса и подключиться к нему.
Весь трафик защищается при помощи mTLS (взаимная аутентификация, при которой клиент и сервер аутентифицируют друг друга) и сквозного шифрования (ChaCha20-Poly1305), т.е. компрометация частей сети не позволит просматривать трафик. Для шифрования задействованы функции библиотеки libsodium.
Из популярных приложений, использующих OpenZiti, можно отметить платформу совместного доступа к данным Zrok и экосистему browZer для развёртывания сайтов в оверлейной сети. Кроме создания распределённых сетевых приложений OpenZiti также подходит для построения частных сетей для организации доступа к закрытым API, сайтам или БД, скрытия в оверлейной сети инфраструктур на базе Kubernetes, а также удалённого управления внешними системами и устройствами без настройки межсетевых экранов и задействования VPN.
В выпуске OpenZiti 1.0 обеспечена стабильность API для маршрутизаторов и контроллеров (для клиентов стабильность API гарантировалась и раньше). Начиная с данного выпуска в API и интерфейсе командной строки будет поддерживаться обратная совместимость, а при необходимости удаления возможностей будет применяться процесс предварительного перевода их в разряд устаревших и фактического удаления только при значительном смене номера версии. В новой версии также проведено дополнительное тестирование с симуляцией различных сбоев компонентов сети (chaos testing), позволяющее убедиться в устойчивости сети в случае возникновения нештатных ситуаций и способности возвращения к нормальной работе после возобновления работы сбойных компонентов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60971