Aller au contenu

GO Print

Accès à distance sécurisé sous Octoprint


Messages recommandés

Bonjour,

Question connexe à l'utilisation de son imprimante 3D.

Je pilote mon imprimante en local via Octoprint, mais je voudrais le faire également à distance (je sais, ça peut être dangereux mais soyons fou).

Je sais le faire via une redirection de port ou en utilisant les plugins mis à disposition par Octoprint comme OctoEverywhere ou Obico mais la première méthode n'offre aucune sécurité en termes d'accès, les secondes ne sont pas gratuites.

Disposant d'un certificat, j'aimerais savoir si l'un d'entre vous a déjà réussi à configurer Octoprint pour y accéder en HTTPS.

A priori, il n'y a pas d'Apache sur le serveur Octoprint ou, du moins, je n'en ai pas vu.

Par ailleurs, j'ai déjà configuré mon serveur domotique qui lui dispose d'Apache2 en HTTPS avec ce même certificat.

Chose surprenante, IONOS qui me fournit ce certificat me dit qu'il est tout à fait possible de protéger plusieurs serveurs sur le même sous-domaine avec le même certificat.

Pour tout dire, j'ai, depuis longtemps atteint mon seuil de compétence.

Donc, je recherche une bonne âme qui pourrait me guider à travers ce labyrinthe de complexité.

Par avance, merci pour votre aide.

Amitiés

Michel

 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Qu'entends-tu par sécurisé ? Un certificat SSL ne protège rien, c'est simplement pour indiquer à ton navigateur que les pages de ton domaine proviennent bien de ton serveur. N'importe qui peut donc consulter ton site sans avoir le navigateur qui râle. Ca chiffre la liaison entre ton serveur et ton navigateur (et empêche l'espionnage), mais ça n'empêche personne d'utiliser son navigateur et de se connecter sur ton serveur.

Si l'objectif est de te donner à toi seul l'accès, le plus "simple" à maitriser reste mise en place d'un serveur VPN, auquel tu te connectera de l'extérieur (via des clés et non un mot de passe). Il te donnera accès à ton réseau, ainsi le point d'entrée pour tous tes services est unique et fiable.

Certes, l'ouverture du port fonctionne aussi, mais ça déplace la sécurité au niveau application, sur octoprint, dont ce n'est pas la fonction première. Il doit alors garantir qu'il n'y a pas de faille accessible tant que l'utilisateur n'est pas authentifié.

A+

  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

Tu as raison mais depuis quelques temps les authentications se font très souvent à partir d'adresses HTTPS.

Je vais installer openVPN et voir ce que ça donne en espérant que derrière il ne me soit pas imposé d'avoir une adresse en HTTPS.

Bonne soirée 

Lien vers le commentaire
Partager sur d’autres sites

HTTP(S) est un protocole dédié aux pages web. Le VPN n'a rien a voir avec le HTTPS, c'est un protocole différent.

Tu n'as besoin "que" d'une adresse IP statique ou à défaut, d'une adresse DNS pointant sur ton serveur. On peut en obtenir une gratuitement, et la plupart des box internet permettent la mise à jour automatique de leur adresse IP sur ces services de DNS. Mais tu dois déjà être au courant car c'est valable aussi pour la simple ouverture du port Octoprint, tu dois connaitre l'adresse extérieure de ton serveur. 🙂

Lien vers le commentaire
Partager sur d’autres sites

Hello, 

Il faut peut être clarifier un peu les choses ,non ? 

Pour un accès à ton imprimante, il faut déjà avoir l'adresse. Il y a deux adresses IP : celui de ton imprimante sur le réseau local (LAN) et l'adresse que ton fournisseur d'accès te fournit (WAN). Ton adresse WAN peut changer (a moins d'avoir une IP fixe délivrée par ton FAI). 

1) Il te faut un moyen d'avoir ton adresse WAN. Pour cela on utilise un DNS Dynamique (no-ip.com, synology, etc). Ce service permet d'indiquer l'adresse de ta box (WAN) à partir d'un nom de domaine. Tu peux aussi monter une usine à gaz avec Ionos pour utiliser un sous domaine et te démerder à rediriger le flux vers ton adresse BOX (je te souhaite du bonheur).

2) Il ne faut pas confondre SSL et TSL. SSL sert à crypter la communication. TLS sert à identifier ton site et éviter les usurpations d'identité. HTTPS est une sur-couche de HTTP utilisant SSL + TLS (avec un navigateur moderne).

SSL reposes sur un système de clés asymétriques. Tu as une clé privée et une clé publique. Je vais pas te raconter l'histoire d'Alice,Bob,Calvin. Une clef privée peut servir à authentifier (signer). La clef fournie par Ionos à été validée par un organisme racine (GlobalSign, Comodo, Geotrust...) et fournit tout une chaine (CA) pour prouver que ta clef correspond à un nom de domaine. -> Ca ne marche que pour un sous-domaine et en vrai tu t'en fiche pas mal d'avoir une CA pour ton imprimante 3D 🙂

DONC : tu peux générer des clés auto-signées. Ca va juste t'afficher un avertissement sur ton navigateur. 

