Il y a quelques mois, nous avons annoncé que nous souhaitions rendre la sécurité Zero Trust accessible à tous, indépendamment de la taille, de l'étendue ou des ressources. Argo Tunnel, notre méthode sécurisée de connexion directe des ressources à Cloudflare, est la prochaine pièce du puzzle.
Argo Tunnel crée une connexion sécurisée, uniquement sortante, entre vos services et Cloudflare en déployant un connecteur léger dans votre environnement. Avec ce modèle, votre équipe n'a pas besoin de s'occuper d'ouvrir des brèches dans votre pare-feu, ni de valider que le trafic provient des adresses IP de Cloudflare.
Jusqu'à présent, le prix d'Argo Tunnel a été établi en fonction de la consommation de bande passante dans le cadre du service Argo Smart Routing, la fonction d'accélération du trafic de Cloudflare. À partir d'aujourd'hui, nous sommes heureux d'annoncer que toute entreprise peut utiliser gratuitement la fonction de connexion sécurisée, uniquement sortante, du produit. Vous pouvez toujours opter pour la fonctionnalité Argo Smart Routing payante pour accélérer le trafic.
Dans le cadre de ce changement (et afin d'éviter toute confusion), nous renommons également le produit, qui devient Cloudflare Tunnel. Pour commencer, inscrivez-vous dès aujourd'hui.
Si vous souhaitez savoir comment et pourquoi nous faisons cela, poursuivez votre lecture.
Un lien privé vers l'Internet public
En 2018, Cloudflare a présenté Argo Tunnel, une connexion privée et sécurisée entre votre serveur d'origine et Cloudflare. Traditionnellement, dès l'instant où une propriété Internet est déployée, les développeurs consacrent beaucoup de temps et d'énergie à son verrouillage au moyen de listes de contrôle d'accès, d'adresses IP renouvelées ou de solutions encombrantes, à l'image des tunnels GRE.
Nous avons développé Tunnel dans le but d'alléger ce fardeau.
Avec Tunnel, les utilisateurs peuvent créer un lien privé depuis leur serveur d'origine directement vers Cloudflare, sans adresse IP publiquement routable. Au lieu de cela, cette connexion privée est établie en exécutant un démon léger, cloudflared, sur votre serveur d'origine, qui établit alors une connexion sécurisée, uniquement sortante. Cela signifie que seul le trafic transitant par Cloudflare peut atteindre votre serveur d'origine.
Développer notre Tunnel
À l'origine, nous avons créé Tunnel afin de résoudre un problème simple : il était inutilement difficile de connecter un serveur à Internet. Au lieu de mettre en œuvre d'autres modèles existants, nous souhaitions créer une solution simple, permettant d'établir une connexion privée directement avec Cloudflare. Cette approche nous intéressait particulièrement, car nous voulions également résoudre un aspect qui constituait un problème majeur pour un grand nombre de nos clients.
Depuis 2010, lors de l'intégration, Cloudflare demande aux nouveaux utilisateurs de suivre deux étapes : 1) Ajouter leur propriété Internet et 2) Changer leurs serveurs de noms. La deuxième étape est importante car, une fois que vous avez modifié vos serveurs de noms, les requêtes adressées à vos ressources parviennent d'abord au réseau de Cloudflare. Cloudflare peut alors profiter de cette configuration pour bloquer le trafic indésirable ou malveillant, et ainsi, éviter que des acteurs malveillants potentiels n'atteignent directement les adresses IP de votre serveur d'origine. Ce modèle est communément appelé « proxy inverse ».
Mais que se passe-t-il si un acteur malveillant découvre l'adresse IP du serveur d'origine ? Ne pourrait-il pas tout simplement contourner Cloudflare ? C'est ici que le service Tunnel entre en jeu. Tunnel sécurise votre serveur d'origine en établissant des connexions uniquement sortantes à Cloudflare. Cette approche permet d'éliminer les contraintes du modèle existant, qui nécessite d'ouvrir des brèches (représentées par des règles de trafic entrant) dans votre système, laissant souvent votre infrastructure vulnérable aux attaques. Plus important encore, vous pouvez renforcer les contrôles de sécurité de votre serveur d'origine en mettant en œuvre des règles de sécurité Zero Trust par l'intermédiaire de Cloudflare, et ainsi, valider chaque requête adressée à votre ressource.
Supposons que vous travailliez sur un environnement de développement local pour une nouvelle application web et que vous souhaitiez partager, de manière sécurisée, des mises à jour avec un ami ou un collaborateur. Vous devez d'abord installer cloudflared, afin d'établir une connexion entre votre serveur d'origine et Cloudflare. Ensuite, vous devez créer votre instance de Tunnel, puis générer un nom d'hôte sur le tableau de bord de Cloudflare en utilisant l'UUID de votre tunnel, afin que les utilisateurs puissent accéder à votre ressource et exécuter votre instance de Tunnel. Vous pouvez également ajouter une politique d'accès Zero Trust à votre enregistrement DNS avec Cloudflare Access, afin que seuls vos amis et collaborateurs puissent visualiser votre ressource.
Consolider notre service Tunnel
Au cours des derniers mois, nous avons également travaillé à l'amélioration de la stabilité et de la persistance. Afin d'améliorer la stabilité, nous avons supprimé les dépendances internes en raison desquelles Tunnel exigeait que nos plans de contrôle et de données soient accessibles en ligne et disponibles aux fins des reconnexions au service Tunnel.
L'élimination de ces dépendances en amont permet aux instances de Tunnel de réinitialiser les connexions de manière gracieuse, sans exiger que les deux services soient disponibles simultanément. Nous avons également accompli la migration vers Unimog, la solution d'équilibrage de charge à la périphérie de Cloudflare, ce qui a permis d'augmenter la durée de vie moyenne d'une instance donnée de Tunnel de quelques minutes à plusieurs jours. Lorsque ces connexions prennent en charge des durées de fonctionnement plus longues et sont moins tributaires de dépendances internes, elles permettent d'offrir davantage de stabilité, et ce, dans le monde entier.
Nous voulions également concentrer nos efforts sur la persévérance. Auparavant, si cloudflared devait redémarrer, pour quelque raison que ce soit, nous traitions chaque redémarrage comme un nouvelle instance de Tunnel. Cela exigeait de créer un nouvel enregistrement DNS et d'établir une connexion à Cloudflare.
Dans la dernière version fonctionnelle, nous avons introduit le concept « Named Tunnels ». Avec Named Tunnels, les utilisateurs peuvent attribuer un nom permanent à une instance de Tunnel, qui établit ensuite une relation directe avec l'UUID de cette instance. Ce modèle permet à ces deux identifiants de devenir des enregistrements persistants pouvant permettre une reconnexion autonome. Désormais, si votre instance de Named Tunnels doit redémarrer, votre instance de cloudflared peut référencer cette adresse UUID afin de se reconnecter, plutôt que d'effectuer chaque redémarrage depuis le début.
Que pouvez-vous faire avec Tunnel, dès maintenant ?
Chez Cloudflare, notre mission est d'aider à construire un Internet meilleur, et nous sommes ravis de faire un pas supplémentaire vers l'accomplissement de cette mission en ouvrant Tunnel à tous. Nous sommes impatients de voir comment vous allez profiter de la stabilité améliorée, de la persistance et de la sécurité Zero Trust qui accompagnent Tunnel.
Avec Tunnel, nous avons constaté que les possibilités sont aussi créatives que vous l'êtes. Alors, plutôt que de vous expliquer comment utiliser Tunnel, voici quelques méthodes simples pour faire vos premiers pas :
Connectez une application ou un serveur : connectez un serveur d'origine à Cloudflare via un nom d'hôte public
Créez un réseau privé : activez l'accès à distance aux applications sur un réseau privé