Dés qu’on commence à avoir plusieurs appareils connectés chez soi et que l’on désire pouvoir y accéder de l’extérieur, cela peut vite devenir un casse tête. Notamment dans le cadre de la domotique où les objets connectés peuvent vite envahir la maison et bien évidemment pour les objets non clouds l’accès depuis l’extérieur peut vite devenir un casse tête pour certains. Je lis souvent des personnes se poser la question tout en constatant qu’elles possèdent un Nas Synology. C’est la raison pour laquelle j’ai décidé aujourd’hui de vous parler de reverse proxy sur Nas Synology et SSL. Alors il y a un tas de manière pour mettre en place un Reverse Proxy notamment avec un simple Raspberry Pi mais ce sera l’objet d’un autre article.

Reverse Proxy sur Nas Synology

Définition du reverse Proxy sur Nas Synology

Alors ma définition à mon habitude sera simple. L’idée est de comprendre facilement pas de détailler techniquement le fonctionnement (il y a Wikipedia pour cela). Donc un reverse proxy permet de manière simple de diriger les communications extérieures vers un équipement de votre maison. Rien ne vaut un exemple, admettons que mon adresse externe est :  demoblog.maison.com le reverse proxy permettra :

  • de diriger  jeedom.demoblog.maison.com vers ma box jeedom
  • camera.demoblog.maison.com vers ma camera
  • nas.demoblog.maison.com vers mon nas
  • kodi.demoblog.maison.com vers mon kodi
  • etc…..

Donc vous l’avez compris le reverse proxy permet d’agir comme un policier qui ferait la circulation.

Reverse Proxy sur Nas Synology

Un autre gros avantage du reverse proxy est de ne pas à avoir à ouvrir un nombre incalculable de port sur votre routeur ou votre box internet. Ce qui évite que votre accès externe ne ressemble à ceci

Reverse Proxy sur Nas Synology

Super mais comment on met en place un reverse proxy sur Nas Synology ?

Alors vous pouvez être rassuré, tout est natif sur Synology. (très probablement à partir de DSM6 à confirmer)

Reverse Proxy sur Nas Synology

Il suffit de se rendre dans le panneau de configuration.

Reverse Proxy sur Nas Synology

Ensuite il suffit de cliquer sur “Portail des applications” même si je vous avoue être perturbé par le fait que la fonction de reverse proxy soit cachée dans ce menu.

Reverse Proxy sur Nas Synology

Et voilà on retrouve enfin notre menu “Proxy inversé” pour “Reverse Proxy”

Reverse Proxy sur Nas Synology

Bref continuons !!

Reverse Proxy sur Nas Synology

Ensuite en toute logique il suffit de cliquer sur “Créer”

Reverse Proxy sur Nas Synology

