HowTo : FHEM - Accès sécurisé à l'interface de configuration

Au plus tard après avoir effectué les premières configurations dans votre interface FHEM, vous devez également vous occuper de la question de la sécurité. C'est vraiment ennuyeux de perdre les fonctions minutieusement compilées et soigneusement programmées de votre système SmartHome. Que ce soit par la perte de données ou parce que d'autres personnes ont obtenu un accès non autorisé à votre système.

L'accès potentiel par des personnes non autorisées ne doit pas être négligé. Dans le pire des cas, cet accès peut faire plus de mal que simplement allumer et éteindre une lampe.

L'article suivant explique comment vous pouvez sécuriser votre instance FHEM et la protéger contre la perte de données.


Consignes de sécurité

Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/

Liens d'affiliation/publicitaires

Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂 


Conditions préalables

Avant de commencer cet article, vous devez avoir préparé le RaspberryPi pour qu'il soit accessible via le réseau et contrôlé via SSH.

Les trois articles suivants décrivent ce qu'il faut faire pour préparer le RaspberryPi :
RaspberryPi - configuration pour les nerdiys !
RaspberryPi – La première configuration !
RaspberryPi - Contrôlez le RaspberryPi via SSH
FHEM – Installation sur le RaspberryPi

Outils nécessaires :
-Non-

Les matériaux nécessaires:

Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.


Modifier tous les mots de passe d'accès existants (par défaut)

La mesure de sécurité la plus importante - car la plus exploitée - consiste à modifier les mots de passe standard existants. Si vous utilisez un RaspberryPi comme matériel hôte pour le serveur FHEM, par exemple, il est important que vous modifiiez ses données de connexion standard. Les données de connexion standard "pi" et "raspberry" sont connues de tous ceux qui s'intéressent à moitié à la technologie. Si vous venez de lire ici vos données de connexion RaspberryPi, il est grand temps de les changer.

Comment changer cela est dans l'article RaspberryPi – La première configuration ! décrites.


Créer une connexion utilisateur HTTPACCESS

La prochaine précaution de sécurité contre l'accès non autorisé à votre interface FHEM est la protection d'accès via HTACCESS. Une fois celui-ci configuré, vous serez invité à saisir les données de connexion associées à chaque tentative d'accès à votre instance FHEM.

Pour mettre en place cette protection d'accès, vous devez d'abord encoder votre combinaison identifiant/mot de passe en base64. Cela fonctionne sous Linux avec une commande intégrée. Pour encoder votre combinaison nom d'utilisateur et mot de passe, il vous suffit de saisir la commande suivante dans la console. Bien sûr, vous devez avant cela grand nom d'utilisateur avec votre nom d'utilisateur et excellent mot de passe remplacez-le par votre mot de passe.

Entrez la commande suivante dans la console de votre RaspberryPi pour encoder vos données de connexion.
echo -n grandnom d'utilisateur:grandmotdepasse | base64
Vous recevrez alors une chaîne encodée en base64 de vos données de connexion. Vous devriez le copier pour pouvoir l'utiliser plus tard.

Sans Linux, un encodeur Base64 en ligne comme www.base64online.com . Entrez simplement votre combinaison de nom d'utilisateur et de mot de passe selon le modèle Identifiant Mot de passe et cliquez sur encoder (DECODE).

Pour activer la connexion avec les données de connexion définies, vous devez procéder comme suit.

Vous devez d'abord créer le module "allowedWEB" avec la commande suivante.
définir autoriséWEB autorisé

Vous devez maintenant lier vos données de connexion copiées à ce module en définissant un attribut approprié. Cela peut être fait avec la commande suivante.

attr autoriséWEB basicAuth dG9sbGVyQmVudXR6ZXJuYW1lOnRvbGxlc1Bhc3N3b3J0
Dans la dernière étape, vous devez encore configurer sur quelles interfaces de connexion la connexion doit être interrogée. Dans ce cas, nous activons la requête de connexion pour "WEB", "WEBPhone" et "WEBtablet" avec la commande suivante. Si vous avez attribué d'autres noms aux interfaces de connexion, ceux-ci doivent bien entendu être adaptés en conséquence.
attr autoriséWEB validePour WEB,WEBphone,WEBtablette

C'est déjà ça. Maintenant, redémarrez FHEM en entrant la commande suivante

arrêt redémarrage
Vous pouvez maintenant tester la connexion. Pour cela, accédez à nouveau à l'URL de votre instance FHEM. Cette fois, une fenêtre de connexion devrait apparaître vous invitant à entrer les informations de connexion correctes.
Entrez maintenant le nom d'utilisateur et le mot de passe que vous avez spécifiés précédemment.
Si vous avez entré les bonnes données de connexion, vous devriez être redirigé vers la page d'accueil de votre instance FHEM. Votre interface de configuration est désormais protégée en accès par nom d'utilisateur et mot de passe.

Chiffrer la connexion avec un certificat SSL

Maintenant que vous avez un accès sécurisé à votre interface FHEM, la prochaine précaution de sécurité consiste à vous assurer que votre communication avec elle ne peut être interceptée ou manipulée. A cet effet, un cryptage SSL des données de communication est désormais mis en place. Pour ce faire, un certificat SSL doit d'abord être créé puis connecté à FHEM.

