Introduzione
Nel mondo dei laboratori domestici, Home Assistant è diventato uno degli strumenti più potenti e popolari per l’automazione e il controllo della casa: open-source, altamente personalizzabile e con una grande comunità attiva, permette di integrare dispositivi di ogni tipo, dai sensori Zigbee alle luci intelligenti, fino a sistemi più avanzati come videocitofoni o sistemi di allarme.
Uno degli aspetti più delicati, tuttavia, riguarda l’accesso remoto: come accedere a Home Assistant dall’esterno della casa in modo sicuro, senza aprire porte sul router e senza esporre il proprio server a rischi inutili? Cloudflare Zero Trust Access, un servizio gratuito (sono disponibili anche piani a pagamento) che consente di esporre il proprio Home Assistant su Internet senza dover modificare la configurazione del firewall o del NAT e, soprattutto, con un livello di sicurezza molto più elevato rispetto al semplice port forwarding. Utilizzando Cloudflare Tunnel, è possibile creare un canale crittografato tra il proprio server locale e l’infrastruttura Cloudflare, nascondendo completamente il proprio IP pubblico e filtrando l’accesso tramite autenticazione a due fattori, provider OAuth (come Google, GitHub, Microsoft) o regole basate sull’identità.
Prerequisiti
- Possedere un dominio personale
- Dominio personale collegato a Cloudflare
- Docker e Portainer
Create un Tunnel Cloudflare
1. Accedere a Cloudflare e premere su Zero Trust

2. In questa pagina, selezionare Tunnels nella sezione Networks

3. Adesso Create a tunnel e seleziona il tunnel di tipo Cloudflared

4. Inserisci un nome per il tunnel e premi Save tunnel
5. In questa sezione, scegli Docker poi copia e incolla il comando nel terminale che esegue il tuo Docker. Quando il connettore è online, premi Next.

6. Scegli un sottodominio pubblico da usare come DNS e connettore pubblico. In Service inserisci l’IP o l’URL della tua istanza Home Assistant, poi clicca su Complete setup.

Rendere sicuro il Tunnel Cloudflare con Access
1. Accedi a Cloudflare e premi su Zero Trust

2. In questa pagina, seleziona Applications dentro alla sezione Access

3. Clicca su Add a new application e seleziona Self-hosted

4. Inserisci un Application name e la Session duration, poi Add public hostname e inserisci il sottodominio e dominio creato in precedenza per il tunnel. Nella sezione Access policies seleziona una policy esistente oppure creane una nuova

5. Procedi all’ultima pagina e premi su Save.