Come installare Agent Zero su VPS in sicurezza
Agent Zero esegue codice e comandi shell tramite interfaccia Web. Scopri come configurarlo su un VPS proteggendo l'accesso per evitare rischi di sicurezza critici.
Che cos'è Agent Zero e dove si trova il rischio
Agent Zero è un framework open source per agenti, progettato innanzitutto per Docker. Un agente principale può creare agenti subordinati per suddividere un'attività in componenti mirati. Gli agenti possono eseguire codice, controllare un browser ed eseguire comandi shell, tutto all'interno del container Docker di Agent Zero. L'intero sistema si controlla tramite un'interfaccia Web. È uno strumento potente e piacevole da usare. Può funzionare anche su un VPS da sei dollari. Se ti interessa la configurazione multi-agente, anziché il framework, due sessioni di Claude Code sullo stesso host possono scambiarsi messaggi direttamente. È una soluzione molto più semplice da eseguire e proteggere.
Il rischio è l'interfaccia Web. È il pannello di controllo di un sistema che esegue comandi e scrive file. Un'interfaccia Web esposta e priva di autenticazione fornisce quindi un accesso remoto proprio a quel sistema. Inoltre, molti tutorial di configurazione conducono direttamente a questo problema: gli esempi docker run pubblicano l'interfaccia senza specificare un indirizzo. Al 2026-10-12, il comando diretto del README associa la porta 80 dell'host (-p 80:80), il launcher A0 Install usa la porta 5080 e la guida per la distribuzione su VPS consiglia la porta 50080. Le guide scritte per le release fino alla linea v0.9.x usano invece la porta 50001. Qualunque porta tu scelga, una mappatura senza indirizzo resta in ascolto su tutte le interfacce di rete. Su un VPS pubblico, questo significa che l'interfaccia è raggiungibile da tutta Internet non appena il container viene avviato. Devi correggere questo aspetto per primo, non per ultimo.
Cosa serve
Servono un VPS con Docker installato, una chiave API per un modello linguistico oppure un modello locale a cui indirizzare le richieste, e almeno un paio di gigabyte di RAM per iniziare. Agent Zero funziona ovunque sia disponibile Docker, da un VPS di piccole dimensioni fino a un server con GPU. Se Docker è una novità, la guida alle nozioni di base di Docker spiega i prerequisiti impliciti nei comandi riportati di seguito.
Installare con Docker, con associazione all'interfaccia loopback
La procedura rapida documentata consiste in un singolo docker run. La differenza importante rispetto alla versione da copiare e incollare che si trova altrove riguarda l'indirizzo pubblicato. Non pubblicare il servizio su tutte le interfacce, come fa -p 80:80. Pubblicalo sull'interfaccia loopback:
docker run -d --name agent-zero \
-p 127.0.0.1:5080:80 \
-v a0_usr:/a0/usr \
agent0ai/agent-zero-p 127.0.0.1:5080:80 associa l'interfaccia Web esclusivamente all'indirizzo loopback del server, quindi non è raggiungibile da Internet. Accedi dal tuo computer tramite un tunnel SSH:
ssh -L 5080:127.0.0.1:5080 you@your-vpsApri quindi http://127.0.0.1:5080 in locale, configura il provider del modello nell'interfaccia Web e imposta un nome utente e una password per l'accesso nella sezione Settings, Authentication. La documentazione ufficiale indica di eseguire questa configurazione prima di consentire l'accesso all'istanza ad altre persone. Per una configurazione permanente con più utenti, utilizza invece una VPN o un reverse proxy con autenticazione, ma non pubblicare mai l'interfaccia Web senza protezione su Internet. Questa prassi va applicata anche agli altri strumenti del server la cui interfaccia consente di controllare funzioni sensibili. È il modo corretto per raggiungere anche uno scanner open-kritt self-hosted, tramite un tunnel verso la relativa interfaccia Web anziché attraverso una porta pubblicata.
Dove terminano le altre guide e perché non dovresti fermarti
Cerca come installare Agent Zero e troverai molte guide, comprese quelle dei provider di hosting, che portano a una Web UI funzionante su una porta pubblicata (50001 nelle guide meno recenti, 80, 5080 o 50080 in quelle più recenti) e si fermano lì. È esattamente il punto in cui inizia il rischio, non quello in cui termina. Per completare la configurazione servono due interventi. Primo, mantieni privata la UI, come indicato sopra. Secondo, configura un firewall con criterio predefinito di negazione davanti al server, così un servizio dimenticato non può rispondere a Internet:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableTieni però presente il suo limite: Docker instrada il traffico destinato alle porte dei container pubblicate prima che vengano applicate le regole di UFW. Il firewall quindi non protegge una porta del container pubblicata su tutte le interfacce. Per questo è importante il binding sull'interfaccia loopback indicato sopra; come le porte Docker bypassano UFW spiega i dettagli. Consulta le nozioni di base sul firewall per il quadro completo e considera anche il problema di IPv6, perché un servizio su :: è raggiungibile tramite IPv6 anche quando le regole IPv4 sembrano restrittive.
L’isolamento dei container protegge gli agenti, non il server
Il design di Agent Zero gestisce correttamente un tipo di isolamento: il framework e ogni agente che avvia vengono eseguiti all’interno del relativo container Docker, non direttamente sull’host. Il codice che gli agenti scrivono ed eseguono viene quindi salvato nel container, non nella directory home. È una protezione utile. Gli agenti subordinati condividono lo stesso container con l’agente principale. La separazione esiste quindi tra gli agenti e l’host, non tra gli agenti stessi. È facile interpretare tutto questo come “è in una sandbox, quindi sono al sicuro” e fermarsi qui. L’isolamento dei container impedisce che il lavoro degli agenti raggiunga l’host. Non protegge il server da Internet e non impedisce a una Web UI esposta di consegnare il controllo a un estraneo. Queste protezioni vanno configurate da te sull’host. Decidi in anticipo quanto può fare un agente quando nessuno lo controlla, applicando lo stesso criterio usato per le modalità di autorizzazione di Claude Code: un server non presidiato richiede un’impostazione più restrittiva rispetto al laptop che hai davanti.
Secret, utenti e host
Conserva la chiave API del modello e tutte le altre credenziali nella configurazione di Agent Zero o in un file di ambiente leggibile soltanto dall'account autorizzato. Tienile fuori dalla cronologia della shell e da qualsiasi repository. Lo stesso principio vale per tutti gli altri componenti dell'host che proteggono i secret, perché un intervento di hardening su Vaultwarden riguarda soprattutto il token amministrativo e il file di backup, non la crittografia che l'applicazione gestisce già correttamente. Amministra l'host con un utente senza privilegi invece che con root, come indicato in utenti con privilegi minimi, e configura SSH per accettare soltanto l'autenticazione tramite chiave, come descritto in hardening di SSH. Poi verifica la checklist seguente per non tralasciare nulla.
Se stai confrontando gli agent, questa è la stessa postura di sicurezza adottata dalla guida all'hardening di OpenClaw e dalla guida a OpenHands: mantieni privata la superficie di controllo, esegui il servizio con un utente senza privilegi, applica il firewall per impostazione predefinita e considera l'host come un sistema che esegue codice non scritto da te. Per un confronto affiancato di tutti e cinque gli agent, consulta i migliori agent AI self-hosted nel 2026.
I concetti alla base di tutte queste soluzioni sono descritti in creare il proprio agent AI su un VPS, mentre Dify è un'altra piattaforma self-hostable che vale la pena confrontare.
FAQ
Agent Zero è sicuro da eseguire in self-hosting?
Sì, se mantieni privata la sua interfaccia Web e applichi misure di sicurezza sull'host. Agent Zero esegue codice e dispone di un browser e di una shell. Il controllo avviene tramite un'interfaccia Web sulla porta dell'host che pubblichi. Il rischio principale è quindi un'interfaccia esposta, non il framework in sé. Associa l'interfaccia a loopback e accedi tramite SSH o una VPN. Imposta un nome utente e una password per l'interfaccia Web. Configura un firewall con criterio predefinito di negazione e avvia il servizio con un utente non privilegiato.
Agent Zero espone un'interfaccia Web a Internet per impostazione predefinita?
I comandi docker run documentati pubblicano l'interfaccia senza specificare un indirizzo. Il README usa -p 80:80. Una mappatura di questo tipo resta in ascolto su tutte le interfacce di rete. Su un VPS pubblico, l'interfaccia è quindi raggiungibile da Internet non appena il container viene avviato. UFW non la blocca, perché Docker instrada le porte pubblicate aggirando UFW. Aggiungi 127.0.0.1 all'indirizzo pubblicato, in modo che l'interfaccia resti in ascolto solo su loopback. Accedi quindi tramite un tunnel SSH o una VPN.
Agent Zero può essere eseguito su un VPS di piccole dimensioni?
Sì. Agent Zero può essere eseguito ovunque sia disponibile Docker, compresi i VPS piccoli ed economici. Tuttavia, le attività più complesse e i modelli locali più grandi richiedono più memoria. Se lo colleghi a un modello self-hosted invece che a un'API ospitata, dimensiona il server in base al modello e non soltanto ad Agent Zero.
In cosa differisce Agent Zero da OpenClaw o Hermes?
Le funzionalità si sovrappongono, ma gli obiettivi sono diversi. Agent Zero è un framework basato su Docker, progettato attorno a un agente principale che avvia agenti subordinati all'interno del proprio container. Il controllo avviene tramite un'interfaccia Web. OpenClaw e Hermes sono assistenti personali accessibili tramite applicazioni di chat. Il profilo di sicurezza è lo stesso per tutti: mantieni privata la superficie di controllo e applica misure di sicurezza sull'host.