Home Assistant contiene le chiavi di casa tua: allarme, cancelli, telecamere, luci, presenza. Chi entra in HA può fare quello che vuole. In questo capitolo vediamo come gestire utenti e ruoli, come attivare la 2FA, e soprattutto perché non devi esporre HA direttamente su Internet e quali sono le alternative sicure (reverse proxy, Nabu Casa, VPN, Cloudflared).
Utenti e ruoli
HA ha un modello utenti minimalista, sostanzialmente tre ruoli.
| Ruolo | Cosa può fare |
|---|---|
| Owner | Un solo utente. Ha accesso completo, e può creare/rimuovere altri utenti. Il primo utente creato al setup è l’owner. |
| Admin | Accesso completo all’interfaccia, alla configurazione, alle integrazioni. Può modificare automazioni, dashboard, tutto. Ma non può gestire gli altri utenti. |
| User (non-admin) | Vede solo le dashboard e le entità che sono state esposte. Non può modificare la configurazione, aggiungere integrazioni, o creare automazioni. |
Non c’è un livello intermedio: o vedi tutto e modifichi tutto, o vedi solo dashboard. Non puoi dire “questo utente può modificare le automazioni del salotto ma non quelle della sicurezza”.
Per differenziare cosa vedono utenti non-admin diversi, usi le dashboard: crei una dashboard “Ospiti” con solo alcune card, e nell’assegnazione utente decidi chi ha accesso a quale dashboard.
Creare un utente
Impostazioni → Persone e zone → Utenti → Aggiungi utente.
Ogni utente ha:
- Username + password
- Nome visualizzato
- Può essere admin o no
- Può essere associato a una persona (
person.*entity), che è quella che HA usa per la presenza (chi è in casa, dove si trova).
Best practice: un utente per persona fisica, non uno per ogni dispositivo. Se hai due telefoni e un tablet in famiglia, e la casa è tua e di tua moglie, servono due utenti (tu e lei), non tre.
Il motivo: la presence detection si basa sulla person entity, e ogni persona ha uno o più device tracker associati. Un utente = una persona = più device.
Perché serve la 2FA (e come attivarla)
L’autenticazione a un fattore (username + password) va bene solo su una rete di cui ti fidi (LAN, VPN). Se in qualsiasi modo HA è accessibile da fuori, anche indirettamente via reverse proxy sul dominio, la 2FA è obbligatoria.
Impostazioni → Persone e zone → Utenti → click sull’utente → in fondo alla pagina: “Multi-factor authentication modules”.
Le due opzioni:
- TOTP (Google Authenticator, Authy, Bitwarden, Aegis): quello che vuoi. Scanni un QR con l’app authenticator, ricevi un codice a 6 cifre che cambia ogni 30s.
- Notify (approvazione via notifica HA): l’app manda una push, tu approvi. Funziona ma richiede che HA app funzioni al momento del login (problema del “primo login”).
Setup TOTP per l’owner + per ogni admin. Per utenti non-admin puoi decidere: ha meno importanza, ma se accedono da fuori LAN, meglio.
Il primo login con TOTP ti chiede il codice generato dall’app; da lì puoi mettere una sessione durata più lunga per non doverla rifare ogni volta.
Non esporre HA su Internet: il perché
L’istinto è: apro la porta 8123 sul router verso l’esterno, e da fuori vedo HA. Non farlo. Motivi:
- HA è un target visibile. Le porte 8123, 80, 443 vengono scannerizzate in continuazione. Basta un CVE non ancora patchato per essere compromesso.
- HA è complesso. Molti componenti, molte dipendenze, custom integrations non revisionate. La superficie di attacco è enorme.
- Il porto è “well-known”. Anche se cambi porta, i scanner cercano su tutte le porte.
- Rate limiting e fail2ban sono limitati. HA non ha protezione integrata contro brute force sofisticati.
La regola: HA non deve mai essere raggiungibile direttamente da Internet. Sempre attraverso qualcosa in mezzo.
Le opzioni per accedere da fuori LAN
Dalla più semplice alla più flessibile.
1. Nabu Casa Cloud (semplice, a pagamento)
6.5 €/mese, l’abbonamento ufficiale di Home Assistant. Ti dà:
- Accesso remoto sicuro a HA senza aprire porte (URL tipo
xxxxx.ui.nabu.casa). - Google Assistant e Alexa cloud (senza dover configurare account developer).
- Backup cloud (5 GB).
- Text-to-speech Amazon (voce migliore delle alternative gratuite).
Setup zero: attivi da HA, HA si connette a Nabu Casa Cloud, ottieni l’URL, funziona. La comunicazione HA ↔ Cloud è cifrata, e da fuori nessuno può contattare direttamente la tua istanza, solo attraverso il tunnel Nabu Casa.
Il modo “consigliato dagli sviluppatori”, zero manutenzione. Se il costo non è un problema, è l’opzione con miglior rapporto sicurezza/effort.
2. Cloudflared (gratis, tecnico ma semplice)
Cloudflare Tunnel (via l’add-on Cloudflared in HA) crea un tunnel outbound dalla tua HA verso Cloudflare. Da fuori, un URL su un tuo dominio (ha.miodominio.tld) risponde, ma il traffico passa dentro il tunnel di Cloudflare: la tua rete non ha porte aperte.
Setup:
- Registri un dominio su Cloudflare (o trasferisci uno tuo).
- Installi l’add-on Cloudflared in HA.
- Fai il login Cloudflare dal add-on.
- Configuri il tunnel:
ha.miodominio.tld → http://homeassistant:8123. - Aggiungi Cloudflare Access davanti (opzionale ma consigliato): richiede login con email + codice prima di far passare il traffico verso HA.
Vantaggi: gratis (dominio a parte), HA non è mai raggiungibile dal pubblico, Cloudflare fa da DDoS shield. Cloudflare Access permette regole tipo “solo email @mia.famiglia possono passare”.
3. Reverse proxy classico (Nginx / Caddy)
Setup più tradizionale:
- Un dominio con DNS che punta al tuo IP pubblico (o dinamico via DDNS).
- Nginx / Caddy / Traefik come reverse proxy sulla LAN, con Let’s Encrypt per HTTPS.
- Porta 443 aperta sul router verso il reverse proxy (mai direttamente su HA).
- Reverse proxy fa da guardia: rate limiting, IP allowlist, autenticazione preliminare (Authelia, Authentik).
Più flessibile ma più manutenzione (rinnovi certificati, aggiornamenti proxy, regole firewall). Va bene se hai già un reverse proxy per altri servizi in casa e vuoi centralizzare.
4. VPN (Wireguard / Tailscale)
Il più sicuro ma anche il più scomodo per uso occasionale. Metti Wireguard o Tailscale (che abbiamo già usato in questa serie) sul router / sulla macchina HA, e per accedere da fuori devi prima connetterti alla VPN.
Vantaggi: HA non è esposto in nessuna forma, la VPN è cifrata end-to-end, dai accesso solo a chi vuoi.
Svantaggi: ogni volta devi aprire il client VPN prima di aprire HA app. Poco pratico se lo apri decine di volte al giorno.
Tailscale in particolare è quasi trasparente: attivi sul telefono, resti connesso in background, HA app funziona come se fossi a casa. È il compromesso migliore fra sicurezza e comodità (l’abbiamo già visto in azione con la VM Proxmox).
IP allowlist come primo filtro
A prescindere dal metodo di accesso, se hai un range IP fisso da cui accedi (ufficio, casa dei genitori), configura un allowlist al livello del reverse proxy o del firewall del router: solo quegli IP possono raggiungere HA.
Non è una difesa completa, ma taglia il 99% del rumore: bot e scanner con IP casuali vengono droppati prima di arrivare a HA.
Per gli utenti “mobili” (che accedono da IP variabili), la VPN o Nabu Casa Cloud restano l’opzione.
Il problema degli account admin dimenticati
Un rischio spesso ignorato: account admin che non usa più nessuno. La persona che ti ha aiutato all’inizio ha ancora un account admin, oppure c’è un account “test” creato per provare una feature un anno fa.
Ogni account admin dimenticato è una porta d’ingresso in più. Regola: fai audit degli utenti ogni 6 mesi. Cancella quelli inutilizzati, e per quelli che restano, forza il reset password + attivazione 2FA se non ce l’hanno.
Ricapitolando
- HA ha tre ruoli: owner (uno), admin, user (dashboard-only).
- 2FA obbligatoria per owner e admin se HA è raggiungibile da fuori LAN.
- Non esporre HA direttamente su Internet. Sempre qualcosa in mezzo.
- Opzioni ordinate per effort: Nabu Casa Cloud (semplice, a pagamento), Cloudflared (gratis, poco effort), reverse proxy classico (più flessibile, più manutenzione), VPN Tailscale (più sicuro, meno comodo).
- IP allowlist come primo filtro dove possibile.
- Audit degli account admin ogni 6 mesi.