On retrouve ensuite une page de configuration pour notre règle de reverse proxy :

  • Description : ici on donnera un nom à notre règle
  • Protocole Source :  ici on choisira si notre connexion externe (entrante) sera en HTTP ou en HTTPS
  • Nom d’hôte :  ici ce sera l’adresse complète externe de la route que l’on va créer : Exemple :   jeedom.demoblog.maison.com
  • Port : c’est le port du Nas vers lequel vous avez configuré votre routeur ou votre box internet pour rediriger les connections entrantes (oui il faudra bien configurer votre routeur ou box pour orienter tout ce qui sera port 80 (HTTP) et port 443 (HTTPS) vers un des ports du NAS.

Mais au final vous redirigerez uniquement le port 80 et le port 443. Derrière c’est le reverse proxy du Nas qui fera le reste

  • Activer HSTS et HTTP/2 sont des options uniquement utiles dans le cas de HTTPS que je vous conseille de cocher
  • Protocole Destination : là on parle du protocole de redirection interne à votre réseau local (donc en l’occurrence ici il n’est pas risqué de faire toutes les routes locales en HTTP
  • Nom d’hôte destination : ici ce sera l’adresse IP du device sur votre réseau local
  • Port destination : tout comme précédemment ici ce sera le port sur votre réseau local (généralement 80 si HTTP et 443 si HTTPS)

Reverse Proxy sur Nas Synology

Compliqué !!

Exemple

Alors rien ne vaut un exemple car là je dois l’avouer il est très difficile par écrit de rendre le tout clair. On va prendre un de mes “Reverse Proxy”, celui me permettant d’accéder à mon Jeedom :


Reverse Proxy sur Nas Synology

Voilà à quoi ressemble la configuration. Donc pour schématiser à partir de là ce qu’il va se passer voici le cheminement :

  • Je suis à l’extérieur de chez moi et je me connecte sur : https://jeedom.demoblog.maison.com (donc le port 443)
  • Ma box ou mon routeur redirige tout cela sans s’en occuper vers le Nas sur le port 5001 (configuration à faire de votre côté)
  • Le nas reçoit sur son port 5001 une demande d’accès pour https://jeedom.demoblog.maison.com
  • Le nas est content il connait une règle pour https://jeedom.demoblog.maison.com sur le port 5001
  • La règle lui dit de rediriger ça sur l’équipement local en HTTP avec l’IP 192.168.1.148 (qui est l’adresse locale de mon jeedom)
  • Moi en tant qu’utilisateur je vois  mon Jeedom à l’écran de manière limpide alors que “la vache” il s’en est passé des choses.

Reverse Proxy sur Nas Synology

Epaté !!

J’insiste sur un point il faut bien évidemment que demoblog.maison.com soit configuré en DynDnS. Mais comme tout possesseur de Synology vous avez obligatoirement un DNS externe. Après cela peut-être un no-ip ou quoique ce soit d’autres.

Alors maintenant que vous avez une règle. Sachez que vous pouvez en créer autant que vous voulez sur la même base en changeant juste le premier mot avant  demoblog.maison.com.

  • kodi
  • camera
  • nas
  • un service spécial du nas comme videostation
  • etc….

SSL mise en place

Alors pour peaufiner votre accès externe vous avez tous entendu parler de HTTPS

Reverse Proxy sur Nas Synology

AHHH Si Si j’en parle au dessus dans l’article 😉

Le HTTPS c’est bien c’est sécurisé, mais l’inconvénient c’est qu’il faut un certificat valide sous peine d’avoir un joli message sur votre navigateur vous avertissant : “BLABLABLA Certificat non valide voulez vous balbalbalba continuer”. Vous avez tous déjà croisé ce message qui ressemble à ça :

Reverse Proxy sur Nas Synology

C’est là qu’intervient  Let’s Encrypt. Je ne vais pas vous détailler ce que c’est, notre ami Lunarok l’a déjà fait ICI. Par contre il est bon de noter que Synology intègre directement la configuration d’un certificat Let’s Encrypt en natif.

Ah bon où ?

Reverse Proxy sur Nas Synology

On se rend de nouveau sur le panneau de configuration.

Reverse Proxy sur Nas Synology

On clique sur l’onglet “Sécurité” puisqu’en effet la création d’un certificat est relative à la sécurité.

Reverse Proxy sur Nas Synology

Ensuite il nous suffit de se rendre sur l’onglet certificat.

Reverse Proxy sur Nas Synology

Et de cliquer sur “AJOUTER”

Reverse Proxy sur Nas Synology

Deux options se proposent à nous :

  • Créer un nouveau certificat
  • Remplacer un certificat existant

C’est bien entendu la première qui nous intéresse ici.

Reverse Proxy sur Nas Synology

De nombreuses options, comme l’import d’un certificat ou la création d’un certificat directement depuis un site spécialisé sont disponibles. On notera l’apparition depuis quelques versions déjà de l’option “Let’s Encrypt” qui est celle qui va nous intéresser ici.

Reverse Proxy sur Nas Synology

Finalement on retrouve la dernière fenêtre qui est celle de configuration :

  • Nom de domaine : dans notre exemple jeedom.demoblog.maison.com
  • Une adresse mail : obligatoire et très importante puisque c’est sur celle-ci que vous recevrez l’éventuel statut d’expiration de votre certificat.
  • Le dernier champ quant à lui je n’ai jamais eu à m’en servir

Voilà une fois fait vous aurez un certificat valide pour le nom de domaine

IMPORTANT :

  • la validation du certificat à la création nécessite une vérification au travers du port 80 et du port 443, il est donc nécessaire de router (depuis votre routeur ou votre box internet) ces deux ports pour la création et la génération de votre certificat. Si il y a un soucis une fenêtre vous détaillera ce qui ne va pas
  • il faut créer AUTANT de certificat que vous avez besoin. Si vous voulez accéder à kodi, à votre caméra, à Jeedom en https et avoir un certificat valide il faudra réitérer les étapes précédentes pour chacun des domaines.

PETITE ASTUCE D’UN COMMENTAIRE

Petite astuce complémentaire que j’utilise : plutôt que de faire autant de certificats SSL que de services à joindre, un seul certificat unique pour les certifier tous, en créant un certificat SAN (Subjetc Alterenate Name), ce que supporte letsencryppt:
Au moment de créer le certificat, mettre tous les noms séparés par des point-virgules dans le champ “Autre nom de l’objet”… C’est ultra pratique et fait gagner un temps fou pour tout ce qui est renouvellement de certificat 😉

Conclusion

On arrive à la fin de cet article. Alors je suis conscient que c’est un article un peu linéaire. Mais je voulais vous donner au moins les pistes de mise en place pour un premier article. Je pense que je reviendrai plusieurs fois sur le sujet HTTPS et reverse proxy, que ce soit sur mon article SqueezeBox, ou l’article final de la baie de brassage. En attendant vous avez avec cet article les pistes d’investigations pour essayer de votre côté et voir le potentiel énorme et le côté confortable de cette mise en place.



Partager sur :

Infos de l'auteur

Je m’appelle Ludovic Sarakha j’ai 32 ans et je suis habitant de Clermont-Ferrand. Concernant les études il faut savoir que bien que j’ai travaillé dans l’informatique (SSII internationale) et maintenant dans la domotique, j’ai un doctorat de Chimie des matériaux. Je suis un autodidacte passioné d'informatique, de domotique et de tout ce qui tourne autour des objets connectés

76 commentaires

  1. Bonjour et merci pour le tuto.

    Je m’aperçois que cela fonctionne avec le dsn fournit par synology ( *.synology.me ) mais pas avec mon nom de domaine habituel. A creuser.

Laisser un commentaire