Pour créer le certificat SSL, vous devez d'abord installer deux packages. Pour ce faire, exécutez la commande suivante.
sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl
Lors de l'installation des packages, il peut vous être demandé si vous acceptez que l'installation utilise de la mémoire supplémentaire. Confirmez-le avec un "J" et "Entrée".
Après avoir installé les packages, utilisez la commande suivante pour basculer vers le dossier de votre installation FHEM.
cd /opt/fhem
Le dossier « certs » y est créé avec la commande suivante, dans lequel les certificats sont ensuite créés/sauvegardés.
certificats sudo mkdir
Passez maintenant au dossier "certs" que vous venez de créer.
cd /opt/fhem/certs
Pour créer le certificat SSL, vous devez exécuter la commande suivante.
sudo openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
Au fur et à mesure que le certificat est généré, il vous sera demandé des détails sur ce certificat. Vous devez d'abord entrer le code du pays ici, par exemple. Ces entrées ne doivent pas nécessairement être vraies. Ainsi, vous pouvez donner les informations correctes ou...
... utilisez trois traits d'union ou d'autres caractères comme espaces réservés, comme indiqué.
La commande suivante obtient le certificat et...
sudo chmod 644 /opt/fhem/certs/*.pem
... le dossier du certificat a toujours les droits de fichier corrects.
sudo chmod 711 /opt/fhem/certs
Dans les deux dernières étapes, vous devez maintenant activer HTTPS pour le module WEB...
attribut WEB HTTPS
...et redémarrez FHEM pour que les modifications prennent effet.
arrêt redémarrage

Si vous avez redémarré votre serveur FHEM, vous pouvez y accéder presque comme d'habitude. La seule différence est que vous devez maintenant préfixer l'adresse de votre serveur FHEM avec HTTPS.

Puisque vous utilisez un certificat auto-signé, presque tous les navigateurs vous avertiront et vous le signaleront. Sur Internet "normal", cela pourrait être une indication d'une fuite de données. Dans ce cas, vous n'avez pas à vous en soucier. Vous pouvez donc contourner l'avertissement. Cliquez sur "Avancé"...
...puis cliquez sur "Continuer vers....(incertain)" pour contourner l'avertissement et accéder à votre serveur FHEM.
Si vous avez activé la connexion utilisateur, les données de connexion vous seront maintenant demandées.
Sans login utilisateur ou si vous avez correctement saisi les données de connexion, vous arriverez alors comme d'habitude sur votre page d'accueil FHEM.

Définir la sauvegarde automatique avant chaque mise à jour

Vous êtes maintenant généralement bien protégé contre les dangers des personnes et des machines malveillantes. Un autre paramètre utile sont les sauvegardes automatiques avant chaque mise à jour de l'environnement FHEM. De cette façon, vous êtes également protégé en cas de mise à jour défectueuse et vous n'avez pas à restaurer manuellement l'ensemble de la configuration.

Pour ce faire, entrez les commandes suivantes dans la ligne de commande de votre instance FHEM.
attr global updateInBackground 1
attr global backup_before_update 1

Accès Telnet sécurisé

FHEM offre, entre autres, la possibilité d'exécuter des commandes via une connexion Telnet. Ceci n'est pas installé/activé par défaut. Cependant, si vous l'utilisez, il est important que vous protégiez également l'accès ici avec un mot de passe. Cela peut être fait avec la commande suivante. Bien sûr, vous devez encore faire la partie excellent mot de passe remplacez-le par le mot de passe que vous avez choisi. Vous devrez peut-être également ajuster la partie "telnetPort" ici. Il s'agit du nom de votre module telnet configuré et doit correspondre au nom que vous utilisez.

attr telnetPort mot de passe excellent mot de passe


Fusible FHEM

Vous êtes maintenant généralement bien protégé contre les dangers des personnes et des machines malveillantes. Mais maintenant, vous devez vous armer contre le plus grand ennemi : votre propre stupidité. Surtout en l'essayant et en l'essayant, il peut arriver rapidement que vous configuriez de manière incorrecte le système, qui fonctionnait bien jusqu'à présent. Cependant, si le pire devait arriver, un système qui ne démarre plus peut être restauré rapidement. A condition de disposer d'une sauvegarde à jour, de préférence sur un support de données externe. Ainsi, vous pouvez restaurer le dernier état de fonctionnement sans aucun problème.

définir la sauvegarde régulière à * 03: 00: 00 sauvegarde

Avec ce paramètre, une sauvegarde est créée tous les jours à 03h00 et stockée dans le dossier /opt/fhem/backup. Les fichiers stockés ici doivent bien sûr également être synchronisés avec un autre lecteur. C'est le seul moyen de les sécuriser également en cas d'erreur avec le lecteur ou la carte SD.


Informations Complémentaires

https://de.wikipedia.org/wiki/Base64

https://wiki.fhem.de/wiki/Telnet


Amusez-vous avec le projet

J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂

PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂

Achetez-moi un café sur ko-fi.com       

Un commentaire

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

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