De release van de OpenZiti-toolkit 1.0 is aangekondigd, waarmee applicaties kunnen worden geïntegreerd met middelen voor gedistribueerde netwerken en toegang tot services in een geïsoleerde netwerkomgeving. OpenZiti biedt de mogelijkheid om een applicatie-specifiek overlay-netwerk op te zetten dat bovenop het reguliere internet functioneert en gebruikmaakt van mesh-routering, waarbij elk punt in het netwerk wordt verbonden via naburige punten. De code van het project is geschreven in de programmeertaal Go en wordt verspreid onder de Apache 2.0-licentie. Er worden wrappers aangeboden voor de talen C, Go, Python, Swift, Java, Node.js en C# (.NET), evenals een toolkit voor integratie met applicaties voor het Android-platform.
Het OpenZiti-systeem is oorspronkelijk ontworpen voor het opzetten van netwerken die bescherming en isolatie van verkeer garanderen in onveilige omgevingen, waarbij knooppunten mogelijk gecompromitteerd kunnen zijn (Zero Trust-architectuur). De technologie kan worden gebruikt voor het organiseren van verbindingen met applicaties in plaats van VPN. Het netwerk wordt gevoed door een controller-proces dat verantwoordelijk is voor netwerkconfiguratie, authenticatie en servicenetwerken, evenals knooppunten die zijn toegestaan om als routers op te treden, waardoor een mash-netwerk ontstaat dat transitverkeer door zich heen laat lopen. Het is mogelijk om services toe te voegen voor belastingverdeling en het waarborgen van de beschikbaarheid.

Toegang tot het overlay-netwerk wordt gerealiseerd met behulp van speciale edge-clients, waarmee toegang kan worden verkregen van het externe netwerk naar het overlay-netwerk dat is opgebouwd met OpenZiti. Het is mogelijk om tunnels en proxies te creëren die verkeer van het reguliere netwerk naar het overlay-netwerk en vice versa kunnen doorsturen, zodat interactie met de applicaties die in het overlay-netwerk draaien mogelijk is en toegang kan worden verkregen tot bestaande applicaties die geen ondersteuning voor het overlay-netwerk hebben geïntegreerd.
Toegang tot het netwerk en het ophalen van gegevens van servers DNS is only possible after mandatory authorization and authentication — without proper rights, the client will not be able to determine the presence of the service and connect to it. All traffic is protected using mTLS (mutual authentication, where both the client and server authenticate each other) and end-to-end encryption (ChaCha20-Poly1305), meaning that compromising network nodes will not allow traffic interception of applications. Encryption is handled by the libsodium library functions.
Among the popular applications using OpenZiti are the Zrok data-sharing platform and the browZer ecosystem for deploying websites in an overlay network. In addition to creating distributed network applications, OpenZiti is also suitable for building private networks to organize access to closed APIs, websites, or databases, hiding infrastructure based on Kubernetes in the overlay network, as well as remotely managing external systems and devices without configuring firewalls and using VPN.
The release of OpenZiti 1.0 provides stability for the API of routers and controllers (for clients, API stability was guaranteed earlier). Starting with this release, backward compatibility will be supported in the API and command line interface, and if capabilities need to be removed, a deprecation process will be applied before actual removal, only during significant version changes. In the new version, additional testing has also been conducted simulating various component failures in the network (chaos testing), allowing to ensure the network's stability in case of emergencies and its ability to return to normal operation after faulty components are restored.
Bron: opennet.ru
