Vous avez installé Home Assistant, connecté des prises intelligentes, un thermostat et des caméras — et vous souhaitez gérer tout cela depuis votre smartphone, où que vous soyez dans le monde. Mais un accès ouvert à Internet sans protection transforme votre maison intelligente en une cible facile pour les hackers. Dans cet article, nous allons examiner comment organiser correctement l'accès à distance à Home Assistant via un proxy et sécuriser votre réseau domestique.
Pourquoi l'accès direct à Home Assistant est dangereux
Home Assistant est une plateforme puissante pour l'automatisation de la maison intelligente avec un code source ouvert. Des millions d'utilisateurs à travers le monde gèrent l'éclairage, le climat, les serrures, les caméras et des dizaines d'autres dispositifs grâce à elle. Mais c'est cette popularité qui rend Home Assistant une cible attrayante pour les malfaiteurs.
Lorsque vous ouvrez le port 8123 (le port standard de Home Assistant) directement via votre routeur vers Internet, vous accrochez littéralement une pancarte "bienvenue" pour les scanners automatiques. Ces scanners parcourent toute la plage d'adresses IP et recherchent des ports ouverts de services connus. Selon Shodan (moteur de recherche pour les dispositifs sur Internet), des dizaines de milliers d'instances de Home Assistant sont constamment accessibles en ligne.
Que se passe-t-il après que votre Home Assistant soit découvert par un malfaiteur :
- Brute force du mot de passe — des scripts automatiques essaient des milliers de combinaisons identifiant/mot de passe. Si vous avez un mot de passe faible, le piratage est une question de minutes.
- Exploitation des vulnérabilités — des failles critiques sont parfois découvertes dans les anciennes versions de Home Assistant, permettant d'accéder sans mot de passe.
- Surveillance via les caméras — en accédant à HA, le malfaiteur peut voir le flux de toutes les caméras connectées en temps réel.
- Contrôle des serrures et des alarmes — si vous avez connecté une serrure intelligente, un hacker peut ouvrir la porte de votre maison à distance.
- Vol de données d'automatisation — l'historique de HA peut révéler quand vous êtes chez vous, quand vous partez, votre mode de sommeil et d'autres données privées.
⚠️ Cas réel
En 2023, des chercheurs en sécurité ont découvert la vulnérabilité CVE-2023-27482 dans Home Assistant, permettant de contourner l'authentification sans aucune donnée d'identification. Toutes les instances accessibles en ligne étaient vulnérables jusqu'à la sortie du patch. Ceux qui utilisaient une couche de proxy ou un VPN étaient protégés automatiquement.
Comment un proxy protège la maison intelligente: principe de fonctionnement
Un proxy dans le contexte de Home Assistant agit comme un intermédiaire entre Internet et votre serveur. Au lieu que votre Home Assistant soit directement visible depuis le réseau, seul le serveur proxy est visible de l'extérieur — et il redirige les requêtes à l'intérieur, appliquant des vérifications supplémentaires.
Le schéma de fonctionnement est le suivant :
Votre smartphone (internet)
↓
Serveur proxy
(filtrage, chiffrement, autorisation)
↓
Réseau domestique (fermé)
↓
Home Assistant (192.168.1.X:8123)
Ce que cette couche supplémentaire apporte :
- Cacher l'IP réelle — les scanners voient l'IP du proxy, pas votre adresse domestique. Même si le proxy est piraté, ils n'accéderont pas directement au réseau domestique.
- Chiffrement SSL/TLS — le proxy peut terminer la connexion HTTPS et fournir un certificat valide, protégeant le trafic contre l'interception.
- Authentification supplémentaire — vous pouvez mettre en place une authentification de base ou une authentification à deux facteurs directement au niveau du proxy.
- Limitation de débit — limiter le nombre de requêtes d'une seule IP bloque les attaques par force brute avant qu'elles n'atteignent Home Assistant.
- Géoblocage — vous pouvez autoriser l'accès uniquement depuis certains pays ou plages IP.
- Journalisation — toutes les tentatives d'accès sont enregistrées, ce qui aide à détecter une activité suspecte.
Il est important de comprendre la différence entre les deux types de proxy utilisés dans ce scénario : un proxy inverse (reverse proxy) est installé sur votre serveur ou routeur et accepte les connexions entrantes, tandis qu'un proxy externe est un serveur intermédiaire dans le cloud, à travers lequel votre trafic est tunnelé. Les deux approches ont leurs avantages, et nous allons examiner chacune d'elles.
Quels types de proxy conviennent à Home Assistant
Avant de choisir une solution, il est important de comprendre que les tâches de Home Assistant et, par exemple, celles d'un arbitragiste ou d'un spécialiste SMM sont fondamentalement différentes. Pour une maison intelligente, nous n'avons pas besoin d'un proxy anonyme pour contourner les blocages, mais d'un tunnel sécurisé pour le contrôle à distance. Examinons les options :
| Type de solution | Comment ça fonctionne | Avantages | Inconvénients | Difficulté |
|---|---|---|---|---|
| Proxy inverse (Nginx/Caddy) | Accepte les requêtes HTTPS de l'extérieur et les redirige vers HA à l'intérieur | Gratuit, contrôle total, SSL | Nécessite une IP publique ou DDNS, port 443 ouvert | Moyenne |
| Cloudflare Tunnel | Tunnel de HA vers les serveurs Cloudflare, pas de ports nécessaires | Gratuit, pas besoin d'IP publique, protection DDoS | Le trafic passe par Cloudflare, nécessite un domaine | Faible |
| VPS + proxy | Louer un VPS, tunneliser le trafic à travers lui | Votre propre IP, contrôle maximal | Payant, nécessite une configuration | Élevée |
| Nabu Casa (officiel) | Service cloud des développeurs de HA | Extrêmement simple, supporte Alexa/Google | Abonnement payant ~$6.50/mois | Très faible |
| Proxy résidentiel | Routage du trafic sortant via une vraie IP domestique | IP réelle, ne bloque pas les services | Convient pour le trafic sortant, pas pour le trafic entrant | Faible |
Pour la plupart des utilisateurs de Home Assistant, le choix optimal sera Cloudflare Tunnel (gratuit, pas besoin d'IP publique) ou proxy inverse sur Nginx/Caddy (si vous avez une IP publique ou un DNS dynamique). Nabu Casa conviendra à ceux qui ne veulent pas s'embêter avec les configurations. Examinons chaque option en détail.
Proxy inverse (Nginx, Caddy): configuration étape par étape
Le proxy inverse est la méthode classique et la plus flexible pour organiser un accès sécurisé à Home Assistant. Il est installé sur le même appareil que HA (par exemple, sur un Raspberry Pi ou Home Assistant OS), ou sur un serveur séparé dans le réseau domestique.
Option 1: Caddy (recommandé pour les débutants)
Caddy est un serveur web moderne qui obtient et met à jour automatiquement les certificats SSL via Let's Encrypt. Aucune configuration manuelle avec certbot n'est nécessaire.
Étape 1: Ce dont vous aurez besoin
- Un nom de domaine (peut être gratuit sur DuckDNS ou No-IP)
- Redirection du port 443 sur le routeur vers l'IP de votre Home Assistant
- Home Assistant installé (n'importe quelle version)
Étape 2: Installation de Caddy en tant qu'addon dans Home Assistant OS
Si vous utilisez Home Assistant OS (HAOS), ouvrez la section Paramètres → Add-ons → Boutique d'add-ons et trouvez l'addon Caddy 2. Installez-le et passez à la configuration.
Étape 3: Configuration de base du Caddyfile
your-domain.duckdns.org {
reverse_proxy localhost:8123
# Protection supplémentaire: Authentification de base avant HA
# basicauth {
# admin $2a$14$hash_du_mot_de_passe
# }
# Limitation de débit: pas plus de 10 requêtes par seconde
rate_limit {
zone static_zone {
key {remote_host}
events 10
window 1s
}
}
# En-têtes de sécurité
header {
X-Frame-Options DENY
X-Content-Type-Options nosniff
Referrer-Policy no-referrer
}
}
Étape 4: Configurer Home Assistant pour fonctionner derrière un proxy
Ouvrez le fichier configuration.yaml et ajoutez les lignes suivantes. C'est obligatoire — sinon HA rejettera les requêtes venant du proxy :
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
Après avoir enregistré, redémarrez Home Assistant. Maintenant, accédez à lui à l'adresse https://your-domain.duckdns.org — la connexion sera chiffrée, et l'IP réelle de votre routeur sera cachée derrière le domaine.
Option 2: Cloudflare Tunnel (sans IP publique)
Si vous n'avez pas d'IP publique (la plupart des fournisseurs d'accès à Internet domestiques attribuent des IP grises derrière un NAT), Cloudflare Tunnel est la solution idéale. Vous installez un petit agent cloudflared sur l'appareil avec Home Assistant, et il crée automatiquement un tunnel chiffré vers les serveurs Cloudflare. Pas de ports ouverts sur le routeur !
Configuration étape par étape :
- Inscrivez-vous sur cloudflare.com et ajoutez votre domaine (ou utilisez un sous-domaine gratuit).
- Dans le tableau de bord Cloudflare, allez dans la section Zero Trust → Networks → Tunnels.
- Cliquez sur Create a tunnel, donnez un nom au tunnel (par exemple, home-assistant).
- Copiez la commande d'installation et exécutez-la sur l'appareil avec HA (ou installez l'addon Cloudflared depuis la boutique HAOS).
- Dans la section Public Hostname, indiquez :
— Sous-domaine :ha
— Domaine : votre domaine
— Service :http://localhost:8123 - Ajoutez dans
configuration.yamlles proxies de confiance Cloudflare (les plages IP peuvent être trouvées sur cloudflare.com/ips). - Optionnel : activez Zero Trust Access — un niveau d'authentification supplémentaire via email ou compte Google avant d'accéder à HA.
💡 Conseil
Cloudflare Tunnel est entièrement gratuit pour un usage personnel. La seule restriction est que le trafic passe par les serveurs Cloudflare. Pour gérer une maison intelligente, c'est tout à fait acceptable, et la protection contre les DDoS et les bots est incluse.
Serveur proxy externe: quand il est nécessaire et comment le connecter
Un serveur proxy externe est un nœud intermédiaire dans le cloud, à travers lequel votre trafic est routé. Dans le contexte de Home Assistant, il est utilisé dans plusieurs scénarios spécifiques qui ne sont pas couverts par un proxy inverse.
Scénario 1: Accès à Home Assistant depuis un réseau d'entreprise
De nombreux réseaux d'entreprise bloquent les ports non standards et les connexions VPN. Si vous souhaitez gérer votre maison intelligente depuis un ordinateur de travail où la plupart des connexions sont bloquées, le trafic via un proxy résidentiel ressemble à un trafic HTTPS ordinaire d'un utilisateur domestique et ne suscite pas de soupçons auprès du pare-feu d'entreprise.
Scénario 2: Intégrations avec des services géo-restreints
Home Assistant peut s'intégrer avec des milliers de services externes : API météo, enceintes intelligentes, plateformes de streaming. Certains d'entre eux ne sont disponibles que dans certains pays. Par exemple, l'intégration avec Amazon Alexa ou Google Assistant nécessite que le serveur soit accessible depuis les États-Unis ou l'Europe. Dans ce cas, le trafic sortant de HA peut être dirigé via un proxy de centre de données dans la région souhaitée.
Scénario 3: Anonymisation des requêtes sortantes de HA
Home Assistant interroge régulièrement des API externes : vérifie la météo, obtient des données sur le trafic, se synchronise avec des services cloud. Toutes ces requêtes partent de votre IP domestique, révélant votre emplacement à des services tiers. Configurer un proxy sortant dans les paramètres système de HA permet de masquer l'IP réelle.
Comment configurer un proxy sortant dans Home Assistant :
Dans Home Assistant OS, allez dans Paramètres → Système → Réseau. Ici, vous pouvez spécifier un proxy HTTP/HTTPS pour toutes les connexions sortantes. Entrez les données du proxy au format :
HTTP Proxy: http://utilisateur:motdepasse@serveur-proxy:port HTTPS Proxy: http://utilisateur:motdepasse@serveur-proxy:port
Alternativement, si vous exécutez HA dans Docker, vous pouvez définir les variables d'environnement HTTP_PROXY et HTTPS_PROXY dans le fichier 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
Faites attention à la variable NO_PROXY — elle exclut les adresses locales du proxy, afin que HA puisse communiquer directement avec les appareils de votre réseau domestique.
Nabu Casa vs proxy autonome: que choisir
Nabu Casa est le service cloud officiel de l'équipe Home Assistant. Il résout le problème de l'accès à distance en un clic : aucune configuration DNS, SSL, ou ports ouverts. Vous vous inscrivez simplement et obtenez une URL prête à l'emploi de type https://votre-id.ui.nabu.casa.
| Critère | Nabu Casa | Cloudflare Tunnel | Nginx/Caddy |
|---|---|---|---|
| Coût | ~$6.50/mois | Gratuit | Gratuit |
| Difficulté de configuration | ⭐ Très simple | ⭐⭐ Simple | ⭐⭐⭐ Moyenne |
| Besoin d'une IP publique | Non | Non | Oui (ou DDNS) |
| Domaine propre | Non | Oui | Oui |
| Alexa / Google Home | ✅ Intégré | Configuration manuelle | Configuration manuelle |
| Confidentialité | Trafic via les serveurs Nabu Casa | Trafic via Cloudflare | Contrôle total |
| Support des développeurs de HA | ✅ Oui | Non | Non |
Conclusion : Si vous débutez et souhaitez un minimum de tracas — optez pour Nabu Casa. Si vous voulez une solution gratuite sans IP publique — choisissez Cloudflare Tunnel. Si le contrôle total et votre propre nom de domaine sont importants — configurez Nginx ou Caddy.
Liste de contrôle de sécurité: 10 règles pour protéger Home Assistant
Un proxy est un élément important, mais pas le seul, de la protection. Voici la liste de contrôle complète qui couvrira la plupart des vecteurs d'attaque sur votre maison intelligente :
✅ Liste de contrôle de sécurité Home Assistant
- Installez une couche de proxy (Caddy, Nginx ou Cloudflare Tunnel) — ne jamais ouvrir le port 8123 directement.
- Activez HTTPS — seules les connexions chiffrées. Caddy le fait automatiquement.
- Utilisez un mot de passe complexe — au moins 16 caractères, chiffres, caractères spéciaux. Mieux encore — un gestionnaire de mots de passe.
- Activez l'authentification à deux facteurs dans Home Assistant : Paramètres → Utilisateurs → Activer 2FA (TOTP via Google Authenticator ou Authy).
- Désactivez la création de comptes via l'interface utilisateur (onboarding) après la configuration initiale.
- Configurez la limitation de débit sur le proxy — pas plus de 5-10 tentatives de connexion par minute depuis une seule IP.
- Activez fail2ban ou un équivalent — blocage automatique de l'IP après plusieurs tentatives de connexion échouées.
- Mettez régulièrement à jour Home Assistant — la plupart des vulnérabilités critiques sont corrigées dans les 24-48 heures suivant leur découverte.
- Isoler les appareils de la maison intelligente dans un VLAN séparé ou un réseau Wi-Fi invité — si un appareil est piraté, le reste du réseau reste sécurisé.
- Désactivez les intégrations et addons inutiles — chaque composant actif augmente la surface d'attaque.
En complément: configuration de fail2ban pour Home Assistant
Si vous utilisez un système Linux (par exemple, Home Assistant Supervised sur Debian), installez fail2ban pour bloquer automatiquement les IP attaquantes :
# Installation de fail2ban sudo apt install fail2ban # Créez le fichier /etc/fail2ban/filter.d/hass.conf [Definition] failregex = ^%(__prefix_line)s.*Tentative de connexion ou requête avec une authentification invalide de <HOST>.*$ ignoreregex = # Créez la règle dans /etc/fail2ban/jail.d/hass.conf [hass] enabled = true filter = hass logpath = /config/home-assistant.log maxretry = 5 bantime = 3600 findtime = 600
Cette règle bloque l'IP pendant 1 heure après 5 tentatives de connexion échouées en 10 minutes. Vous pouvez durcir les paramètres : augmenter bantime à 86400 (24 heures) ou réduire maxretry à 3.
Surveillance de l'activité suspecte
Home Assistant dispose d'un journal d'authentification intégré. Vérifiez-le régulièrement via Paramètres → Système → Journaux. Recherchez les lignes avec Tentative de connexion et authentification invalide. Si vous voyez des tentatives provenant d'IP inconnues — c'est un signe que votre HA a été détecté par des scanners.
Vous pouvez également configurer une notification automatique dans Telegram en cas de tentative de connexion échouée. Créez une automatisation dans Home Assistant :
alias: Notification de tentative de connexion échouée
trigger:
- platform: event
event_type: system_log_event
event_data:
level: WARNING
condition:
- condition: template
value_template: "{{ 'Tentative de connexion' in trigger.event.data.message }}"
action:
- service: notify.telegram
data:
message: "⚠️ Tentative de connexion à Home Assistant: {{ trigger.event.data.message }}"
Conclusion
Un accès à distance sécurisé à Home Assistant n'est pas une "option" mais une condition essentielle pour tous ceux qui souhaitent gérer leur maison intelligente depuis Internet. Un port ouvert sans couche de protection est une question non pas de "serai-je piraté", mais de "quand serai-je piraté". Une couche de proxy (proxy inverse ou tunnel) change radicalement la donne : les malfaiteurs ne voient que le proxy, pas votre serveur réel et votre réseau domestique.
Résumé des choix de solutions :
- Débutant, je veux quelque chose de simple et rapide → Nabu Casa ou Cloudflare Tunnel
- J'ai une IP publique, je veux du contrôle → Caddy ou Nginx comme proxy inverse
- Pas d'IP publique, je veux gratuit → Cloudflare Tunnel + DuckDNS
- Confidentialité maximale → VPS + tunnel WireGuard + proxy inverse
N'oubliez pas que le proxy est la première ligne de défense. Complétez-le par une authentification à deux facteurs, des mises à jour régulières et une surveillance des journaux. Une maison intelligente doit être intelligente aussi en matière de sécurité.
Si, en plus de protéger le trafic entrant, vous devez masquer les requêtes sortantes de Home Assistant vers des API externes ou accéder à des intégrations géo-restreintes, nous vous recommandons d'envisager des proxies résidentiels — ils fournissent de vraies adresses IP domestiques qui ne sont pas bloquées par les services cloud et les fournisseurs d'API.
```