Soluzione della community

Installa Apache Guacamole su CasaOS o ZimaOS in modo sicuro

A 2023 CasaOS tutorial introduced Apache Guacamole through BigBearCasaOS as a browser gateway for VNC, RDP and SSH.

In sintesi: Guacamole moderno è un servizio in tre parti, non solo un container web

Apache Guacamole offre accesso a RDP, VNC e SSH tramite browser, senza un client desktop. Una distribuzione Docker in stile produzione include normalmente l’applicazione web Guacamole, guacd e un database come PostgreSQL o MySQL/MariaDB. Il vecchio pacchetto BigBearCasaOS del 2023 va considerato una soluzione pratica del passato, non un riferimento architetturale.

Usa i container ufficiali di Guacamole

Il progetto Apache pubblica le immagini supportate guacamole/guacamole e guacamole/guacd. Lo stack Docker di Guacamole descrive la struttura ufficiale. Le più ampie modalità di installazione di Guacamole spiegano perché l’autenticazione tramite database sia preferibile nelle distribuzioni reali.

Struttura consigliata dei container

guacamole-web
    |
    +-- guacd
    |
    +-- postgres o mariadb

Mantieni tutti e tre i servizi su una rete Docker privata. Pubblica solo l’endpoint web di Guacamole. Non pubblicare il database o guacd sulla LAN, a meno che un altro componente non ne abbia effettivamente bisogno.

Inizializza il database prima del primo accesso

L’estensione di autenticazione tramite database di Guacamole richiede il caricamento dello schema prima che l’applicazione web possa archiviare utenti e connessioni. Usa i file di inizializzazione SQL corrispondenti alla versione esatta di Guacamole e al tipo di database. Mantieni persistente la directory dei dati del database.

Metti HTTPS davanti a Guacamole prima di esporlo da remoto

Guacamole può trasmettere password di amministratori e sessioni di desktop remoto, quindi esporlo tramite HTTP semplice è una protezione inadeguata. Usa un proxy inverso con HTTPS e un’autenticazione robusta. Il proxy HTTPS di ZimaOS fornisce il modello di proxy inverso per ZimaOS.

Usa MFA o SSO quando Guacamole è esposto su Internet

Apache Guacamole supporta estensioni per TOTP, OpenID Connect, SAML e altri sistemi di autenticazione. L’accesso ai desktop remoti è una funzione amministrativa: proteggilo di conseguenza invece di affidarti soltanto a una password locale breve.

Quando eseguire Guacamole in una macchina virtuale

Se vuoi isolare Guacamole dal motore Docker del NAS o disponi già di diversi servizi infrastrutturali, una piccola macchina virtuale Debian/Ubuntu offre un confine pulito per aggiornamenti e firewall. I requisiti delle macchine virtuali di ZimaOS illustrano le risorse necessarie sull’host per questa separazione.

I requisiti delle app di ZimaOS sono utili quando Guacamole condivide il NAS con database, server multimediali e sistemi di monitoraggio.

Mantieni separati il database e la configurazione di Guacamole

Non considerare il container web come la parte che conserva lo stato di Guacamole. Gli account utente, le connessioni salvate e i dati di autenticazione risiedono nel database, mentre le estensioni e la configurazione personalizzata possono trovarsi in directory montate. Esegui il backup di questi componenti persistenti prima di sostituire le immagini. Scaricare un nuovo container dovrebbe essere una procedura ordinaria; ricostruire a memoria ogni connessione remota, no.

Configura correttamente i WebSocket nel proxy inverso

Guacamole usa connessioni browser di lunga durata e il supporto WebSocket per le sessioni interattive. Se l’accesso funziona ma i desktop remoti si disconnettono, si bloccano o mostrano prestazioni scarse dietro un proxy, verifica l’inoltro dei WebSocket e i timeout del proxy prima di attribuire il problema a RDP o VNC. Mantieni stabile il percorso o il nome host di Guacamole, così il comportamento dei callback e delle sessioni del browser non cambia a ogni aggiornamento.

Separa l’accesso a Guacamole dalle credenziali dei sistemi di destinazione

Un accesso a Guacamole controlla l’ingresso al gateway; il sistema Windows/Linux di destinazione conserva le proprie credenziali e policy RDP, VNC o SSH. Evita di riutilizzare la stessa password di amministratore ovunque. Per l’accesso condiviso in famiglia o in team, crea utenti Guacamole nominativi e assegna solo le connessioni necessarie a ciascuna persona.

Testa il gateway prima di esporlo

Prima di aggiungere il DNS pubblico, testa una connessione SSH o RDP dalla LAN, verifica il comportamento degli appunti e delle sessioni, riavvia ogni container di Guacamole e assicurati che le connessioni salvate funzionino ancora. Poi testa un backup e un ripristino del database. Un gateway che resiste alla ricreazione dei container è molto più vicino a una distribuzione facile da mantenere rispetto a uno che funziona solo fino al successivo aggiornamento dell’immagine.

Domande frequenti

Guacamole richiede un client desktop?

No. Gli utenti si connettono tramite un browser web, mentre Guacamole traduce il traffico del browser in sessioni RDP, VNC o SSH.

Guacamole richiede un database?

Per la gestione di utenti e connessioni in stile produzione, sì. Il semplice metodo di autenticazione XML è adatto soprattutto ai test di base.

Devo esporre guacd su Internet?

No. Mantieni guacd privato, dietro l’applicazione web Guacamole.

Guacamole può sostituire una VPN?

Può fornire accesso tramite browser ai desktop remoti configurati, ma non è un tunnel di rete privata generico per ogni servizio.

Posso usare MariaDB invece di PostgreSQL?

Sì, le opzioni di autenticazione tramite database supportate includono database compatibili con MySQL e PostgreSQL, se configurati con l’estensione e lo schema corrispondenti.