Has instalado Home Assistant, conectado enchufes inteligentes, termostatos y cámaras, y quieres controlar todo esto desde tu smartphone desde cualquier parte del mundo. Pero el acceso abierto a Internet sin protección convierte tu hogar inteligente en un blanco fácil para los hackers. En este artículo, analizaremos cómo organizar correctamente el acceso remoto a Home Assistant a través de un proxy y proteger tu red doméstica.
Por qué el acceso directo a Home Assistant es peligroso
Home Assistant es una potente plataforma de automatización del hogar inteligente de código abierto. Millones de usuarios en todo el mundo la utilizan para gestionar la iluminación, el clima, las cerraduras, las cámaras y decenas de otros dispositivos. Pero esta popularidad convierte a Home Assistant en un objetivo atractivo para los delincuentes.
Cuando abres el puerto 8123 (el puerto estándar de Home Assistant) directamente a través del router a Internet, literalmente estás colgando un cartel de "bienvenido" para los escáneres automáticos. Estos escáneres recorren todo el rango de direcciones IP y buscan puertos abiertos de servicios conocidos. Según Shodan (un motor de búsqueda de dispositivos en Internet), decenas de miles de instancias de Home Assistant están constantemente disponibles públicamente.
Lo que sucede después de que un delincuente descubre tu Home Assistant:
- Fuerza bruta de la contraseña — scripts automáticos prueban miles de combinaciones de usuario/contraseña. Si tienes una contraseña débil, el hackeo es cuestión de minutos.
- Explotación de vulnerabilidades — en versiones antiguas de Home Assistant se encuentran periódicamente agujeros críticos que permiten acceder sin contraseña.
- Vigilancia a través de cámaras — al acceder a HA, el delincuente puede ver la transmisión de todas las cámaras conectadas en tiempo real.
- Control de cerraduras y alarmas — si has conectado una cerradura inteligente, el hacker puede abrir la puerta de tu casa de forma remota.
- Robo de datos de automatización — de la historia de HA se puede saber cuándo estás en casa, cuándo sales, el modo de sueño y otros datos privados.
⚠️ Caso real
En 2023, investigadores de seguridad descubrieron la vulnerabilidad CVE-2023-27482 en Home Assistant, que permitía eludir la autenticación sin ninguna credencial. Todas las instancias con acceso abierto a Internet eran vulnerables hasta que se lanzó el parche. Aquellos que usaban una capa de proxy o VPN estaban protegidos automáticamente.
Cómo el proxy protege el hogar inteligente: principio de funcionamiento
El proxy en el contexto de Home Assistant actúa como intermediario entre Internet y tu servidor. En lugar de que tu Home Assistant sea visible directamente desde la red, solo se ve el servidor proxy desde el exterior, que luego reenvía las solicitudes hacia adentro, aplicando verificaciones adicionales.
El esquema de funcionamiento es el siguiente:
Tu smartphone (internet)
↓
Servidor proxy
(filtrado, cifrado, autorización)
↓
Red doméstica (cerrada)
↓
Home Assistant (192.168.1.X:8123)
¿Qué proporciona esta capa adicional?
- Ocultación de la IP real — los escáneres ven la IP del proxy, no tu dirección doméstica. Incluso si el proxy es hackeado, no obtendrán acceso a la red doméstica directamente.
- Cifrado SSL/TLS — el proxy puede terminar la conexión HTTPS y emitir un certificado correcto, protegiendo el tráfico de intercepciones.
- Autenticación adicional — se puede implementar Basic Auth o autenticación de dos factores justo a nivel del proxy antes de Home Assistant.
- Limitación de tasa — limitar el número de solicitudes desde una IP bloquea ataques de fuerza bruta antes de que lleguen a Home Assistant.
- Geobloqueo — se puede permitir el acceso solo desde ciertos países o rangos de IP.
- Registro — todos los intentos de acceso se registran, lo que ayuda a identificar actividades sospechosas.
Es importante entender la diferencia entre dos tipos de proxies que se utilizan en este escenario: el proxy inverso se instala en tu servidor o router y acepta conexiones entrantes, mientras que el proxy externo es un servidor intermedio en la nube a través del cual se tuneliza tu tráfico. Ambos enfoques tienen sus ventajas, y analizaremos cada uno.
Qué tipos de proxy son adecuados para Home Assistant
Antes de elegir una solución, es importante entender que las tareas de Home Assistant y, por ejemplo, de un arbitrajista o especialista en SMM son fundamentalmente diferentes. Para un hogar inteligente, no necesitamos un proxy anónimo para eludir bloqueos, sino un túnel seguro para el control remoto. Analicemos las opciones:
| Tipo de solución | Cómo funciona | Ventajas | Desventajas | Dificultad |
|---|---|---|---|---|
| Proxy inverso (Nginx/Caddy) | Acepta solicitudes HTTPS desde el exterior y las reenvía a HA por dentro | Gratis, control total, SSL | Necesita IP pública o DDNS, puerto 443 abierto | Media |
| Cloudflare Tunnel | Túnel desde HA hasta los servidores de Cloudflare, no se necesitan puertos | Gratis, no necesita IP pública, protección DDoS | El tráfico pasa por Cloudflare, se necesita un dominio | Baja |
| VPS + proxy | Alquilas un VPS, tunelizas el tráfico a través de él | Tu propia IP, control máximo | De pago, requiere configuración | Alta |
| Nabu Casa (oficial) | Servicio en la nube de los desarrolladores de HA | Máxima simplicidad, soporta Alexa/Google | Suscripción de pago ~$6.50/mes | Muy baja |
| Proxy residencial | Enrutamiento del tráfico saliente a través de una IP doméstica real | IP real, no bloqueada por servicios | Adecuada para tráfico saliente, no para entrante | Baja |
Para la mayoría de los usuarios de Home Assistant, la opción óptima será Cloudflare Tunnel (gratis, no necesita IP pública) o proxy inverso en Nginx/Caddy (si tienes IP pública o DNS dinámico). Nabu Casa es adecuado para aquellos que no quieren lidiar con configuraciones en absoluto. Analicemos cada opción en detalle.
Proxy inverso (Nginx, Caddy): configuración paso a paso
El proxy inverso es la forma clásica y más flexible de organizar un acceso seguro a Home Assistant. Se instala en el mismo dispositivo que HA (por ejemplo, en Raspberry Pi o Home Assistant OS), o en un servidor separado en la red doméstica.
Opción 1: Caddy (recomendado para principiantes)
Caddy es un servidor web moderno que obtiene y actualiza automáticamente certificados SSL a través de Let's Encrypt. No se necesitan configuraciones manuales de certbot.
Paso 1: Qué necesitarás
- Nombre de dominio (puede ser gratuito en DuckDNS o No-IP)
- Redirección del puerto 443 en el router a la IP de tu Home Assistant
- Home Assistant instalado (cualquier opción)
Paso 2: Instalar Caddy como complemento en Home Assistant OS
Si usas Home Assistant OS (HAOS), abre la sección Configuración → Complementos → Tienda de complementos y busca el complemento Caddy 2. Instálalo y ve a la configuración.
Paso 3: Configuración básica de Caddyfile
tu-dominio.duckdns.org {
reverse_proxy localhost:8123
# Protección adicional: Basic Auth antes de HA
# basicauth {
# admin $2a$14$hash_de_contraseña
# }
# Limitación de tasa: no más de 10 solicitudes por segundo
rate_limit {
zone static_zone {
key {remote_host}
events 10
window 1s
}
}
# Encabezados de seguridad
header {
X-Frame-Options DENY
X-Content-Type-Options nosniff
Referrer-Policy no-referrer
}
}
Paso 4: Configurar Home Assistant para trabajar detrás del proxy
Abre el archivo configuration.yaml y agrega las siguientes líneas. Esto es obligatorio; de lo contrario, HA rechazará las solicitudes del proxy:
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
Después de guardar, reinicia Home Assistant. Ahora accede a él a través de https://tu-dominio.duckdns.org — la conexión estará cifrada y la IP real de tu router estará oculta detrás del dominio.
Opción 2: Cloudflare Tunnel (sin IP pública)
Si no tienes una IP pública (la mayoría de los proveedores de Internet domésticos asignan IPs privadas detrás de NAT), Cloudflare Tunnel es la solución ideal. Instalas un pequeño agente cloudflared en el dispositivo con Home Assistant, y él mismo crea un túnel cifrado hacia los servidores de Cloudflare. ¡No se necesitan puertos abiertos en el router!
Configuración paso a paso:
- Regístrate en cloudflare.com y añade tu dominio (o utiliza un subdominio gratuito).
- En el panel de Cloudflare, ve a la sección Zero Trust → Networks → Tunnels.
- Haz clic en Create a tunnel, dale un nombre al túnel (por ejemplo, home-assistant).
- Copia el comando de instalación y ejecútalo en el dispositivo con HA (o instala el complemento Cloudflared desde la tienda de HAOS).
- En la sección Public Hostname, especifica:
— Subdominio:ha
— Dominio: tu dominio
— Servicio:http://localhost:8123 - Agrega en
configuration.yamllos proxies de confianza de Cloudflare (los rangos de IP se pueden encontrar en cloudflare.com/ips). - Opcional: activa Zero Trust Access — un nivel adicional de autenticación a través de correo electrónico o cuenta de Google antes de ingresar a HA.
💡 Consejo
Cloudflare Tunnel es completamente gratuito para uso personal. La única limitación es que el tráfico pasa por los servidores de Cloudflare. Para gestionar un hogar inteligente, esto es absolutamente aceptable, y la protección contra DDoS y bots viene incluida.
Servidor proxy externo: cuándo es necesario y cómo conectarlo
Un servidor proxy externo es un nodo intermedio en la nube a través del cual se enruta tu tráfico. En el contexto de Home Assistant, se utiliza en varios escenarios específicos que no son cubiertos por un proxy inverso.
Escenario 1: Acceso a Home Assistant desde una red corporativa
Muchas redes corporativas bloquean puertos no estándar y conexiones VPN. Si deseas gestionar tu hogar inteligente desde un ordenador de trabajo donde la mayoría de las conexiones están bloqueadas, el tráfico a través de un proxy residencial parece tráfico HTTPS normal de un usuario doméstico y no despierta sospechas en el firewall corporativo.
Escenario 2: Integraciones con servicios geobloqueados
Home Assistant puede integrarse con miles de servicios externos: APIs meteorológicas, altavoces inteligentes, plataformas de streaming. Algunos de ellos solo están disponibles en ciertos países. Por ejemplo, la integración con Amazon Alexa o Google Assistant requiere que el servidor sea accesible desde EE. UU. o Europa. En este caso, el tráfico saliente de HA se puede dirigir a través de un proxy de datacenter en la región necesaria.
Escenario 3: Anonimización de las solicitudes salientes de HA
Home Assistant realiza regularmente solicitudes a APIs externas: verifica el clima, obtiene datos de tráfico, se sincroniza con servicios en la nube. Todas estas solicitudes salen con tu IP doméstica, revelando tu ubicación a servicios externos. Configurar un proxy saliente en la configuración del sistema de HA permite ocultar la IP real.
Cómo configurar un proxy saliente en Home Assistant:
En Home Assistant OS, ve a Configuración → Sistema → Red. Aquí puedes especificar un proxy HTTP/HTTPS para todas las conexiones salientes. Introduce los datos del proxy en el siguiente formato:
Proxy HTTP: http://usuario:contraseña@servidor-proxy:puerto Proxy HTTPS: http://usuario:contraseña@servidor-proxy:puerto
Alternativamente, si ejecutas HA en Docker, puedes establecer las variables de entorno HTTP_PROXY y HTTPS_PROXY en el archivo docker-compose.yml:
version: '3'
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
environment:
- HTTP_PROXY=http://usuario:contraseña@servidor-proxy:puerto
- HTTPS_PROXY=http://usuario:contraseña@servidor-proxy:puerto
- NO_PROXY=localhost,127.0.0.1,192.168.0.0/16
volumes:
- ./config:/config
network_mode: host
restart: unless-stopped
Presta atención a la variable NO_PROXY — excluye las direcciones locales de la proxy, para que HA pueda comunicarse directamente con los dispositivos en tu red doméstica.
Nabu Casa vs proxy independiente: qué elegir
Nabu Casa es el servicio en la nube oficial del equipo de Home Assistant. Resuelve el problema del acceso remoto con un solo clic: no hay configuraciones de DNS, SSL, ni puertos abiertos. Simplemente te suscribes y obtienes una URL lista del tipo https://tu-id.ui.nabu.casa.
| Criterio | Nabu Casa | Cloudflare Tunnel | Nginx/Caddy |
|---|---|---|---|
| Costo | ~$6.50/mes | Gratis | Gratis |
| Dificultad de configuración | ⭐ Muy fácil | ⭐⭐ Fácil | ⭐⭐⭐ Media |
| Necesita IP pública | No | No | Sí (o DDNS) |
| Dominio propio | No | Sí | Sí |
| Alexa / Google Home | ✅ Integrado | Configuración manual | Configuración manual |
| Privacidad | Tráfico a través de los servidores de Nabu Casa | Tráfico a través de Cloudflare | Control total |
| Soporte de los desarrolladores de HA | ✅ Sí | No | No |
Conclusión: Si estás comenzando y quieres lo mínimo de complicaciones, elige Nabu Casa. Si quieres una solución gratuita sin IP pública, elige Cloudflare Tunnel. Si la privacidad total es importante y deseas tu propio nombre de dominio, configura Nginx o Caddy.
Lista de verificación de seguridad: 10 reglas para proteger Home Assistant
El proxy es un elemento importante, pero no el único en la protección. Aquí tienes una lista completa que cerrará la mayoría de los vectores de ataque a tu hogar inteligente:
✅ Lista de verificación de seguridad de Home Assistant
- Instala una capa de proxy (Caddy, Nginx o Cloudflare Tunnel) — nunca abras el puerto 8123 directamente.
- Activa HTTPS — solo conexiones cifradas. Caddy lo hace automáticamente.
- Utiliza una contraseña compleja — mínimo 16 caracteres, números, caracteres especiales. Mejor aún, usa un gestor de contraseñas.
- Activa la autenticación de dos factores en Home Assistant: Configuración → Usuarios → Activar 2FA (TOTP a través de Google Authenticator o Authy).
- Desactiva la creación de cuentas a través de la interfaz (onboarding) después de la configuración inicial.
- Configura limitación de tasa en el proxy — no más de 5-10 intentos de inicio de sesión por minuto desde una IP.
- Activa fail2ban o similar — bloqueo automático de IP después de varios intentos fallidos de inicio de sesión.
- Actualiza regularmente Home Assistant — la mayoría de las vulnerabilidades críticas se cierran dentro de 24-48 horas después de ser descubiertas.
- Aísla los dispositivos del hogar inteligente en una VLAN separada o red Wi-Fi de invitados — si un dispositivo es hackeado, el resto de la red permanecerá segura.
- Desactiva integraciones y complementos innecesarios — cada componente activo amplía la superficie de ataque.
Adicional: configuración de fail2ban para Home Assistant
Si utilizas un sistema Linux (por ejemplo, Home Assistant Supervised en Debian), instala fail2ban para bloquear automáticamente las IPs atacantes:
# Instalación de fail2ban sudo apt install fail2ban # Crea el archivo /etc/fail2ban/filter.d/hass.conf [Definition] failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentication from <HOST>.*$ ignoreregex = # Crea la regla en /etc/fail2ban/jail.d/hass.conf [hass] enabled = true filter = hass logpath = /config/home-assistant.log maxretry = 5 bantime = 3600 findtime = 600
Esta regla bloquea la IP durante 1 hora después de 5 intentos fallidos de inicio de sesión en 10 minutos. Puedes endurecer los parámetros: aumentar bantime a 86400 (24 horas) o reducir maxretry a 3.
Monitoreo de actividad sospechosa
Home Assistant tiene un registro de autenticación incorporado. Revisa regularmente a través de Configuración → Sistema → Registros. Busca líneas con Login attempt y invalid authentication. Si ves intentos desde IPs desconocidas, es una señal de que tus HA han sido detectados por escáneres.
También puedes configurar una notificación automática en Telegram ante un intento fallido de inicio de sesión. Crea una automatización en Home Assistant:
alias: Notificación de intento fallido de inicio de sesión
trigger:
- platform: event
event_type: system_log_event
event_data:
level: WARNING
condition:
- condition: template
value_template: "{{ 'Login attempt' in trigger.event.data.message }}"
action:
- service: notify.telegram
data:
message: "⚠️ Intento de inicio de sesión en Home Assistant: {{ trigger.event.data.message }}"
Conclusión
El acceso remoto seguro a Home Assistant no es una "característica" opcional, sino un requisito indispensable para todos los que desean gestionar su hogar inteligente desde Internet. Abrir un puerto sin una capa de protección no es una cuestión de "si será hackeado", sino de "cuándo será hackeado". La capa de proxy (proxy inverso o túnel) cambia radicalmente el panorama: los delincuentes solo ven el proxy, no tu servidor real ni tu red doméstica.
Resumen breve sobre la elección de la solución:
- Principiante, quiero algo simple y rápido → Nabu Casa o Cloudflare Tunnel
- Tengo IP pública, quiero control → Caddy o Nginx como proxy inverso
- No tengo IP pública, quiero gratis → Cloudflare Tunnel + DuckDNS
- Máxima privacidad → VPS + túnel WireGuard + proxy inverso
No olvides que el proxy es la primera línea de defensa. Complementa esto con autenticación de dos factores, actualizaciones regulares y monitoreo de registros. Tu hogar inteligente debe ser inteligente también en cuestiones de seguridad.
Si además de proteger el tráfico entrante necesitas ocultar las solicitudes salientes de Home Assistant a APIs externas o acceder a integraciones geobloqueadas, te recomendamos considerar proxies residenciales — proporcionan direcciones IP domésticas reales que no son bloqueadas por servicios en la nube y proveedores de APIs.
```