Hai installato Home Assistant, collegato prese intelligenti, termostati e telecamere — e vuoi gestire tutto questo dal tuo smartphone da qualsiasi parte del mondo. Ma l'accesso aperto a Internet senza protezione trasforma la tua smart home in un facile bersaglio per gli hacker. In questo articolo vedremo come organizzare correttamente l'accesso remoto a Home Assistant tramite proxy e proteggere la tua rete domestica.
Perché l'accesso diretto a Home Assistant è pericoloso
Home Assistant è una potente piattaforma per l'automazione della smart home con codice sorgente aperto. Milioni di utenti in tutto il mondo gestiscono attraverso di essa illuminazione, clima, serrature, telecamere e decine di altri dispositivi. Ma è proprio questa popolarità a rendere Home Assistant un obiettivo attraente per i malintenzionati.
Quando apri la porta 8123 (la porta standard di Home Assistant) direttamente attraverso il router su Internet, stai letteralmente appendendo un cartello "benvenuti" per scanner automatici. Questi scanner esaminano l'intero intervallo di indirizzi IP e cercano porte aperte di servizi noti. Secondo Shodan (un motore di ricerca per dispositivi su Internet), decine di migliaia di istanze di Home Assistant sono costantemente disponibili in accesso aperto.
Cosa succede dopo che un malintenzionato scopre il tuo Home Assistant:
- Attacco di forza bruta alla password — script automatici provano migliaia di combinazioni di login/password. Se hai una password debole, l'hacking è solo una questione di minuti.
- Sfruttamento di vulnerabilità — nelle versioni obsolete di Home Assistant vengono periodicamente trovate falle critiche che consentono di accedere senza alcuna password.
- Monitoraggio tramite telecamere — ottenendo accesso a HA, il malintenzionato vede in tempo reale il flusso di tutte le telecamere collegate.
- Controllo di serrature e allarmi — se hai collegato una serratura intelligente, l'hacker può aprire la porta della tua casa da remoto.
- Furto di dati di automazione — dalla cronologia di HA si può capire quando sei a casa, quando esci, la modalità sonno e altri dati privati.
⚠️ Caso reale
Nel 2023, i ricercatori di sicurezza hanno scoperto una vulnerabilità CVE-2023-27482 in Home Assistant, che consentiva di bypassare l'autenticazione senza alcuna credenziale. Tutte le istanze con accesso aperto a Internet erano vulnerabili fino all'uscita della patch. Coloro che utilizzavano uno strato proxy o VPN erano automaticamente protetti.
Come il proxy protegge la smart home: principio di funzionamento
Il proxy nel contesto di Home Assistant funge da intermediario tra Internet e il tuo server. Invece di rendere visibile il tuo Home Assistant direttamente dalla rete, dall'esterno è visibile solo il server proxy — e questo inoltra le richieste all'interno, applicando controlli aggiuntivi.
Lo schema di funzionamento è il seguente:
Il tuo smartphone (internet)
↓
Server proxy
(filtraggio, crittografia, autorizzazione)
↓
Rete domestica (chiusa)
↓
Home Assistant (192.168.1.X:8123)
Cosa offre questo strato aggiuntivo:
- Nascondere l'IP reale — gli scanner vedono l'IP del proxy, non il tuo indirizzo domestico. Anche se il proxy viene compromesso, non otterranno accesso diretto alla rete domestica.
- Crittografia SSL/TLS — il proxy può terminare la connessione HTTPS e fornire un certificato valido, proteggendo il traffico da intercettazioni.
- Autenticazione aggiuntiva — puoi impostare Basic Auth o autenticazione a due fattori direttamente a livello di proxy prima di Home Assistant.
- Limitazione della velocità — limitare il numero di richieste da un singolo IP blocca gli attacchi di forza bruta prima che raggiungano Home Assistant.
- Geo-blocco — puoi consentire l'accesso solo da determinati paesi o intervalli IP.
- Registrazione — tutti i tentativi di accesso vengono registrati, il che aiuta a identificare attività sospette.
È importante comprendere la differenza tra i due tipi di proxy utilizzati in questo scenario: proxy inverso si installa sul tuo server o router e accetta connessioni in ingresso, mentre un proxy esterno è un server intermedio nel cloud, attraverso il quale viene tunnelizzato il tuo traffico. Entrambi gli approcci hanno i loro vantaggi, e analizzeremo ciascuno di essi.
Quali tipi di proxy sono adatti per Home Assistant
Prima di scegliere una soluzione, è importante capire che le esigenze di Home Assistant e, ad esempio, di un trader o di un esperto di SMM sono fondamentalmente diverse. Per la smart home non abbiamo bisogno di un proxy anonimo per bypassare i blocchi, ma di un tunnel sicuro per la gestione remota. Esaminiamo le opzioni:
| Tipo di soluzione | Come funziona | Vantaggi | Svantaggi | Difficoltà |
|---|---|---|---|---|
| Proxy inverso (Nginx/Caddy) | Accetta richieste HTTPS dall'esterno e le inoltra a HA all'interno | Gratuito, controllo completo, SSL | Necessita di un IP pubblico o DDNS, porta 443 aperta | Media |
| Cloudflare Tunnel | Tunnel da HA ai server Cloudflare, nessuna porta necessaria | Gratuito, non necessita di un IP pubblico, protezione DDoS | Il traffico passa attraverso Cloudflare, è necessario un dominio | Bassa |
| VPS + proxy | Affitti un VPS, tunnelizzi il traffico attraverso di esso | Il tuo IP, massimo controllo | A pagamento, richiede configurazione | Alta |
| Nabu Casa (ufficiale) | Servizio cloud dagli sviluppatori di HA | Massima semplicità, supporta Alexa/Google | Abbonamento a pagamento ~$6.50/mese | Molto bassa |
| Proxy residenziale | Instradamento del traffico in uscita attraverso un vero IP domestico | IP reale, non bloccato dai servizi | Adatto per traffico in uscita, non per quello in ingresso | Bassa |
Per la maggior parte degli utenti di Home Assistant, la scelta ottimale sarà Cloudflare Tunnel (gratuito, non necessita di un IP pubblico) o proxy inverso su Nginx/Caddy (se hai un IP pubblico o DNS dinamico). Nabu Casa è adatto a chi non vuole occuparsi di configurazioni. Analizziamo ogni opzione in dettaglio.
Proxy inverso (Nginx, Caddy): configurazione passo dopo passo
Il proxy inverso è il modo classico e più flessibile per organizzare un accesso sicuro a Home Assistant. Può essere installato sullo stesso dispositivo di HA (ad esempio, su Raspberry Pi o Home Assistant OS), o su un server separato nella rete domestica.
Opzione 1: Caddy (raccomandato per principianti)
Caddy è un moderno server web che ottiene e aggiorna automaticamente i certificati SSL tramite Let's Encrypt. Non sono necessarie configurazioni manuali con certbot.
Passo 1: Cosa ti servirà
- Nome di dominio (può essere gratuito su DuckDNS o No-IP)
- Port forwarding della porta 443 sul router all'IP del tuo Home Assistant
- Home Assistant installato (qualsiasi versione)
Passo 2: Installazione di Caddy come addon in Home Assistant OS
Se utilizzi Home Assistant OS (HAOS), apri la sezione Impostazioni → Add-on → Negozio add-on e cerca l'addon Caddy 2. Installalo e vai alla configurazione.
Passo 3: Configurazione di base del Caddyfile
tuo-dominio.duckdns.org {
reverse_proxy localhost:8123
# Protezione aggiuntiva: Basic Auth prima di HA
# basicauth {
# admin $2a$14$hash_password
# }
# Limitazione della velocità: non più di 10 richieste al secondo
rate_limit {
zone static_zone {
key {remote_host}
events 10
window 1s
}
}
# Intestazioni di sicurezza
header {
X-Frame-Options DENY
X-Content-Type-Options nosniff
Referrer-Policy no-referrer
}
}
Passo 4: Configurazione di Home Assistant per funzionare dietro il proxy
Apri il file configuration.yaml e aggiungi le seguenti righe. Questo è obbligatorio — altrimenti HA rifiuterà le richieste dal proxy:
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
Dopo aver salvato, riavvia Home Assistant. Ora accedi a lui all'indirizzo https://tuo-dominio.duckdns.org — la connessione sarà crittografata e il vero IP del tuo router sarà nascosto dietro il dominio.
Opzione 2: Cloudflare Tunnel (senza IP pubblico)
Se non hai un IP pubblico (la maggior parte dei provider domestici fornisce IP grigi dietro NAT), Cloudflare Tunnel è la soluzione ideale. Installa un piccolo agente cloudflared sul dispositivo con Home Assistant, e questo crea automaticamente un tunnel crittografato verso i server Cloudflare. Nessuna porta aperta sul router!
Configurazione passo dopo passo:
- Registrati su cloudflare.com e aggiungi il tuo dominio (o utilizza un sottodominio gratuito).
- Nella dashboard di Cloudflare, vai alla sezione Zero Trust → Networks → Tunnels.
- Clicca su Crea un tunnel, dai un nome al tunnel (ad esempio, home-assistant).
- Copia il comando di installazione e eseguilo sul dispositivo con HA (oppure installa l'addon Cloudflared dal negozio HAOS).
- Nella sezione Nome host pubblico specifica:
— Sottodominio:ha
— Dominio: il tuo dominio
— Servizio:http://localhost:8123 - Aggiungi nel
configuration.yamli proxy fidati di Cloudflare (gli intervalli IP possono essere trovati su cloudflare.com/ips). - Opzionale: attiva Zero Trust Access — un ulteriore livello di autenticazione tramite email o account Google prima di accedere a HA.
💡 Consiglio
Cloudflare Tunnel è completamente gratuito per uso personale. L'unica limitazione è che il traffico passa attraverso i server Cloudflare. Per gestire la smart home, questo è assolutamente accettabile, e la protezione contro DDoS e bot è inclusa.
Server proxy esterno: quando è necessario e come collegarlo
Un server proxy esterno è un nodo intermedio nel cloud, attraverso il quale viene instradato il tuo traffico. Nel contesto di Home Assistant, viene utilizzato in diversi scenari specifici che non sono coperti dal proxy inverso.
Scenario 1: Accesso a Home Assistant da una rete aziendale
Molte reti aziendali bloccano porte non standard e connessioni VPN. Se desideri gestire la smart home dal computer di lavoro, dove la maggior parte delle connessioni è bloccata, il traffico attraverso un proxy residenziale appare come traffico HTTPS normale di un utente domestico e non suscita sospetti nel firewall aziendale.
Scenario 2: Integrazioni con servizi geo-limitati
Home Assistant può integrarsi con migliaia di servizi esterni: API meteo, altoparlanti intelligenti, piattaforme di streaming. Alcuni di essi sono disponibili solo in determinati paesi. Ad esempio, l'integrazione con Amazon Alexa o Google Assistant richiede che il server sia accessibile dagli Stati Uniti o dall'Europa. In questo caso, il traffico in uscita da HA può essere instradato attraverso un proxy di data center nella regione desiderata.
Scenario 3: Anonimizzazione delle richieste in uscita di HA
Home Assistant effettua regolarmente richieste a API esterne: controlla il meteo, ottiene dati sul traffico, si sincronizza con servizi cloud. Tutte queste richieste partono dal tuo IP domestico, rivelando la tua posizione a servizi esterni. Configurare un proxy in uscita nelle impostazioni di sistema di HA consente di nascondere l'IP reale.
Come configurare un proxy in uscita in Home Assistant:
In Home Assistant OS, vai su Impostazioni → Sistema → Rete. Qui puoi specificare un proxy HTTP/HTTPS per tutte le connessioni in uscita. Inserisci i dati del proxy nel formato:
Proxy HTTP: http://utente:password@server-proxy:porta Proxy HTTPS: http://utente:password@server-proxy:porta
In alternativa, se esegui HA in Docker, puoi impostare le variabili ambientali HTTP_PROXY e HTTPS_PROXY nel file docker-compose.yml:
version: '3'
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
environment:
- HTTP_PROXY=http://user:pass@proxy-server:port
- HTTPS_PROXY=http://user:pass@proxy-server:port
- NO_PROXY=localhost,127.0.0.1,192.168.0.0/16
volumes:
- ./config:/config
network_mode: host
restart: unless-stopped
Fai attenzione alla variabile NO_PROXY — essa esclude gli indirizzi locali dal proxy, in modo che HA possa comunicare direttamente con i dispositivi nella tua rete domestica.
Nabu Casa vs proxy autonomo: cosa scegliere
Nabu Casa è il servizio cloud ufficiale del team di Home Assistant. Risolve il problema dell'accesso remoto con un clic: nessuna configurazione di DNS, SSL, porte aperte. Ti iscrivi e ottieni un URL pronto del tipo https://tuo-id.ui.nabu.casa.
| Criterio | Nabu Casa | Cloudflare Tunnel | Nginx/Caddy |
|---|---|---|---|
| Costo | ~$6.50/mese | Gratuito | Gratuito |
| Difficoltà di configurazione | ⭐ Molto semplice | ⭐⭐ Semplice | ⭐⭐⭐ Media |
| Necessita di un IP pubblico | No | No | Sì (o DDNS) |
| Dominio proprio | No | Sì | Sì |
| Alexa / Google Home | ✅ Integrato | Configurazione manuale | Configurazione manuale |
| Privacy | Traffico attraverso i server di Nabu Casa | Traffico attraverso Cloudflare | Controllo completo |
| Supporto degli sviluppatori di HA | ✅ Sì | No | No |
Conclusione: Se sei un principiante e vuoi il minimo di problemi — scegli Nabu Casa. Se desideri una soluzione gratuita senza IP pubblico — Cloudflare Tunnel. Se è importante avere il controllo completo e un proprio nome di dominio — configura Nginx o Caddy.
Checklist di sicurezza: 10 regole per proteggere Home Assistant
Il proxy è un elemento importante, ma non l'unico nella protezione. Ecco la checklist completa che chiuderà la maggior parte dei vettori di attacco alla tua smart home:
✅ Checklist di sicurezza per Home Assistant
- Installa uno strato proxy (Caddy, Nginx o Cloudflare Tunnel) — non aprire mai la porta 8123 direttamente.
- Attiva HTTPS — solo connessioni crittografate. Caddy lo fa automaticamente.
- Usa una password complessa — almeno 16 caratteri, numeri, simboli speciali. Meglio — un gestore di password.
- Attiva l'autenticazione a due fattori in Home Assistant: Impostazioni → Utenti → Attiva 2FA (TOTP tramite Google Authenticator o Authy).
- Disattiva la creazione di account tramite UI (onboarding) dopo la configurazione iniziale.
- Configura la limitazione della velocità sul proxy — non più di 5-10 tentativi di accesso al minuto da un singolo IP.
- Attiva fail2ban o simili — blocco automatico dell'IP dopo diversi tentativi di accesso non riusciti.
- Aggiorna regolarmente Home Assistant — la maggior parte delle vulnerabilità critiche viene chiusa entro 24-48 ore dalla scoperta.
- Isola i dispositivi della smart home in una VLAN separata o in una rete Wi-Fi ospite — se un dispositivo viene compromesso, il resto della rete rimane al sicuro.
- Disattiva integrazioni e addon non necessari — ogni componente attivo amplia la superficie di attacco.
In aggiunta: configurazione di fail2ban per Home Assistant
Se utilizzi un sistema Linux (ad esempio, Home Assistant Supervised su Debian), installa fail2ban per bloccare automaticamente gli IP attaccanti:
# Installazione di fail2ban sudo apt install fail2ban # Crea il file /etc/fail2ban/filter.d/hass.conf [Definition] failregex = ^%(__prefix_line)s.*Tentativo di accesso o richiesta con autenticazione non valida da <HOST>.*$ ignoreregex = # Crea una regola in /etc/fail2ban/jail.d/hass.conf [hass] enabled = true filter = hass logpath = /config/home-assistant.log maxretry = 5 bantime = 3600 findtime = 600
Questa regola blocca l'IP per 1 ora dopo 5 tentativi di accesso non riusciti in 10 minuti. Puoi inasprire i parametri: aumentare bantime a 86400 (24 ore) o ridurre maxretry a 3.
Monitoraggio dell'attività sospetta
Home Assistant ha un registro di autenticazione integrato. Controllalo regolarmente tramite Impostazioni → Sistema → Registri. Cerca righe con Tentativo di accesso e autenticazione non valida. Se vedi tentativi da IP sconosciuti — è un segnale che il tuo HA è stato scoperto da scanner.
Puoi anche configurare una notifica automatica su Telegram in caso di tentativo di accesso non riuscito. Crea un'automazione in Home Assistant:
alias: Notifica di accesso non riuscito
trigger:
- platform: event
event_type: system_log_event
event_data:
level: WARNING
condition:
- condition: template
value_template: "{{ 'Tentativo di accesso' in trigger.event.data.message }}"
action:
- service: notify.telegram
data:
message: "⚠️ Tentativo di accesso a Home Assistant: {{ trigger.event.data.message }}"
Conclusione
L'accesso remoto sicuro a Home Assistant non è un'opzione "extra", ma una condizione necessaria per chiunque voglia gestire la smart home da Internet. Una porta aperta senza uno strato di protezione è una questione non di "se verrà violata", ma di "quando verrà violata". Uno strato proxy (proxy inverso o tunnel) cambia radicalmente la situazione: i malintenzionati vedono solo il proxy, non il tuo server reale e la rete domestica.
Riepilogo delle scelte:
- Principiante, voglio qualcosa di semplice e veloce → Nabu Casa o Cloudflare Tunnel
- Ho un IP pubblico, voglio controllo → Caddy o Nginx come proxy inverso
- Non ho un IP pubblico, voglio gratuitamente → Cloudflare Tunnel + DuckDNS
- Massima privacy → VPS + tunnel WireGuard + proxy inverso
Non dimenticare che il proxy è la prima linea di difesa. Completa con l'autenticazione a due fattori, aggiornamenti regolari e monitoraggio dei registri. La smart home deve essere intelligente anche in termini di sicurezza.
Se oltre a proteggere il traffico in ingresso hai bisogno di nascondere le richieste in uscita di Home Assistant verso API esterne o di accedere a integrazioni geo-limitate, ti consigliamo di considerare i proxy residenziali — forniscono indirizzi IP domestici reali che non vengono bloccati dai servizi cloud e dai fornitori di API.
```