Dans un foyer truffé d’ampoules connectées et de bornes de recharge, la moindre ligne de code peut devenir une porte d’entrée pour un visiteur indésirable. Home Assistant, dont le cœur bat dans un simple fichier YAML, offre le meilleur comme le pire selon la rigueur avec laquelle on le garde sous clé. Voici comment transformer cette configuration en rempart discret, sans sacrifier la souplesse qui fait le charme de la domotique.
Pourquoi sécuriser Home Assistant pour une maison connectée fiable
Risques courants des objets connectés non protégés
Une ampoule pilotable, un aspirateur autonome, une borne de recharge… chaque appareil ouvert sur le réseau domestique élargit la surface d’attaque. Sans garde-fous, un simple mot de passe par défaut suffit à un pirate pour éteindre l’alarme, espionner les caméras ou verrouiller la porte d’entrée à distance. Les conséquences sont plus concrètes qu’on ne le croit : interruption de chauffage en plein hiver, consommation électrique artificiellement gonflée ou vol de données personnelles stockées dans les journaux d’activité.
Les menaces ne viennent pas toujours de l’extérieur. Un add-on mal maintenu, un protocole radio laissé en clair ou une mise à jour ignorée peuvent provoquer un dysfonctionnement en chaîne. L’assistant vocal déclenche alors l’ouverture du portail à 3 h du matin ou l’éclairage reste bloqué en plein tarif de nuit. Sécuriser Home Assistant, c’est surtout éviter ces petits incidents quotidiens qui finissent par miner la confiance dans la domotique.
Avantages d’une configuration YAML maîtrisée
Le fichier YAML agit comme la tour de contrôle de Home Assistant. Bien structuré, il devient un contrat lisible entre l’humain et la machine. Chaque automatisation, chaque intégration y est déclarée noir sur blanc : la transparence facilite la relecture, la recherche d’erreur et la transmission d’un logement à un nouveau propriétaire ou à un installateur.
Une syntaxe propre réduit la surface d’attaque, car tout comportement inattendu est visible et donc auditable. Elle permet aussi de versionner les réglages dans Git et de revenir en arrière en deux clics si un plugin récalcitrant fait planter l’éclairage du salon. Sans oublier la possibilité de séparer les secrets pour que mots de passe et jetons API ne s’échappent jamais dans le cloud public.
- Débogage immédiat : indentation claire, erreurs détectées dès la validation.
- Portabilité : mêmes fichiers pour un Raspberry Pi ou une VM, sans surprise.
- Sérénité : chaque changement laisse une trace, rien n’est caché derrière une interface obscure.
Prendre en main le fichier configuration.yaml Home Assistant
Le fameux configuration.yaml concentre toute la logique de votre installation Home Assistant. Qu’il s’agisse d’intégrer une borne de recharge, de programmer l’éclairage ou de surveiller la consommation électrique, chaque ligne doit être limpide et impeccablement ordonnée. Prendre confiance avec ce fichier, c’est gagner en réactivité lorsqu’une nouvelle idée d’automation surgit et, surtout, écarter les erreurs frustrantes qui bloquent un redémarrage.
Structure du YAML et indentation sans erreur
Le YAML adore la simplicité : pas de guillemets superflus, pas de parenthèses exotiques. En revanche, il est intransigeant sur l’indentation. Deux espaces, jamais de tabulations. Chaque niveau reflète un bloc logique, un peu comme une poupée russe numérique. Si une seule ligne déborde ou se décale d’un espace, Home Assistant se mettra en grève au prochain redémarrage. Voici les pièges qui provoquent le plus de sueurs froides :
- Utiliser une tabulation : invisible dans l’éditeur, fatale pour l’interpréteur.
- Mélanger chiffres et chaînes sans guillemets, par exemple on: « yes » au lieu de true.
- Copier-coller un extrait depuis un forum avec une indentation déjà décalée.
Un bon réflexe consiste à activer la coloration YAML dans l’éditeur et à garder un regard attentif sur la ligne soulignée en rouge. Le moindre avertissement vaut la peine d’être corrigé avant de passer à la suite.
Secrets.yaml pour isoler mots de passe et tokens API
La tentation est grande de saisir son mot de passe Wi-Fi ou son token Tesla directement dans configuration.yaml. Cinq minutes plus tard, on partage fièrement sa configuration sur GitHub et… voilà les identifiants exposés. Le fichier secrets.yaml agit comme un coffre-fort local. On y déclare les valeurs sensibles sous forme clé/valeur, puis on les appelle depuis le fichier principal :
mqtt_password: !secret mqtt_pwd
Dans secrets.yaml :
mqtt_pwd: DifficileÀDeviner123
Le fichier reste stocké sur la même machine mais peut être exclu d’un dépôt avec un simple .gitignore. Un petit geste qui évite une grosse frayeur.
Comment valider la configuration depuis l’interface
Pas besoin de redémarrer l’ensemble du système pour détecter une virgule de travers. L’icône Outils de développement, puis l’onglet Vérifier la configuration réalise un contrôle syntaxique complet. L’opération dure rarement plus de quelques secondes et révèle la ligne incriminée. Pour les pressés :
- Ouvrir Outils de développement, puis Vérifier la configuration.
- Corriger les erreurs indiquées, sauvegarder.
- Relancer la vérification, puis redémarrer Home Assistant uniquement lorsque le message « Configuration valide » s’affiche.
Cette validation éclair évite des coupures inutiles et protège la quiétude digitale de votre foyer connecté.
Renforcer l’authentification et le chiffrement réseau
Une maison intelligente mérite la même attention qu’un coffre-fort connecté. Empêcher toute écoute ou intrusion passe par deux piliers : des échanges chiffrés et des identifiants sous contrôle. On gagne alors en sérénité, que l’on pilote son éclairage depuis le canapé ou que l’on ouvre le garage depuis l’autre bout du pays.
Activer HTTPS avec Let’s Encrypt et Nginx proxy
Le duo Let’s Encrypt et Nginx Proxy Manager offre un tunnel chiffré sans frais, et surtout sans prise de tête. Avec un nom de domaine dynamique et un port redirigé vers Home Assistant, la création du certificat se résume à quelques clics dans l’interface de l’add-on. Nginx intercepte les requêtes externes, parle en HTTPS avec vos visiteurs puis relaie en HTTP sécurisé vers l’instance interne, histoire de ne pas alourdir le processeur du Raspberry Pi.
- Lancer l’add-on Nginx Proxy Manager, déclarer le domaine, activer la case « Force SSL ».
- Cliquer sur « Obtenir le certificat » signé Let’s Encrypt, renouvellement automatique compris.
- Dans configuration.yaml, pointer l’url externe sur https://mondomaine.tld et redémarrer Home Assistant.
Le cadenas s’affiche aussitôt dans le navigateur. Les applications mobiles changeront d’URL lors de la prochaine ouverture, sans perturber vos automatisations.
Token long terme, comment les gérer dans YAML
Les applications tierces et scripts bash dialoguent souvent via des tokens générés par l’interface utilisateur. Un jeton longue durée évite une reconnexion permanente mais devient un véritable sésame à protéger. Plutôt que de l’exposer en clair, on l’isole dans un fichier séparé référencé dans configuration.yaml : api_token: !secret mon_token_long. Le jeton dort alors hors dépôt Git, caché par .gitignore. S’il faut le révoquer, un simple clic dans le profil Home Assistant suffit, sans toucher au YAML.
Pour les curieux qui veulent aller plus loin, il est possible de créer plusieurs tokens dédiés : un pour l’application mobile, un autre pour le script de sauvegarde, un troisième pour le tableau de bord mural. Chaque permission devient granulaire et l’on coupe l’accès du script sans priver le smartphone.
VPN WireGuard, accès distant sécurisé
Même avec HTTPS, exposer Home Assistant publiquement peut inquiéter. WireGuard répond par un tunnel chiffré de bout en bout, aussi fluide qu’un appel vidéo. L’add-on Home Assistant se configure en indiquant l’IP locale du serveur, une clé privée autogénérée et les pairs autorisés. Une fois l’application mobile WireGuard installée, l’utilisateur scanne le QR code et obtient l’accès comme s’il était sur le réseau Wi-Fi domestique, sans aucun port ouvert sur la box.
La connexion reste silencieuse, consommant peu de batterie et rétablissant l’accès dès qu’un réseau cellulaire ou Wi-Fi se présente. Pour les familles, on crée un profil par membre, chacun avec sa propre clé publique. Perte de téléphone ? On supprime la clé du pair en quelques secondes, et le tunnel se referme aussitôt.
Automatisations sécurisées : bonnes pratiques en YAML
Les automatismes font le charme de Home Assistant, mais un déclencheur mal choisi peut ouvrir la porte à un scénario gênant, voire dangereux. En ordonnant clairement vos règles dans le YAML, vous gardez la main sur ce qui peut ou non s’activer et vous réduisez les fausses alertes. Voici les réflexes à cultiver pour des scripts qui protègent, plutôt qu’ils ne surprennent.
Limiter les déclencheurs critiques et filtrer les entités
Prenez l’habitude de séparer les déclencheurs dits “critiques”, par exemple l’ouverture d’une serrure connectée, des automatisations décoratives comme l’éclairage d’ambiance. Placez ces règles dans un fichier dédié, nommez-le security.yaml ou alertes.yaml, puis chargez-le avec !include. Cette simple cloison laisse votre esprit repérer plus vite une ligne suspecte.
Pensez également à filtrer les entités avec des conditions précises : condition: state pour vérifier que l’alarme est armée, condition: time pour empêcher un cliquetis nocturne et condition: template lorsque vous devez combiner plusieurs critères. En limitant la portée de chaque automatisation à quelques entités ciblées, vous évitez l’effet domino qu’un capteur défaillant provoquerait.
Exemples d’automations pour la sécurité domestique
Des idées concrètes valent mieux qu’un long discours : voici trois automatisations sobres mais robustes, faciles à glisser dans votre configuration.
- Surveillance de fuite d’eau
trigger: capteur d’humidité dépasse 80,condition: personne à la maison,action: fermer électrovanne et envoyer une notification prioritaire. - Détection de mouvement après minuit
Allume brièvement la lumière du couloir, démarre l’enregistrement de la caméra et transmet un cliché sur votre mobile. - Simulation de présence
À la tombée de la nuit, si l’alarme est armée depuis plus de 30 minutes, lance une scène lumière-TV aléatoire pour décourager un repérage extérieur.
Gardez chaque scénario concis : un seul objectif, un ensemble réduit d’entités. Vous limiterez la surface d’attaque et faciliterez la relecture.
Utiliser les blueprints sans exposer vos données
Les blueprints simplifient le partage d’automations, mais la prudence s’impose avant de publier. Remplacez toutes les entités privées par des !input, glissez vos clés API et tokens dans secrets.yaml puis réimportez-les avec !secret. Le fichier exporté restera propre, sans information sensible.
Pour aller plus loin, créez un compte Git dédié à vos partages, avec un dépôt public pour les blueprints et un dépôt privé pour la configuration complète. Vous pourrez aider la communauté tout en gardant votre infrastructure hors de portée des curieux.
Intégrations domotiques : Zigbee, MQTT, Z-Wave sans faille
Configurer Zigbee2MQTT en protocole sécurisé
Aujourd’hui, le coordinateur Zigbee branché sur le port USB mérite la même attention qu’un routeur Wi-Fi. La première étape consiste à flasher le firmware du dongle avec la dernière version recommandée, afin de profiter du chiffrement par clé réseau de 128 bits natif au standard. Dans le fichier configuration.yaml de Zigbee2MQTT, activez l’option advanced.pan_id et définissez network_key avec une valeur aléatoire générée hors ligne. Cette clé ne sera jamais transmise en clair, même lors de l’appairage.
Pour limiter les surprises, placez l’add-on dans un VLAN dédié ou dans l’intégration “Zigbee” de Home Assistant protégée par un proxy Nginx interne. Les appareils rejoignent alors le réseau via la commande “Touchlink” ou un bouton physique, mais impossible pour un voisin de capturer le trafic depuis le palier, le chiffrement point à point reste actif dès le premier paquet.
Broker MQTT TLS et contrôle d’accès
Un broker MQTT expose souvent plus que la simple température du salon. Sans TLS, chaque topic devient un livre ouvert sur le réseau. Installez Mosquitto depuis le store d’add-ons, générez un certificat Let’s Encrypt wildcard ou autosigné, puis renseignez cafile, certfile et keyfile dans le mosquitto.conf. Cochez ensuite require_certificate true pour forcer le chiffrement dès la négociation.
Côté contrôle d’accès, activez les ACL. Par exemple :
- le capteur CO₂ publie uniquement sur
maison/salon/co2 - le robot aspirateur ne peut voir que
maison/commandes/aspirateur - l’application mobile lit tous les topics mais n’en publie aucun
Cette granularité évite qu’un objet piraté n’inonde le bus ou ne remonte des données sensibles. Ajoutez un mot de passe long stocké dans secrets.yaml, puis testez la connexion depuis un terminal avec mosquitto_pub --tls-version tlsv1.2. Le court message “hello” doit passer, pas le reste. Vous venez de fermer la porte aux écoutes intempestives.
Z-Wave JS, mises à jour et réseau maillé plus sûr
Z-Wave JS s’appuie sur un réseau maillé où chaque module relaie le signal. Gardez tous les appareils, même les plus anciens, au micrologiciel le plus frais pour corriger les vulnérabilités connues. Le tableau de bord Z-Wave JS signale les versions disponibles : planifiez la nuit pour lancer les flashs afin d’éviter les interruptions pendant la journée.
Un mot sur la clé USB : activez S2 lors de l’inclusion, choisissez la clé PIN affichée par le module puis saisissez-la dans l’interface de Home Assistant. S2 ajoute un échange ECDH qui empêche la capture de clé sur le voisinage radio. Pensez à la topologie : placez un module alimenté en secteur tous les 10 m pour renforcer le maillage et réduire la puissance d’émission, donc la surface d’attaque.
Enfin, cochez la case “Soft reset disabled” dans les options de la clé. En cas d’attaque par débordement de tampon, la clé restera figée plutôt que de redémarrer en envoyant sa table de routage brute. Une broutille à cocher qui fait toute la différence dans un protocole désormais prêt pour de longues années de services tranquilles.
Sauvegardes, supervision et mises à jour de Home Assistant
Snapshots automatisés dans YAML avec Google Drive Backup
Plus personne ne veut d’un système domotique brillant en façade mais vulnérable au premier bug. L’add-on Google Drive Backup répond à cette angoisse en répliquant automatiquement vos snapshots vers le cloud, chiffre AES à la clé. Une simple automatisation YAML suffit : on programme la création d’une sauvegarde complète chaque nuit, on définit la rétention (par exemple sept sauvegardes locales et quinze sur Drive) et on laisse le service pousser l’archive hors du Raspberry ou du NUC. En cas de crash de carte SD, on restaure depuis Drive en trois clics et la maison reprend vie comme si rien ne s’était passé.
Pour aller plus loin, certains utilisateurs déclenchent aussi un webhook secret qui force une sauvegarde avant chaque modification critique du fichier configuration.yaml. Couplé à une notification mobile en fin de tâche, on reste informé sans ouvrir l’interface. Le sentiment de sérénité est immédiat : vos automatisations, vos intégrations et vos tokens sont sécurisés loin du tableau électrique.
Superviser les logs et détecter les anomalies
Le journal de Home Assistant regorge d’indices sur la santé du système. En activant l’add-on Log Viewer ou en envoyant les logs vers un stack Grafana-Prometheus, on transforme ces lignes austères en graphiques digestes. Périodes de latence, erreurs d’intégration, tentatives de connexion douteuses : tout ressort en quelques minutes de consultation quotidienne. L’œil humain n’a pas besoin de scruter chaque caractère, il suffit de repérer les nouveaux pics rouges.
Pour ne rien manquer, un petit script YAML vérifie la présence de mots clés tels que ERROR ou WARNING. À la moindre alerte, le système pousse une carte lovelace dédiée ou une notification Telegram. Cette veille proactive évite l’effet boule de neige : on corrige un souci MQTT ou Z-Wave avant qu’il ne paralyse l’éclairage du salon pendant le dîner.
Garder add-ons et Core à jour sans interrompre le service
Les mises à jour hebdomadaires de Home Assistant apportent des correctifs de sécurité et des nouveautés attendues. Pour autant, personne n’a envie de voir le chauffage s’arrêter en plein hiver. La bonne stratégie consiste à étager les déploiements : d’abord les add-ons non critiques (SSH, File Editor), puis l’OS, enfin le Core. Un script YAML programmé à l’aube lance la vérification, télécharge en arrière-plan et installe au prochain redémarrage programmé, généralement quand la maison dort.
- Activation du mode « safe-mode » automatique, utile si une intégration casse le démarrage
- Notification push récapitulative avec bouton « rollback » si la famille constate une anomalie
- Plan de contingence : reboot sur snapshot J-1 stocké sur Drive si le test d’intégrité échoue
Cette approche en douceur garantit un écosystème sous perfusion de correctifs, sans provoquer le moindre clignotement inhabituel dans la cuisine. L’utilisateur garde la main, les robots font le reste, et la domotique reste imperceptible mais terriblement fiable.
Sécuriser Home Assistant revient à transformer un simple YAML en rempart discret qui garde la maison ouverte aux habitants et fermée aux curieux. Chaque indentation soignée, chaque certificat renouvelé et chaque sauvegarde hors site nourrissent cette confiance jour après jour. Quand les 40 milliards d’objets connectés promis frapperont à notre porte, qui prendra le temps de relire la ligne de code décisive ?
