Dans le précédent article, nous avons configuré la solution Jeedom sur un Raspberry Pi 4B. On va maintenant voir comment sécuriser cette solution et y accéder à distance et donc depuis Internet. A nouveau, il y aura des commandes à saisir dans le terminal. Le détail sur le procédé à suivre ayant été décrit dans le précédent article, je ne reviendrai pas sur la manière de faire cette action.

À noter :

Cette configuration est obligatoire si vous souhaitez utiliser vos assistants personnels (Google Assistant, Alexa, …) dans le cadre de vos projets domotiques.

Sécurisation du mot de passe de Jeedom

Lors de la première connexion à Jeedom, une fenêtre propose de changer le mot de passe. Je vous recommande fortement de faire cela et d’utiliser un mot de passe fort. Personnellement, j’utilise la solution Dashlane depuis de nombreuses années, mais libre à vous de faire un autre choix comme LastPass ou tout simplement le gestionnaire de mot de passe intégré dans Chrome.

Si vous avez déjà défini un mot de passe, mais que vous souhaitez le changer, il vous suffit, dans Jeedom, d’aller dans le menu Réglages > Préférences:

Pensez bien à sauvegarder vos changements en cliquant sur le bouton [Sauvegarder] en haut à droite.

Permettre un accès à Jeedom depuis l’Internet

Pour accéder à votre solution Jeedom depuis l’extérieur, il va falloir effectuer les actions suivantes:

  • Créer un nom de domaine (OVH sera utilisé dans le cadre de ce tutorial)
  • Configurer l’association entre votre adresse IP publique et votre nom de domaine
  • Ajuster la configuration du serveur apache du RP
  • Installer un certificat SSL

N’ayez crainte, je vais vous décrire la procédure à suivre :-)

Attention

Cela va générer un coût additionnel. Pour autant, le montant n’est pas très élevé puisqu’il y a des offres démarrant à 2,99€ par an chez OVH.

Je précise que durant ma configuration, je me suis basé sur le tutoriel suivant: https://www.domo-blog.fr/securiser-jeedom-https-certificat-ssl-dote-nouveau-challenge-http-01/

Je reprends donc une bonne partie de ces explications. Pour autant, je vais vous donner quelques explications complémentaires car j’ai effectué quelques adaptations pour mes besoins personnels en particulier pour l’association de mon IP publique à mon nom de domaine.

Création d’un nom de domaine

Vous pouvez utiliser n’importe quel fournisseur de nom de domaine. Pour les besoins de ce tutoriel, je vais décrire la solution en me basant sur le service fourni par OVH.

La première étape consiste à créer un nom de domaine.

Sélectionnez l’extension voulue suivant vos préférences et le tarif et cliquez sur le bouton [Commander] puis suivez la procédure jusqu’à la commande finale. Pour la suite de cet article, je vais considérer que le nom de domaine acheté est www.domaine.ovh

Une fois le nom de domaine créé, il faut qu’il se connecte à votre Jeedom via votre adresse IP publique. Pour cela, nous allons utiliser le service DynHost.

Configuration du service DynHost

Le Dynhost consiste à faire le lien entre votre adresse IP publique et un nom de domaine. De ce fait, il va falloir trouver votre adresse IP publique. Pour cela, je vous invite à visiter le site www.mon-ip.com  puis noter l’adresse IP publique indiquée.

Ensuite, connectez-vous à l’interface OVH via le lien suivant en ajustant votre URL au nom de domaine que vous avez choisi: https://www.ovh.com/manager/web/#/configuration/domain/domaine.ovh/dynhost

Cliquez sur le bouton <Ajouter un DynHost> et renseignez les informations demandées:

  • Sous domaine: www
  • IP actuelle: l’adresse IP que vous avez récupérée précédement (votre adresse IP publique)

Il vous a certainement été demandé de créer un identifiant et un mot de passe pour cette étape. Veuillez sauvegarder ces informations car vous pourriez en avoir besoin dans le cadre d’autres article… :-)

Une fois cette action effectuée, il va falloir configurer un serveur apache sur votre RP.

Ajustement de la configuration du serveur apache

