Site icon JusteGeek

Passer Home Assistant en HTTPS

Hello ! Je continue dans ma lancée des tutoriels consacrés à Home Assistant (HA). Aujourd'hui, je propose de vous guider étape par étape pour sécuriser Home Assistant en configurant un accès HTTPS avec un certificat signé par une autorité externe.

Home Assistant en HTTPS

Pourquoi passer Home Assistant en HTTPS ?

Home Assistant est une solution puissante pour la domotique qui permet de contrôler et d'automatiser divers appareils domestiques. Pour garantir la sécurité des données et des commandes, il est essentiel de protéger votre installation Home Assistant avec HTTPS, surtout si vous l'exposez à l'extérieur de votre réseau local. Passer Home Assistant en HTTPS permet, en effet, de chiffrer les communications entre votre serveur et les appareils clients, réduisant ainsi les risques d'interception par des tiers malveillants. J'imagine que vous voyez là l'intérêt de la chose ?! Alors, au boulot !

Les prérequis

Dans ce tutoriel, on va utiliser un certificat obtenu à l'aide d'une autorité de certification externe. Sachez que vous pouvez aussi le faire avec un certificat gratuit Let's Encrypt, mais cela ne sera pas l'objet de ce billet. Nous allons également avoir besoin d'un nom de domaine : j'utiliserais pour ma part un nom de domaine acheté chez un registraire de nom de domaine, mais il est possible d'utiliser une solution type DuckDNS.

En résumé, pour notre tuto, nous allons donc avoir besoin de :

Vous aurez aussi besoin d'effectuer une redirection de port sur votre routeur/box afin que les requêtes externes arrivent sur votre machine Home Assistant. Sur ce point, je ne pourrais pas vous aider car la configuration dépend de votre fournisseur d'accès à Internet et de votre box.

Vous avez tout sous la main ? Et bien c'est parti.

Copie du certificat et de sa clé sur HA

La première étape pour passer Home Assistant en HTTPS va être la copie du certificat et de sa clé sur notre machine Home Assistant. Pour cela, on va utiliser le module complémentaire Samba Share. Si vous n'avez pas encore installé ce plugin, je vous renvoie à mon article sur les premiers pas avec Home Assistant, dans lequel ce point est abordé.

Ouvrez un explorateur de fichiers et entrez l'adresse de votre HA dans la barre d'adresse, comme ceci : \\IP_HA\ssl. Par exemple, dans mon cas : \\192.168.1.80\ssl puis entrez l'identifiant et le mot de passe que vous avez définis dans la configuration du plugin Samba Share :

Entrez vos identifiants pour accéder au dossier partagé de HA

Une fois que la fenêtre s'ouvre, copiez dans le dossier le fichier certificat et celui de la clé. Pensez à bien noter le nom des fichiers, nous allons en avoir besoin ensuite.

Copiez le certificat et la clé dans le dossier 'ssl' de HA

Installation du module Nginx Home Assistant SSL proxy

L'étape suivante consiste à installer le module complémentaire Nginx Home Assistant SSL proxy. Pour cela, connectez vous sur votre instance HA avec un utilisateur disposant des droits d'administration, puis cliquez en bas à gauche sur Paramètres puis sur Modules Complémentaires.

Le menu paramètres permet d'accéder aux modules complémentaires

Cliquez ensuite sur le bouton BOUTIQUE DES MODULES COMPLEMENTAIRES en bas à droite.

La page de gestion des modules complémentaires

Sélectionnez le module nommé NGINX Home Assistant SSL proxy.

Sélectionnez le module NGINX Home Assistant SSL proxy

Cliquez ensuite sur le bouton INSTALLER et patientez pendant que le plugin s'installe.

Installation du plugin NGINX Home Assistant SSL proxy

Une fois le module installé, cliquez sur l'onglet Configuration pour le configurer. Renseignez votre domaine et le noms des fichiers (certificat et clé). Votre configuration doit alors ressembler à ceci :

Configuration NGINX SSL

Cliquez sur ENREGISTRER puis revenez sur l'onglet Info et démarrez le module complémentaire, en cochant le démarrage automatique et le chien de garde.

Activez le démarrage automatique et le chien de garde, et démarrez le module

Bon, on a pas mal avancé mais ce n'est pas encore terminé. On va devoir maintenant éditer le fichier de configuration principal de HA. Pour cela, nous allons avoir besoin du module complémentaire File editor. Si vous n'avez pas installé ce plugin, je vous renvoie là encore à mon article sur les premiers pas avec Home Assistant. Ouvrez donc le plugin File editor en utilisant le raccourci à gauche (si vous l'avez activé) ou bien en allant dans les modules complémentaires.

Ouvrez le plugin 'File editor'

Cliquez sur l'icône en forme de dossier en haut à gauche pour parcourir l'arborescence et rechercher notre fichier de configuration.

Cliquez sur le dossier pour parcourir l'arborescence

Sélectionnez ensuite le fichier configuration.yaml

Sélectionnez le fichier 'configuration.yaml'

Ajoutez ensuite la configuration suivante à votre fichier configuration.yaml en prenant soin d'adapter, bien évidemment le nom des fichiers de certificat et de clé (attention à bien respecter l'indentation des lignes, sinon cela ne fonctionnera pas).

# passage en HTTPS
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
  ssl_certificate: /ssl/www.domaineha.ovh.pem
  ssl_key: /ssl/www.domaineha.ovh.key.pem

Une fois que c'est fait, vous pouvez enregistrer le fichier avec le bouton rouge contenant la disquette, en haut à droite. Voici, pour exemple, mon fichier de configuration :

La configuration HTTPS dans le fichier configuration.yaml

On y est presque ! Il nous reste maintenant à redémarrer Home Assistant. Pour cela, cliquez en bas à gauche sur Paramètres, puis en haut à droite sur les trois points et sélectionnez Redémarrer Home Assistant.

Redémarrer Home Assistant

Sélectionnez ensuite l'option Redémarrer Home Assistant et confirmez la demande de redémarrage. Une fois que Home Assistant aura redémarré, il sera accessible avec son adresse HTTPS !

C'est ainsi que s'achève ce petit tuto. J'espère qu'il vous aura été utile. Si vous avez des questions, l'espace commentaires est ouvert 😉

Quitter la version mobile