Se ha presentado la versión 1.0 de la herramienta OpenZiti, que permite integrar medios para la interacción de redes distribuidas y el acceso a servicios en un entorno de red aislado. OpenZiti ofrece la posibilidad de desplegar una red de superposición específica para las aplicaciones en desarrollo, que funciona sobre Internet convencional y utiliza enrutamiento en malla, donde cada punto de la red se conecta a través de puntos vecinos. El código del proyecto está escrito en Go y se distribuye bajo la licencia Apache 2.0. Se proporcionan enlaces para los lenguajes C, Go, Python, Swift, Java, Node.js y C#, así como herramientas para la integración con aplicaciones en la plataforma Android.
El sistema OpenZiti está diseñado inicialmente para construir redes que garantizan la protección y el aislamiento del tráfico en entornos inseguros, donde los nodos pueden estar comprometidos (arquitectura de confianza cero - Zero Trust). La tecnología puede aplicarse para establecer conexión con aplicaciones en lugar de VPN. El funcionamiento de la red se asegura mediante el uso de un proceso controlador, que gestiona la configuración de la red, la autenticación y la configuración de servicios, así como los nodos que pueden actuar como enrutadores, formando una red en malla y realizando la transmisión de tráfico de tránsito. Se pueden agregar servicios para balancear la carga y asegurar la alta disponibilidad.

El acceso a la red de superposición se logra mediante clientes edge especiales, que permiten el acceso desde una red externa a la red de superposición construida con OpenZiti. Es posible crear túneles y proxies que permiten enrutar el tráfico desde una red convencional a la de superposición y viceversa, para interactuar desde una red externa con aplicaciones que funcionan en la red de superposición y acceder a aplicaciones existentes que no tienen integrada la compatibilidad con la red de superposición.
El acceso a la red y la obtención de datos de servidores El DNS solo es posible tras la autorización y autenticación obligatorias; sin los permisos necesarios, el cliente no podrá determinar la disponibilidad del servicio ni conectarse a él. Todo el tráfico se protege mediante mTLS (autenticación mutua, en la que tanto el cliente como el servidor se autentican entre sí) y cifrado de extremo a extremo (ChaCha20-Poly1305), lo que significa que la compromisión de los nodos de la red no permitirá ver el tráfico de las aplicaciones. Para el cifrado se utilizan funciones de la biblioteca libsodium.
Entre las aplicaciones populares que utilizan OpenZiti se destacan la plataforma de acceso compartido a datos Zrok y el ecosistema browZer para el despliegue de sitios en la red de superposición. Además de crear aplicaciones de red distribuidas, OpenZiti también es adecuado para construir redes privadas que faciliten el acceso a API, sitios o bases de datos cerrados, ocultar infraestructuras basadas en Kubernetes en la red de superposición, así como para la gestión remota de sistemas y dispositivos externos sin la necesidad de configurar cortafuegos y utilizaciones de VPN.
La versión OpenZiti 1.0 asegura la estabilidad de la API para routers y controladores (la estabilidad de la API para los clientes ya estaba garantizada anteriormente). A partir de esta versión, la API y la interfaz de línea de comandos soportarán la compatibilidad hacia atrás, y si es necesario eliminar características, se aplicará un proceso de desaprobación antes de su eliminación definitiva solo en caso de cambios significativos en el número de versión. En la nueva versión también se ha realizado pruebas adicionales con simulación de diversos fallos en los componentes de la red (pruebas de caos), lo que permite asegurar la resiliencia de la red en caso de situaciones anormales y la capacidad de retornar a un funcionamiento normal después de reanudar los componentes fallidos.
Fuente: opennet.ru