C’est ici qu’il va falloir ouvrir un terminal et se connecter en SSH au RP.

La première étape consiste à renseigner votre nom de domaine dans le fichier hosts du Raspberry Pi. Pour cela, il faut ouvrir le fichier hosts via la commande:

sudo nano /etc/hosts

et ajoutez en fin de fichier la ligne suivante (À ajuster en fonction de votre nom de domaine sans oublier de sauvegarder ensuite):

ServerName www.domaine.ovh

La seconde étape consiste à éditer le fichier apache2.conf avec la commande suivante:

sudo nano /etc/apache2/apache2.conf

ajoutez la ligne suivante tout en haut du fichier sans oublier de sauvegarder et d’ajuster l’URL au domaine choisi:

ServerName www.domaine.ovh

Enfin, redémarrez le serveur apache via la commande suivante:

sudo /etc/init.d/apache2 restart

Afin de s’assurer que la configuration est bonne, lancez la commande suivante et assurez-vous que le résultat est Syntax OK

sudo apachectl configtest

Installation du certificat SSL

Il faut au départ effectuer deux redirections de ports sur votre box fournie par votre opérateur. Je ne vais pas détailler la procédure pour chaque opérateur mais sachez, si besoin, que vous trouverez facilement la procédure sur Internet en cas de besoin.

La première étape consiste à rediriger les ports 80 et 443 vers l’adresse IP interne de votre RP.

Une fois cela effectué, vous devriez donc pouvoir accéder à votre RP depuis votre nom de domaine en http. Sur base de notre exemple, l’URL serait donc: http://www.domaine.ovh

Attention

La configuration DynHost peut prendre plusieurs heures pour être effective. Aussi, il se peut que cette action ne fonctionne pas tout de suite.

Quoi qu’il en soit, Il est alors temps de générer le certificat SSL nécessaire pour un accès en https. Pour cela, je vous invite simplement à suivre la page 3  de l’article que j’ai utilisé comme base

Pour résumer, les commandes à saisir sont:

cd /etc
sudo wget https://dl.eff.org/certbot-auto
sudo chmod a+x ./certbot-auto
./certbot-auto --apache -d www.domaine.ovh

Lors de l’exécution de la dernière commande, il faudra valider que vous ne voulez pas de redirection.

Votre certificat SSL est alors généré et vous devriez recevoir un message de félicitation en anglais (congratulations).

A ce stade, vous pouvez alors supprimer les redirections de ports que vous avez effectuez sur votre box précédement. Pour autant, j’ai laissé la redirection du port 443 car sinon j’obtenais un message en me connectant en https à ma solution Jeedom. Je conseille donc de ne supprimer que la redirection du port 80 (http).

A noter qu’il faudra renouveler régulièrement ce certificat SSL (tous les 90 jours).

Finalisation de la configuration dans Jeedom

Une fois les opérations précédentes effectuées, je vous invite, dans Jeedom, à aller dans le menu Réglages > Système > Configuration puis dans le 4eme onglet (icone qui ressemble à un signal WiFi). Il faut alors remplir la partie <Accès externe> avec votre nom de domaine (dans notre exemple: www.domaine.ovh). Le port à utiliser est le 443 (port par défaut pour une connexion sécurisée).

Conclusion

A présent, vous devriez pouvoir accéder à votre jeedom depuis votre nom de domaine (www.domaine.ovh dans notre exemple) et ainsi le contrôler à distance. A noter que cette configuration est nécessaire pour pouvoir utiliser l’assistant Google (Article à venir).

Si comme moi, vous ne bénéficiez pas d’une adresse IP publique fixe, il vous faudra modifier la configuration DynHost régulièrement avec votre nouvelle adresse IP publique. Cela tombe bien puisque cela fera l’objet du prochain article. En effet, j’ai trouvé une solution relativement simple utilisant la solution Jeedom. Cela permettra alors de rentrer dans le vif du sujet.

Même si vous n’êtes pas concerné par ce souci, ne ratez pas le prochain article car des notions de base de Jeedom y seront abordées.

A bientôt…

Shares:

2 Comments

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.