Comment a-t-on utilisé Cloudflare pour sécuriser notre infrastructure?

Partager cette idée

Avec la généralisation du télétravail, on doit permettre à nos collaborateurs de travailler dans des environnements hétérogènes. Il nous semble aussi important de leur permettre d’accéder à des ressources protégées de manière sécurisée. Chez Affluences, on a choisi d’utiliser Cloudflare pour sécuriser notre infrastructure, on vous explique pourquoi !

Quelle solution choisir pour sécuriser notre infrastructure ?

VPN : la plus utilisée en général

Solution robuste et éprouvée, c’est probablement la plus utilisée aujourd’hui mais elle n’est pas sans défaut. Il est contraignant pour l’utilisateur d’avoir constamment un client VPN actif tout en gérant une flotte de serveurs et de certificats. Il est également important de noter que les solutions VPNs apportent généralement une pénalité de performances et de bande passante.

SSH : même problème que les VPN

Solution également contraignante en terme de maintenance pour les mêmes raisons qu’un VPN. L’utilisateur doit ouvrir autant de tunnels que de services auxquels il veut accéder ce qui n’est pas idéal non plus. De plus nous visons à réduire au strict minimum les accès SSH.

Zero Trust : notre choix de sécurité

Ce modèle de sécurité repose sur le principe que tous les utilisateurs sont considérés comme indignes de confiance. L’avantage est simple : on rejette par défaut une demande d’accès. C’est l’inverse d’un accès réseau VPN qui considère qu’un utilisateur est digne de confiance lorsqu’il est en mesure de se connecter. On peut facilement permettre un accès à distance quel que soit le réseau utilisé pour accéder à la ressource protégée.

C’est cette dernière solution que nous avons retenue !

Le réseau Cloudflare (Access et Argo Tunnel)

Nous avons donc fait le choix d’utiliser le réseau Cloudflare pour sécuriser notre infrastructure et l’accès à distance. En particulier à l’aide de deux produits : 

  • Cloudflare Access : c’est la solution Zero Trust de Cloudflare. Elle permet d’exposer des ressources protégées au travers du réseau Cloudflare en utilisant le fournisseur d’identité (ex: Google SSO, SAML, OIDC, etc.) de notre choix pour gérer les utilisateurs et leurs droits.
  • Cloudflare Argo Tunnel : c’est une solution de tunneling qui fait le pont entre nos ressources protégées et le réseau Cloudflare. Elle permet de ne pas exposer nos services sur un port publique tout en chiffrant les échanges. Argo Tunnel ne gère pas l’authentification. Elle fonctionne conjointement avec Access pour sécuriser l’accès aux ressources exposées au bout du tunnel.

Docker Over Argo : le premier projet Open Source d’Affluences

Il nous arrive régulièrement de développer nos propres outils. Nos services, comme beaucoup d’autres, sont développés à l’aide de projets open source. Nous avons décidé d’ouvrir plus largement certains de nos projets pour contribuer, à notre échelle, à l’écosystème.

C’est le cas de Docker Over Argo, le premier projet Open Source d’Affluences que nous utilisons sur nos clusters de containers !

Le projet Open Source Docker over Argo qui sécurise notre infrastructure avec Cloudflare disponible sur Gitlab
Notre projet Docker Over Argo sur Gitlab

Docker Over Argo (DOA) est un utilitaire qui permet d’ouvrir automatiquement des tunnels Argo vers des services déployés sur un cluster Docker Swarm. Il permet, par exemple, aux développeurs d’accéder à l’environnement staging directement depuis leur poste de travail et de manière sécurisée.

DOA protège les services HTTP. Pour les services utilisant un protocol TCP arbitraire (comme les bases de données) nous avons déployé Argo Tunnel sur les machines concernées. Nos développeurs peuvent y accéder directement en utilisant l’outil en ligne de commande de Cloudflare.

Cloudflare Access ne remplace pas l’authentification au niveau applicatif mais ajoute une protection supplémentaire pour sécuriser l’infrastructure.

L’importance de l’UX dans le déploiement du service

Nous voulions fournir une solution d’authentification qui soit la plus simple et la plus transparente possible à nos collaborateurs. Avec la solution Cloudflare Access et Argo Tunnel, nous avons la possibilité d’utiliser notre fournisseur identité existant ce qui réduit drastiquement la charge en maintenance pour nos administrateurs.

Pour l’utilisateur, l’accès aux services HTTP se fait de manière transparente. Le service est accessible depuis une redirection vers le portail d’authentification.

Un tunnel chiffré ouvert depuis l’outil en ligne de commande Cloudflare ou avec Docker donne accès aux autres types de services. Il est également possible de s’authentifier avec des Service Tokens passés via des headers HTTP dans le cas où un processus de login interactif n’est pas possible.

Schéma de l'infrastructure sécurisée avec Cloudflare et Docker Over Argo

Utiliser Cloudflare nous permet d’utiliser notre base d’utilisateur existante et de protéger nos services privées derrière l’infrastructure Cloudflare avec simplicité et une grande polyvalence.

Le modèle de sécurité Zero Trust a rempli toutes nos exigences. Associé aux services de Cloudflare, ils nous ont permis de migrer vers ce dernier en un temps record !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.