Udgivelsen af værktøjet OpenZiti 1.0 er præsenteret, som muliggør integration af midler til distribueret netværkssamarbejde og adgang til tjenester i et isoleret netværksmiljø i applikationer. OpenZiti giver mulighed for at implementere et overlay-netværk specifikt for de udviklede applikationer, der fungerer oven på det almindelige internet og bruger mesh-routing, hvor hvert punkt i netværket forbindes gennem nabopunkter. Projektkoden er skrevet i Go og distribueres under Apache 2.0-licensen. Der tilbydes bindings til sprog som C, Go, Python, Swift, Java, Node.js og C# (.NET), samt værktøjer til integration med Android-applikationer.
OpenZiti-systemet er oprindeligt designet til at opbygge netværk, der sikrer beskyttelse og isolation af trafik under drift i usikrede miljøer, hvor noder kan være kompromitteret (Zero Trust-arkitektur). Teknologien kan anvendes til at organisere forbindelse til applikationer i stedet for VPN. Driften af netværket sikres gennem brugen af en kontrolproces, der styrer netværkskonfiguration, autentificering og opsætning af tjenester, samt noder, der har tilladelse til at fungere som routere, som danner et mash-net og udfører transmission af transittrafik. Det er muligt at tilføje tjenester til belastningsfordeling og sikre fejltolerance.

Adgang til overlay-netværket sker ved hjælp af specielle edge-klienter, der muliggør adgang fra det eksterne netværk til overlay-netværket opbygget med OpenZiti. Det er muligt at oprette tunneler og proxyer, der tillader at dirigere trafik fra det almindelige netværk til overlay-netværket og vice versa, så der kan interageres med de applikationer, der kører i overlay-netværket, fra det eksterne netværk og få adgang til eksisterende applikationer, der ikke har indbygget understøttelse af overlay-netværket.
Adgang til netværket og modtagelse af data fra servere DNS er kun mulig efter obligatorisk autorisering og autentifikation — uden nødvendige beføjelser kan kunden ikke bestemme, om tjenesten er tilgængelig, eller oprette forbindelse til den. Al trafik beskyttes ved hjælp af mTLS (gensidig autentifikation, hvor både klient og server autentificerer hinanden) og end-to-end kryptering (ChaCha20-Poly1305), hvilket betyder, at kompromittering af netværkselementer ikke vil tillade inspektion af applikationernes trafik. Funktionen til kryptering anvender biblioteksfunktioner fra libsodium.
Blandt de populære applikationer, der bruger OpenZiti, kan nævnes datadelingplatformen Zrok og økosystemet browZer til udrulning af hjemmesider i overlay-netværk. Udover at skabe distribuerede netværksapplikationer er OpenZiti også egnet til opbygning af private netværk for at muliggøre adgang til lukkede API'er, hjemmesider eller databaser, skjule Kubernetes-baseret infrastruktur i overlay-netværket og fjernstyring af eksterne systemer og enheder uden opsætning af firewalls og brug af VPN.
I OpenZiti 1.0-versionen er API-stabilitet for routere og controllere sikret (for klienter var API-stabilitet garanteret tidligere). Fra denne version vil API'et og kommandolinjegrænsefladen støtte bagudkompatibilitet, og i tilfælde af, at funktioner skal fjernes, vil der blive anvendt en proces med først at nedklassificere dem og derefter faktisk fjerne dem kun ved betydelig ændring af versionsnumret. Den nye version har også gennemgået yderligere test med simulering af forskellige netværkskomponentfejl (chaos testing) for at sikre netværkets modstandsdygtighed i tilfælde af nødssituationer og evnen til at vende tilbage til normal drift efter genoprettelse af de fejlbehæftede komponenter.
Kilde: opennet.ru
