Costruire un ambiente di rete Zero Trust con OpenZiti su Ubuntu Server 26.04

da | Giu 15, 2026 | 0 commenti

 

Nel panorama della sicurezza informatica moderna, il modello tradizionale basato sul perimetro di rete quello del “dentro si fida, fuori non si fida” ha mostrato tutti i suoi limiti.

Ambienti ibridi lavoro remoto microservizi distribuiti su cloud multipli: il perimetro, semplicemente, non esiste più.

È in questo contesto che nasce il paradigma Zero Trust il cui principio fondamentale è tanto semplice quanto radicale: non fidarsi mai di nessuno per default, verificare sempre tutto.

OpenZiti è una piattaforma open source che porta questo modello dalla teoria alla pratica.

Ogni connessione viene autenticata con un’identità crittografica, ogni accesso è autorizzato da policy esplicite, il traffico è cifrato end-to-end e i servizi restano completamente invisibili a chiunque non sia autorizzato nessuna porta aperta, nessuna superficie di attacco esposta.

Il tutto senza richiedere modifiche al codice delle applicazioni esistenti.

In questa guida vedremo come installare e configurare OpenZiti su Ubuntu Server 26.04 costruendo da zero un overlay network zero trust con Controller, Edge Router e console di amministrazione web.

Che tu voglia proteggere un homelab, esporre servizi interni senza aprire porte sul firewall o semplicemente capire come funziona una rete zero trust nella pratica, questa è la guida da cui partire.

Di seguito uno schema che spiega il funzionamento di OpenZiti

 

PREREQUISITI

Ubuntu 26.04 LTS (fresh install)
Utente con privilegi sudo
FQDN servertest.lab.prv risolvibile via DNS o /etc/hosts su tutti i client
Porte aperte sul firewall (vedi sezione dedicata)

Controller — il cervello della rete: gestisce identità, policy e certificati
Edge Router — il piano dati che instrada il traffico cifrato
ZAC (Ziti Admin Console) — interfaccia web di amministrazione

Porte richieste:

Porta Protocollo Componente Descrizione
1280 TCP Controller API Edge + Control Plane
3022 TCP Edge Router Edge Listener
10080 TCP Edge Router Link Listener (fabric)
8443 TCP ZAC Console Interfaccia Web Admin

 

FASE 1 – PREPARAZIONE DEL SISTEMA

Aggiornare il sistema con il comando:

Installare le dipendenze di base con il comando:

Verifica che l’FQDN sia corretto con il comando:

Dovremmo visualizzare il seguente output:

Se necessario impostare l’FQDN con il comando:

Assicurarsi che /etc/hosts contenga la riga corretta:

Aggiungere (sostituire con l’IP reale del server):

 

 

FASE 2 – AGGIUNTA DEL REPOSITORY OPENZITI

Questi comandi configurano il repository APT ufficiale di OpenZiti.

Scaricare e installare la chiave GPG del repository con il comando:

Rendere la chiave leggibile da tutti gli utenti con il comando:

Creare il file di repository APT con il comando:

Aggiornare la lista dei pacchetti con il comando:

NOTA BENE: OpenZiti usa debian come label del repository anche per Ubuntu — è corretto così.

 

FASE 3 – INSTALLAZIONE E CONFIGURAZIONE DEL CONTROLLER

 

3.1 INSTALLAZIONE DEL PACCHETTO

Eseguire il comando:

Il pacchetto installa anche la CLI ziti come dipendenza.

 

3.2 AVVIARE IL BOOTSTRAP DEL CONTROLLER

Il bootstrap crea automaticamente: PKI, certificati, config file e database.

Lo script pone alcune domande interattive. Rispondere come indicato nella tabella sottostante:

Domanda Risposta
Are you joining an existing cluster? N (nuovo cluster, default)
Permanent external address servertest.lab.prv
Node name servertest (default: primo label dell’FQDN)
Trust domain lab.prv (default: label rimanenti)
Port 1280 (default)
Admin password Genera automaticamente OPPURE inserisci una password sicura
Install web console? Y (consigliato)
Enable certificate renewal timer? Y (consigliato)

Al termine dell’installazione dovremmo vedere il seguente output:

Al termine abilitare il controller con il comando:

⚠️ IMPORTANTE: Salvare la password admin mostrata a fine bootstrap, ti servirà per accedere!

 

3.3 VERIFICARE LO STATO DEL CONTROLLER

Controllare che il servizio sia attivo con il comando:

Se è tutto OK dovremmo visualizzare il seguente output:

Verificare i log con il comando:

 

 

FASE 4 – INSTALLAZIONE E CONFIGURAZIONE DELL’EDGE ROUTER

 

4.1 INSTALLAZIONE DEL PACCHETTO

Eseguire il comando:

 

4.2 CREARE IL ROUTER NEL CONTROLLER TRAMITE CLI

Prima fai login con la CLI ziti:

Login al controller (usa la password salvata nel passo 3.2)

Dovremmo visualizzare il seguente output:

ATTENZIONE: copiare il TOKEN perchè ci verrà chiesto più avanti

Ora creare il router (ottieni il token JWT di enrollment):

Creare l’edge router

Dovremmo visualizzare il seguente output:

Verificare che il file JWT sia stato creato con il comando:

Dovremmo visualizzare un output simile al seguente:

 

4.3 AVVIARE IL BOOSTRAP DEL ROUTER

Eseguire il comando:

Rispondere alle domande come di seguito:

Domanda Risposta
Address of the controller servertest.lab.prv
Controller port 1280 (default)
DNS name or IP address of this router localhost
Permanent external address servertest.lab.prv
Router Port 3022 (default)
Enrollment token Incolla il contenuto del file /tmp/router.jwt

Al termine abilitare il router con il comando:

Quindi eseguire l’enrollment con il JWT con il comando:

Cambiare il proprietario dei file root:root a nobody:nogroup con il comando:

Verificare le ACL con il comando:

Dovremmo visualizzare il seguente output:

 

4.4 VERIFICARE LO STATO DEL ROUTER

Controllare che il servizio sia attivo con il comando:

Dovremmo visualizzare il seguente output:

Verificare i log con il comando:

 

FASE 5 — CONFIGURAZIONE POLICY DI DEFAULT

Dopo l’installazione creare le policy per permettere a identità e servizi di usare il router.

Assicurati di essere loggato

Creare una Edge Router Policy (tutti i client possono usare router con attributo #public)

Creare una Service Edge Router Policy (tutti i servizi possono usare router #public)

 

 

FASE 6 – INSTALLAZIONE DELLA CONSOLE WEB (ZAC)

Installare il pacchetto della console con il comando:

Poi bisogna abilitarla nel config del controller quindi aprire il config del controller con il comando:

Cercare la sezione web e aggiungere il binding zac.

Dovrebbe già esserci una sezione simile nel caso va aggiunto zac agli apis:

Salvare e poi riavviare il controller con il comando:

 

 

FASE 7 — ACCESSO ALLA CONSOLE WEB (ZAC)

Aprire il browser e richiamare il seguente link:

https://servertest.lab.prv:1280/zac

Se abbiamo fatto tutto correttamente dovremmo visualizzare una schermata come quella mostrata nell’immagine sovrastante

Inserire le credenziali di accesso

Username: admin
Password: quella impostata/generata al passo 3.2

Cliccare Login

ATTENZIONE: Il certificato è self-signed: accetta l’eccezione nel browser (è normale in ambiente lab).

Dovremmo visualizzare la Ziti Admin Console

 

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D’Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi. Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare. Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione