Sécuriser ses tunnels Cloudflare [restrictions]
Protégez vos connexions réseau avec des Tunnels Cloudflare sécurisés. Découvrez les meilleures pratiques pour renforcer la sécurité de vos tunnels, prévenir les accès non autorisés, et garantir une protection optimale de votre infrastructure.
I. Prérequis
1. Avoir créé son compte Cloudflare
2. Avoir configuré Cloudflared
3 Avoir créé un tunnel vers l’application à protéger
II. Configuration de Cloudflare Access
Il faut aller sur son espace Cloudflare Zero Trust dans la rubrique Access, puis dans Applications :
1. Cliquer sur [+ Add an application]
2. Choisir Self-hosted
3. Donner un nom à son application, choisir son sous domaine et son domaine
(I) Info
Il est possible d'ajouter un logo personnalisé pour qu'il soit visible dans la liste des applications, mais ce n'est pas une nécessité.
Les autres options peuvent rester par défaut.
4. Sur la page suivante, entrer un nom de stratégie :
III. Configuration d'un restriction par IP
Ici je fais une stratégie de bypass, nous allons autoriser les connexion à l’application uniquement à une adresse IP.
5. Dans Configure rules, choisir IP ranges et entrer l’adresse IP à autoriser (ce n’est pas la mienne ici)
6. Validez en laissant les options par défaut
L’application ne sera disponible qu’à partir de votre IP, depuis une autre vous aurez cette page d’erreur par défaut :
IV. Configuration d'une restriction par Google
Ici, il sera question de sécuriser les accès vers votre application par le bais d’une authentification par le compte Google.
1. Dans CloudFlare Zero Trust, aller dans Paramètres\Authentification puis cliquez sur Add new
2. Choisir ensuite Google (la méthode est sensiblement la même pour une authentification par Google Workspace)
2. Aller sur le Google Cloud Console à → https://console.cloud.google.com/
3. Cliquez sur votre domaine en hait à gauche, cliquez sur Nouveau projet puis nommez le projet
4. Une fois le projet créé, retourner dans votre domaine en haut à gauche et le séléctionner
5. Dans le menu en haut à gauche, choisir API et services puis Écran de consentement OAuth
6. Cochez Externes puis cliquez sur Créér
7. Nommer l’application, choisir votre adresse mail pour l’assistance utilisateur et en adresse de contact développeur
8. Cliquez sur Ajouter ou supprimer des champs d’applications
9. Choisir le premier champs […/auth/userinfo.email]
10. Tout valider, aller dans Identifiants , et choisir ID client OAuth
11. Choisir Application Web et choisir un nom pour l’identifiant
(I) Info
Dans Origines JavaScript autorisées, il faudra ajouter son URL personnalisée.
Pour ceci il faudra retourner dans les paramètres de CloudFlare Zero Trust à Paramètres\Custom Pages :
Vous aurez ensuite votre team domain, il suffira de modifier l’adresse suivante en incluant votre team domain : https://<your-team-name>.cloudflareaccess.com
12. Faire de même avec l’adresse de redirection, mais ajoutez en plus [/cdn-cgi/access/callback] derrière votre URL :
13. Félicitations, votre jeton d’authentification est créé ! Conservez le précieusement !
14. Vous n’avez plus qu’à entrer ces informations dans vos paramètre d’identification Google de CloudFlare Zero Trust
Une fois tout configuré, vous pouvez cliquer sur le bouton Test pour tester votre connexion à l’API.
V. Configuration d'un groupe d'accès
Il faut ensuite configurer un groupe d’accès afin que vos applications utilisent la restriction d’authentification par Google.
Choisir Google OIDC Claims et entrer les valeurs d’identification de votre API.
Il suffira ensuite d’ajouter cette règle en Include à votre application
Et de choisir Google dans Authentication
Maintenant il vous sera demandé une connexion à Google
(I) Info
Pour ajouter plusieurs utilisateurs autorisés, il faudra associer une règle de restriction par email et d'ajouter les adresses autorisées.