3) ne pas confondre Octopi et Octoprint. (oui, la différence est subtile j'avoue). Le premier est une distribution (un système linux) clé en main. Le second est un 'site' internet permettant de contrôler ton imprimante. 

Là ou je veux en venir, c'est que tu peux monter un système basé sur Nginx, apache ou ce que tu veux pour faire fonctionner octoprint. A partir de là, tu peux faire ce que tu veux.

4) un VPN - Virtual Private Network est un système te permettant de créer un réseau virtuel reliant des machines qui ne sont pas forcement sur le même réseau physique. En gros, tu as un ordi chez toi et des serveur au boulot. Avec le VPN tu vas crypter les communication entre l'ordi et le serveur et faire comme si l'ordi était connecté physiquement sur le réseau local. Avec ce système de toutes façons le flux est normalement crypté.

-> C'est la solution la plus simple pour accéder à un périphérique de ton LAN physique à partir d'internet. Pour peu que tout soit bien configurer 🙂 

 

  • Merci ! 3
Lien vers le commentaire
Partager sur d’autres sites

@Kachidoki

Je sais bien que les VPN et HTTPS n'ont rien à voir.

Mon inquiétude ne concerne que l'authentification prônée par certains sites.

Par exemple, si je veux accéder à GDrive ou pCloud via leurs API, je ne peux le faire que si les pages de redirection de mes sites sont en HTTPS.

Donc, peut-être qu'effectivement une connexion via VPN se fera sans problème mais peut-être qu'à un moment je serais contraint d'avoir une adresse en HTTPS.

Je verrais bien dès que je m'y mettrais.

il y a 3 minutes, Rlv a dit :

Là ou je veux en venir, c'est que tu peux monter un système basé sur Nginx, apache ou ce que tu veux pour faire fonctionner octoprint. A partir de là, tu peux faire ce que tu veux

C'est ce que je voudrais faire en attendant de mettre un VPN serveur sur ma box.

Sauf qu'il n'y a pas de serveur Apache sous octoprint et je sais pas si, en en installant un, je ne vais pas entrer en conflit avec le reste de mon installation octoprint. Il doit bien y avoir un serveur web mais lequel ?

Lien vers le commentaire
Partager sur d’autres sites

il y a 5 minutes, mich0111 a dit :

Donc, peut-être qu'effectivement une connexion via VPN se fera sans problème mais peut-être qu'à un moment je serais contraint d'avoir une adresse en HTTPS.

 

Lapin compris ? 

J'avais pas compris. De mémoire (à vérifier)

En fait Octoprint a un serveur autonome. Il faut utiliser un apache ou un Nginx en reverse proxy. 

https://community.octoprint.org/t/reverse-proxy-configuration-examples/1107

Lien vers le commentaire
Partager sur d’autres sites

Bon ben comme d'habitude, je me suis pris la tête pour rien. A mon âge ça fait toujours du bien de faire travailler ses méninges (tant qu'il en reste).

Je me suis contenté d'installer un VPN sur ma box et un client openVPN sur mon téléphone. Ca a marché instantanément.

Tant que je n'ai pas d'obligation d'avoir une adresse en HTTPS sur mon serveur Octoprint ça va resté comme ça.

Ceci étant, comme je le disais plus haut, mon serveur domotique DOIT être en https pour les accès externes pour des soucis d'authentification pour certains plugins.

J'ai bêtement cru qu'il en était de même avec Octoprint.

Merci encore pour votre aide et bonne soirée.

Lien vers le commentaire
Partager sur d’autres sites

L'essais/erreur c'est la base du maker ! Déjà monter un VPN sur son réseau local c'est pas donné à tout le monde et c'est cool que ça fonctionne.

Pour le HTTP vs HTTPS effectivement ce sont deux ports différents (80 et 443). Mais vu que tu es en réseau local (VPN), ça devrait passer automatiquement :ton Firewall est entre internet et ton réseau local (normalement). 

Bref : bien joué camarade.

Lien vers le commentaire
Partager sur d’autres sites

Ce qui m'étonne le plus, c'est avec quelle facilité tu as mis en place le VPN en partant de :

Il y a 18 heures, mich0111 a dit :

Pour tout dire, j'ai, depuis longtemps atteint mon seuil de compétence.

👏

Du coup, maintenant que tu as un tunnel VPN, ton serveur domotique peut se passer d'un accès extérieur direct. 🙂

Pour la question du HTTPS, en effet de plus en plus de services le recommande, voir l'oblige. On peut toujours utiliser des certificats auto-signés, mais les navigateurs récents vont quand même râler, avec un petit bouton caché "DANGER!!! Mais j'y vais quand même..." (comme précisé par @Rlv).

 

PS: Au passage, merci @Rlv pour les détails techniques. Je n'ai pas osé (par fénéantise), cf la citation précédente. 😅

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, Kachidoki a dit :

Ce qui m'étonne le plus, c'est avec quelle facilité tu as mis en place le VPN en partant de :

Oui, enfin j'ai pas non plus l'impression d'avoir découvert la relativité.

Mettre en place un VPN reste relativement abordable quand on a un bagage technique.

Bonne journée 

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...