
Piattaforma di networking zero-trust che rende i servizi invisibili grazie a identità crittografica, accesso basato su policy e crittografia end-to-end. Sostituisce le VPN, protegge l'IoT e connette ambienti multi-cloud senza porte aperte.
OpenZiti è una piattaforma di networking zero‑trust open‑source che rende i servizi di rete invisibili agli utenti non autorizzati. Ogni connessione, provenga da un utente, un servizio, un dispositivo o un carico di lavoro, viene autenticata con un'identità crittografica, autorizzata tramite policy e crittografata end‑to‑end.
OpenZiti funziona sia con applicazioni esistenti (usando tunnelers leggeri senza necessità di modifiche al codice) sia con nuove applicazioni (usando SDK embedded per il modello zero‑trust più forte). Ciò lo rende pratico sia per ambienti brownfield che per sviluppo greenfield.
Creato e sponsorizzato da NetFoundry. Concesso in licenza Apache 2.0.
OpenZiti ti permette di estendere lo zero‑trust ovunque per qualsiasi caso d’uso, inclusi carichi di lavoro e flussi di lavoro non umani, attraverso più reti e terze parti. Di seguito alcuni casi d’uso comuni.
Fornisci accesso sicuro ai servizi interni senza client VPN, problemi di split tunnelling o colli di bottiglia dei concentratori. Ogni servizio è autorizzato individualmente. Niente problema del tipo “una volta dentro, puoi raggiungere tutto”.
Rendi API e servizi invisibili a Internet. Zero porte in ascolto significa zero superficie d’attacco. I client autorizzati si connettono tramite OpenZiti; tutti gli altri non vedono nulla.
Dai a ogni dispositivo, sensore e macchina un’identità crittografica unica. Il modello di identità di OpenZiti funziona per carichi di lavoro non umani esattamente come per utenti umani, fornendo autenticazione forte per le connessioni machine‑to‑machine che costituiscono la maggior parte del traffico di rete moderno.
Rendi sicura la comunicazione tra carichi di lavoro attraverso cloud e ambienti diversi. I servizi si autenticano a vicenda con identità crittografica, non con posizione di rete. Niente segreti condivisi, niente allowlist IP, niente autorità ambientale.
Rendi sicura la comunicazione agente‑servizio e agente‑agente con identità crittografica per ogni partecipante AI. I server MCP, gli endpoint strumentali e gli LLM privati rimangono oscuri, senza porte in ascolto né URL pubblici. Gli agenti si autenticano con identità forti e uniche e raggiungono solo le risorse consentite dalla policy, così i flussi di lavoro autonomi ottengono l’accesso necessario senza autorità ambientale su tutto il resto.
Un’unica rete overlay su AWS, Azure, GCP, datacenter on‑prem e perimetri. Niente strumenti di rete specifici del cloud, niente tunnel VPN tra ambienti, niente complessi accordi di peering.
Accedi da qualsiasi luogo a servizi self‑hosted o home lab come Nextcloud, Home Assistant, server multimediali e ambienti di sviluppo. Niente porte del router aperte, niente DNS dinamico, niente dipendenza da servizi di tunnel di terze parti. Controlli l’intero percorso.
Connetti servizi tra cluster Kubernetes senza complesse regole di ingresso, sidecar di service mesh o tunnel VPN tra cluster. Funziona anche al di fuori di Kubernetes, supportando la connessione di servizi k8s a VM, bare metal, dispositivi IoT o qualsiasi altra cosa sull’overlay.
OpenZiti supporta tre modelli zero‑trust. Possono essere combinati in una singola rete ed è possibile migrare tra di essi nel tempo.
Distribuisci un edge router OpenZiti in una zona di rete fiduciaria. Il traffico entra nell’overlay da client autenticati ed esce nella rete privata dove risiedono i servizi.
Esegui un tunneler OpenZiti sullo stesso host del tuo servizio. Il tunneler gestisce identità, autenticazione e crittografia. Il servizio deve solo accettare connessioni da localhost.
Incorporare un SDK OpenZiti direttamente nelle applicazioni client e/o server. L’applicazione stessa possiede l’identità crittografica e crittografa il traffico in‑process. Non esistono porte in ascolto, nemmeno su localhost.
Da dove iniziare: Molti team iniziano con l’Accesso dall’Host (tunnelers) per i servizi esistenti. Si installa in pochi minuti senza modifiche al codice. Per nuovi sviluppi o carichi di lavoro ad alta sicurezza, l’Accesso dall’Applicazione (SDK) fornisce la postura zero‑trust più forte.
Le seguenti guide rapide mostrano come configurare una rete OpenZiti locale per sviluppo, test e apprendimento. Per deployment in produzione, consulta la documentazione del prodotto su https://netfoundry.io/docs/openziti/category/deployments/.
Il modo più veloce per avere una rete OpenZiti locale funzionante:
wget https://get.openziti.io/dock/all-in-one/compose.yml
docker compose up
Questo avvia un controller, un edge router e la console Ziti in un unico stack compose. La console è disponibile su https://localhost:1280/zac/. Da qui puoi creare identità, definire servizi e configurare policy di accesso.
Vedi la guida rapida all‑in‑one Docker per tutti i dettagli, incluse opzioni di storage, variabili d’ambiente e uso da riga di comando.
Scarica l’ultimo binario ziti da GitHub Releases, quindi:
ziti edge quickstart
Questo avvia una rete di sviluppo locale: controller, router e un’identità amministratore predefinita. Ideale per test e apprendimento.
Per aggiungere la Ziti Admin Console (ZAC) a un controller in esecuzione:
ziti ops console download --location /opt/openziti/console
ziti ops console configure /path/to/controller.yml --all --location /opt/openziti/console
# riavvia il controller, poi apri https://<indirizzo-controller>/zac/
Oppure servi ZAC localmente senza toccare la configurazione del controller:
ziti run console --version latest
# apre https://127.0.0.1:8443. puntalo a qualsiasi controller dal browser
La rete overlay di OpenZiti funziona sopra l’infrastruttura esistente: qualsiasi rete IP, qualsiasi cloud, qualsiasi combinazione. I componenti principali:
Il controller è il piano di gestione. Si occupa di:
Gli edge router formano il piano dati, una maglia mesh che trasporta il traffico crittografato tra gli endpoint.
I router si scoprono automaticamente, formano connessioni mesh e usano il routing intelligente per selezionare il percorso migliore in base a latenza, throughput e costi.
Gli endpoint sono il modo in cui applicazioni e utenti si connettono alla rete OpenZiti:
SDK (Go, C, Python, Node.js, Java, Swift, C#): incorporano lo zero‑trust direttamente nella tua applicazione. L’app stessa possiede l’identità e gestisce la crittografia. Niente sidecar, niente agente, niente porte in ascolto.
Tunnelers (Linux, Windows, macOS, iOS, Android): app leggere che forniscono connettività OpenZiti a software non modificato. Il traffico viene intercettato e instradato attraverso l’overlay in modo trasparente. Nessuna modifica al codice richiesta.
Ogni partecipante (es. utente, servizio, dispositivo, carico di lavoro) in una rete OpenZiti porta con sé un’identità crittografica unica basata su certificati x509. Quando viene tentata una connessione, OpenZiti verifica:
Se uno qualsiasi dei controlli fallisce, la connessione viene negata. Se l’accesso viene successivamente revocato, le connessioni attive vengono terminate immediatamente. Non esiste fiducia implicita basata sulla posizione di rete. Essere sulla stessa LAN non concede più accesso che essere su Internet, a meno che la policy non lo permetta esplicitamente.
Questo modello fornisce segmentazione zero‑trust delle applicazioni: ogni servizio è autorizzato indipendentemente. Ottenere accesso a un servizio non concede accesso a nessun altro.
Un servizio “oscuro” non ha porte aperte. Non ascolta su alcuna interfaccia di rete per connessioni in entrata. Invece, il servizio (o un tunneler al suo fianco) effettua una connessione in uscita verso un edge router OpenZiti e si registra. I client lo raggiungono solo attraverso il fabric OpenZiti, dopo autenticazione e autorizzazione.
Cosa significa in pratica:
Anche gli edge router possono essere oscuri. I router privati effettuano solo connessioni in uscita, quindi non sono necessarie regole firewall in entrata nella tua rete privata.
Con gli SDK OpenZiti, il traffico è crittografato dall’applicazione mittente a quella ricevente usando libsodium per il percorso dati e mTLS per l’autenticazione dell’identità. Anche se router o reti intermedie vengono compromessi, il traffico non può essere decifrato o manomesso.
Con i tunnelers, la crittografia copre il percorso dal tunneler al tunneler (o dal tunneler all’SDK), fornendo crittografia macchina‑macchina senza modifiche all’applicazione.
Incorpora il networking zero‑trust direttamente nelle tue applicazioni:
Tutti gli SDK sono elencati nell’organizzazione GitHub OpenZiti.
OpenZiti è un progetto incentrato sulla sicurezza. La divulgazione responsabile delle vulnerabilità ci aiuta a proteggere la piattaforma e i suoi utenti.
Segnalare una vulnerabilità: Se scopri un problema di sicurezza, consulta la nostra Vulnerability Disclosure Policy per i dettagli completi. I problemi sensibili vanno segnalati a [email protected]. I problemi non sensibili possono essere segnalati come issue GitHub nel repository appropriato. Dovresti ricevere una risposta entro 7 giorni.
Come gestiamo le vulnerabilità: Il nostro Product Security Incident Response Process descrive come le vulnerabilità segnalate vengono triaged, documentate e risolte, inclusa la coordinazione delle release CVE con le correzioni.
Porto sicuro: OpenZiti e NetFoundry non intraprenderanno azioni legali contro chiunque ricerchi e segnali vulnerabilità in buona fede. Incoraggiamo la ricerca sulla sicurezza e attribuiamo i risultati segnalati ai loro autori negli advisory e nelle note di rilascio.
OpenZiti ha una comunità attiva e in crescita:
Il progetto OpenZiti accoglie contributi di codice, documentazione, segnalazioni di bug e feedback.
Vedi il tutorial di sviluppo locale per le istruzioni di compilazione.
OpenZiti è utilizzato in produzione da organizzazioni come DeltaSecure (SOC gestito), Resulticks (automazione marketing), Chirp Wireless (IoT/telecom), GIGO Dev (ambienti di sviluppo cloud), OSMIT (IT gestito/conformità GDPR) e progetti open‑source come zrok e BlueBubbles.
Vedi l’elenco completo: ADOPTERS.md. Usi OpenZiti? Ci piacerebbe aggiungerti — apri un issue o invia una PR.
Per il networking zero‑trust senza gestire la propria infrastruttura, NetFoundry fornisce una rete OpenZiti completamente gestita e distribuita globalmente come servizio, con SLA, supporto enterprise e un fabric globale di edge router.
OpenZiti è sviluppato e reso open‑source da NetFoundry, Inc.
| Capacità | Descrizione |
|---|
| Servizi Oscuri | I servizi hanno zero porte in ascolto. Invisibili a scanner e utenti non autorizzati. |
| Identità per Tutto | Identità crittografica per utenti, servizi, dispositivi e carichi di lavoro non umani (NHI). Non basata su IP. |
| Operazioni Basate sull’Identità | Gestisci reti tramite identità e policy invece di indirizzi IP e regole firewall. Semplifica le operazioni ed elimina la configurazione manuale della rete. |
| Crittografia End‑to‑End | Dati crittografati dalla sorgente alla destinazione usando libsodium. mTLS per l’autenticazione. Zero trust nel percorso di rete. |
| Niente VPN o Porte Aperte | Le connessioni transitano nell’overlay di OpenZiti. Niente client VPN, niente regole firewall in entrata, niente porte esposte. |
| Routing Intelligente | Maglia mesh con selezione intelligente del percorso per prestazioni e affidabilità. |
| Deployment Flessibile | Incorpora SDK, usa tunnelers o distribuisci a livello di rete. Combina e abbina per servizio. |
| Accesso Basato su Policy | Policy granulari basate sull’identità. L’accesso può essere revocato in tempo reale, chiudendo le connessioni attive. |
| API REST Programmabili | API di gestione completa per automazione e integrazione. Console di amministrazione web inclusa. |
| Completamente Auto‑ospitabile | Esegui l’intera piattaforma sulla tua infrastruttura. Nessuna dipendenza dal fornitore. Open source, Apache 2.0. |
| Risorsa | Descrizione |
|---|
| Introduzione | Concetti fondamentali e come funziona OpenZiti |
| Guide Rapide | Configurazione passo passo per ambienti locali, Docker e ospitati |
| Modelli Zero Trust | Approfondimento sui tre modelli di deployment |
| Riferimento Tunnelers | Inizia senza modifiche al codice |
| Linguaggio | Repository | Note |
|---|
| Go | sdk-golang | Usato dal progetto OpenZiti stesso |
| C | ziti-sdk-c | Ideale per sistemi embedded, IoT e casi d’uso ad alte prestazioni |
| Java / Kotlin | ziti-sdk-jvm | Include supporto Android |
| Swift | ziti-sdk-swift | iOS e macOS |
| Node.js | ziti-sdk-nodejs | |
| C# / .NET | ziti-sdk-csharp | |
| Python | ziti-sdk-py |
| Repository | Descrizione |
|---|
| openziti/ziti | Piattaforma core: controller, router, CLI |
| sdk-golang | SDK Go |
| ziti-sdk-c | SDK C |
| ziti-sdk-jvm | SDK Java / Kotlin / Android |
| ziti-sdk-swift | SDK Swift / iOS |
| ziti-sdk-nodejs | SDK Node.js |
| ziti-sdk-csharp | SDK C# |
| ziti-sdk-py | SDK Python |
| ziti-tunnel-sdk-c | Tunneler Linux e SDK core per tunnelers |
| ziti-tunnel-apple | Client edge macOS e iOS |
| desktop-edge-win | Client edge desktop Windows |
| ziti-doc | Sito della documentazione |