Sécuriser HA installé sur un vps

Bonjour,

J’ai un home-assistant supervised installé à la maison qui fonctionne très bien.

Actuellement je teste l’utilisation de HA supervised, sur un vps OVH qui sera mis à jour par MQTT.

Le ha est accessible et fonctionnel mais comme il est en direct sur internet, la question sur la sécurité s’impose encore plus qu’en local derrière une box.

J’ai bien vu plusieurs articles concernant ce sujet mais cela concerne toujours une config. derrière une box internet.

Comment procéderiez vous pour activer le https pour ha dans ce cas ?
Quelles sécurités seraient à ajouter en plus ?

J’ai déjà securisé sshd (root interdit, port changé et utilisation de clés) et le mosquitto local utilise password et tsl.

merci,

Salut,

Pour le SSL, la configuration sera similaire sur un VPS à ce que l’on fait sur une installation locale.

Pourquoi déporter HA sur un VPS?

Sinon d’un point de vue sécurité, il faut mettre en place un firewall afin d’autoriser uniquement les ports désirés, regarde UFW pour cela si tu es sur ubuntu.

Un autre moyen de sécuriser et de tout fermer sur le serveur et monté un VPN (wireguard par exemple), ce qui évitera d’exposé tes services sur le web et de limiter l’accès aux seuls devices autorisés à se connecter au VPN.

Salut, tu peux regarder du coté de zerotier ou tailscale.
2 solutions gratuites et à la portée de beaucoup de personnes (pas de connaissances informatiques de requise).

Concernant HA sur le VPS : quel intérêt ? que se passe-t-il quand la connexion internet tombe ?

Merci pour vos retour,
Mon HA principal reste à la maison pas de souci pour cela,
Là j’en ai installé un sur un vps pour avoir un dashboard et des add-ons faciles à installer, il sera mis à jour par mqtt. J’ai juste une sorte de POC :slight_smile:

Je ne sais pas si tu connais donc je mets le lien :

Fonctionne très bien :+1:

J’ai une instance HA qui utilise justement cette intégration, à par HACS dessus pour le developpement de mon tableau de bord, tout provient d’une autre instance HA. Cela permet de réinjecter simplement le dashboard dans l’instance de production (pas de publication tant que ce n’est pas WAF :wink: )

Oui, je l’ai installée mais pas encore testée :slight_smile:
Le souci, c’est que je ne veux pas forcement que toutes les données du HA maitre soient diffusées intégralement sur le « remote ».
Après je n’ai pas encore pris le temps de lire la doc.

merci,

J’ai par principe désactivé tous les domaines dans l’intégration et ne fait remonter que les entités que je désire…

Donc même si mon instance principale compte plusieurs 100aine d’entités, mon instance du tableau de bord n’en compte pas une 100aine.

Intéressant, faut que j’y regarde de prés.
Si je peux abuser, il ne faut que le port 8123 pour accéder au remote ?

Le port 8123 est configurable dans la clé http

Il te faudra l’adresse, le port et un token (préfèré un administrateur),

Je te conseille d’activer la connexion sécurisé aussi vu que tu n’est pas en local.

Je me permets de rebondir sur ce dernier point.
Vu l’architecture prévue, je partirai sur la solution zerotier (déjà évoquée ici) et un firewall sur le VPS qui ferme toutes les connexions entrantes sur le VPS hors zerotier.
Tes deux HA seront sur le même « LAN » (c’est l’intérêt de zerotier) en adressage privé (192.168.x.y). Et tu peux rester en HTTP sur HA puisque ce sera accessible seulement depuis les hosts de ton réseau zerotier. La sécurité est reportée sur le firewall du VPS et sur zerotier. Et c’est « mieux » que seulement du HTTPS (enfin, je le pense!).

1 « J'aime »

Bien sur :+1:

Le sens de ma phrase était plus dans l’esprit :

Activer au moins le protocole https pour se connecter à l’instance HA maitre.

Je te fais entièrement confiance sur la solution que tu préconises @golfvert et si en plus les instances sont sur le même réseau, que du plus :100:

Vu les différents retours sur le forum et mon expérience, mettre HA en HTTPS, je trouve que c’est une source d’ennuis (presque) sans fin, ou en tout cas, c’est vraiment de la configuration réseau assez touchy pour que ça marche bien (local, distant, avec les box…) . Tant que HA ne saura pas faire HTTP ET HTTPS en même temps (je ne vois pas pourquoi cette restriction d’ailleurs), mettre HA en HTTPS c’est « simple » mais après c’est la galère pour la connexion en local, par exemple. Donc, une solution qui laisse HA en HTTP mais sécurise quand même le bidule, je trouve que c’est un bon compromis.

1 « J'aime »

Hello @golfvert
C’est étonnant comme ressenti… A l’occasion jette un oeil sur Traefik … Je dirais pas que ça fait tout tout seul à la maison mais mis en place il y a 2 ans, je n’y touche plus que pour les mises à jour.

EDIT: Tiens d’ailleurs il semble qu’on trouve même des add-ons home-assistant-addons/traefik at master · alex3305/home-assistant-addons · GitHub

Euh… Ce n’est pas un ressenti. Mettre nativement HA en HTTPS (pas avec un proxy devant), ça pause des problèmes réseaux/certificats vraiment pas simple à gérer pour un non spécialiste réseau. Il n’y a qu’à regarder pas mal de threads à ce sujet sur le forum. Rajouter duckdns et let’s encrypt pour gérer les certificats et le DNS ça fait un sacré empilement.
Je m’en sors, j’ai fait ça pendant plus de 20 ans :slight_smile:
Donc, oui, avec nginx ou traefik ou… HTTPS et HTTP marchent, je parlais de HA tout seul.

Je pense que pour un débutant donner un accès sécurisé à HA depuis l’extérieur, c’est beaucoup plus simple avec zerotier.

Chez moi, HA est en HTTPS (pas le choix, je fais du webrtc dessus). Mon accès externe s’appuie sur un firewall opnsense sur lequel je monte un VPN openvpn avec de la double authentification. Ca marche. Mais, bon, ce n’est pas une solution que je suggèrerais à tout un chacun :wink:

J’ai pas joué avec Zerotier, mais pour autant à lire le tuto de Canaletto My Canaletto | Zéro VPN !.
quand on commence à mettre les mains dans iptables, je suis pas sur qu’on soit à un niveau débutant pour autant…Ou alors il faut se restreindre à faire du Wirelends. Sans la main sur le pc client ça risque de coincer
Personnellement je pars du principe que de toutes façons, la partie sécurité ne peut pas se trouver au même endroit que la partie domotique… Donc oui c’est pas non plus simple pour les débutants, mais au moins c’est plus classique.

Merci à tous pour le partage de vos expériences,

Pour ma part, j’ai commencé par configurer l’add-on nginx proxy manager, juste en http car j’ai été confronté à un souci de sécurité justement.

J’ai installé ufw pour configuré le firewall et verrouillé toutes entrées non nécessaires.

Mais en activant le nginx proxy manager, ufw ne fait plus son filtrage et le port 80 qui renvoie vers le 8123 ainsi que le 81 sont ouverts à tout va.

En fouillant, sur internet, j’ai vu que c’était un problème connu de ufw avec docker. J’ai utilisé ce scrip ufw-docker qui pallie à ce souci.
Ca devient vite usine à gaz quand on est pas expert en sécurité.

Je vais pouvoir continuer sur la partie certificat du nginx proxy manager