Cloudflare tunnel pour securiser son origine

Démo ProduitTutoriel

Comment et pourquoi utiliser Cloudflare tunnel pour secutiser son origine

Transcription

bonjour antoine solution engineer chez cloudflare dans cette vidéo je vais vous montrer comment connecter son origine avec cloudflare tunnel donc on va prendre un projet assez simple donc ici j'ai par exemple mon application qui s'appelle helloTunnel.antoine.xyz et je veux que cloudflare protège mon application avec les services cloudflare notamment le WAV de cloudflare et du cache donc ici un cloudflare va fonctionner en mode reverse proxy et il faut que je connecte mon origine donc si mon origine si mon application derrière le serveur helloTunnel.antoine.xyz n'est pas sur cloudflare mais ailleurs ici chez un cloud provider et snr l'application est accessible via une ip publique donc ce que je peux faire c'est renseigner cette ip au niveau du dns de cloudflare ou alors faire ce qu'on appelle une origine rule mais le problème que je peux avoir avec ce setup donc qui marche tout à fait c'est que j'ai il est quand même possible d'accéder directement à mon application en bypassant cloudflare donc en allant directement sur 159, 69, 195, 250 j'aurais d'autres on pourrait penser à d'autres mécanismes pour limiter les accès à cette application donc par exemple autoriser uniquement les ip de cloudflare etc ça pourrait être une solution mais dans tous les cas la problématique que je vais avoir c'est que sur cette machine le port donc 443 ou peut-être même le port 80 vont rester doivent rester ouverts pour qu'on puisse faire cette cette connexion ce qui fait que c'est que je peux avoir des attaquants des acteurs malveillants qui vont tenter de scanner mon ip une meilleure idée ça serait de ne pas exposer cette machine sur internet du tout donc de ne pas ou de pas ouvrir de port et la façon dont je peux faire ça c'est dans ma machine de créer en fait un tunnel de créer une connexion sortante vers cloudflare qu'on appelle un tunnel cloudflare dit donc ici sur cette machine je n'ai pas besoin d'ouvrir le port 80 ou 443 ou aucun port donc ça je peux complètement aller fermer l'ensemble des ports et ce qui va se passer avec le tunnel c'est que le tunnel va initier une connexion sortante vers cloudflare et qui va être du coup sortant et on va laisser les données aussi rentrer mais c'est le tunnel qui va être qui va se connecter la machine qui va se connecter à cloudflare et pas l'inverse donc je vais vous montrer dans cette vidéo comment on peut mettre ça en place et faire ce setup donc avec ce domaine et le tunnel et le connecter à mon origine allez on est parti alors me voilà sur sur la machine à nokie mon origine et je vois que avec docker j'ai une application qui tourne sur le port 80 80 donc si je fais curl localhost 80 80 j'ai bien mon application ici donc si je reprends mon schéma on va enlever ici j'ai un container ici qui tourne sur sur 0.0.0.0 qui excelle des connexions de toutes les ip sur le port 80 80 donc j'ai cette application et maintenant ce que j'ai besoin de faire c'est de créer ce tunnel le tunnel cloudflare donc ce que je vais faire c'est que dans l'application cloudflare dans l'interface je vais aller ici sur la gauche sélectionner la partie networking puis je vais sélectionner tunnel et sur cet écran je vais aller cliquer en haut à droite sur créer un tunnel et je vais l'appeler my origin vous pouvez mettre le nom que vous voulez donc je mets créer un tunnel et là en fonction de mon operating system je vais pouvoir installer le tunnel de différentes façons donc moi ce que je vais choisir c'est je vais l'installer via docker donc je copie cette commande puis je retourne sur la machine et je lance le container ok on voit là que le container a l'air de tourner ok donc maintenant ce que je vais faire c'est que je vais ajouter une route et je vais créer fait je vais cliquer sur application publiée donc c'est une application locale qui est publiée donc là je vais choisir mon nom de domaine donc on avait dit hello tunnel et mon nom de domaine donc ici il faut que vous ayez précédemment enregistré votre votre domaine sur cloudflare et là je vais lui dire où aller en fait sur où se connecter dans le tunnel donc en fait ce qu'on est en train de créer ici c'est que là on vient de mettre hello tunnel point antoine point xyrexz est ce que j'ai besoin de faire c'est dire ok lorsque tu reçois une requête pour hello point hello tunnel va dans le ce tunnel my origin qu'on vient de créer et ensuite il faut que tu ailles sur sur cette application alors là on serait tenté en fait dans notre dans notre set up de m ici http 2.0 localhost 80 80 mais comme on a utilisé docker si je mets localhost ça va être le localhost de ce container ici donc c'est pas ce qu'on veut ce qu'on va faire c'est qu'on va utiliser l'adresse ip de la machine donc 10 0 l'adresse ip privée 10 0 0.113 je vais faire ça 10.0 0.113 voilà et donc http et avant de faire ça on peut revérifier si j'ai bien voilà ok donc ça fonctionne je vais rajouter ma route voilà donc ça a été ajouté sans problème et si maintenant je visite j'ai bien ici mon application qui fonctionne ce que je peux faire c'est maintenant aller voir mes domaines donc ici si je vais dans domaine overview ici je retrouve bien mon domaine et si je vais dans la partie dns on va voir que ça a créé un enregistrement donc dns record et là je retrouve bien hello tunnel voilà mon domaine et qui va vers mon tunnel majority ce qui fait que maintenant je peux tout à fait par exemple comme sur un domaine tout à fait classique aller créer une règle qui dit voilà challenge all traffic pour le domaine le hostname égal hello et là je veux dire interactive challenge ok et déployer maintenant si j'essaye d'aller sur mon application j'ai bien ma règle qui se déclenche et mon application derrière j'espère que cette vidéo vous a été utile à très vite j'espère que cette vidéo est