Cloudflare : autoriser les requêtes du serveur d’origine avec le pare feu WAF
Avec Cloudflare, comment autoriser les requêtes provenant du serveur d’origine, afin qu’elles ne soient pas bloquées par le pare feu WAF ? C’est une question pertinente ! On pourrait croire que par défaut Cloudflare ne filtre pas les requêtes du serveur d’origine, mais ce n’est pas le cas. Si bien des requêtes de contrôles, de maintenance ou encore pour charger le cache de fichier static sur un serveur WordPress peuvent être bloquées par le pare feu WAF.
C’est donc une bonne pratique d’ajouter des règles sur le pare feu WAF de Cloudflare pour autoriser les requêtes du serveur d’origine. Il y a de nombreux cas dans lesquels le serveur d’origine va faire une requête HTTP sur le nom de domaine, vu que ce dernier est géré par Cloudflare (dans une configuration classique), la requête passe par Cloudflare. Il donc est recommandé de ne pas appliquer les règles classiques à ce type de requêtes. En particulier, la fréquence du nombre de requêtes, par défaut WAF (Zone-level Web Application Firewall) limite le nombre de requêtes pour une même adresse IP, une règle classique qui vise à éviter les attaques DDOS.
Pour s’assurer que les requêtes provenant du serveur d’origine ne sont pas bloquées par le pare-feu WAF de Cloudflare, vous pouvez suivre plusieurs étapes pour configurer correctement votre environnement et les règles du pare-feu. Voici un guide détaillé :
1. Configurer des règles de pare-feu dans Cloudflare pour ne pas filtrer les requêtes du serveur d’origine
Créez des règles spécifiques dans le pare-feu Cloudflare pour autoriser les requêtes provenant de votre serveur d’origine. Voici comment procéder (attention le menu de l’interface change régulièrement) :
- Connectez-vous à votre tableau de bord Cloudflare.
- Sélectionner votre domaine
- Dans le menu de gauche sélectionnez Security puis WAF
- Ensuite créer une régle d’exception avec le bouton « Create Rule »
- Nommer votre régle, par exemple : « Skip WAF rules for origin request » ou copier coller le code dans « Edit expression » en remplaçant l’adresse par celle de votre serveur d’origine :
(ip.src eq 142.164.145.145)
- Choisissez ensuite l’action dans « Choose Action » puis l’option « Skip »
- Dans la liste de case à cocher « WAF components to skip », séléctionnez les régles à ne pas appliquer, je vous conseille de sélectionner à minima » All rate limiting rules » et si vous rencontrez encore des problèmes « All Super Bot Fight Mode Rules »
- Ensuite cliquez sur « Deploy » pour sauvergarder et activer la régle.
Dans certains cas, il peut être utile de créer une régle sur le cache (Cahcing/Cache Rules/Create Rule) pour que les requêtes du serveur d’origine passe à travers le cache de Cloudflare (Bypass Cache).
Vous trouverez toutes les informations sur la configuration des régles du WAF de Cloudflare avec ce lien.
2. Utiliser des Headers HTTP
Avec Cldouflare, vous pouvez également utiliser des en-têtes HTTP spécifiques pour identifier et autoriser les requêtes provenant de votre serveur d’origine. Configurez votre serveur d’origine pour inclure une en-tête personnalisé que vous pouvez ensuite utiliser dans les règles de pare-feu de Cloudflare.
- Sur votre serveur, ajoutez un en-tête HTTP personnalisé à toutes les requêtes sortantes. Par exemple, « X-Origine-Requête: vrai ».
- Dans Cloudflare, créez une règle de pare-feu pour autoriser les requêtes contenant cet en-tête.
Exemple de configuration de règle :
- Expression :
(http.request.headers["X-Origine-Requête"][0] eq "vrai")
- Action « Skip » et sélectionner les régles à désactiver
3. Bypass de certaines URL
Si vous avez des URL spécifiques qui doivent être accessibles sans régle de pare-feu par votre serveur d’origine, vous pouvez créer des règles de bypass dans le WAF de Cloudflare pour une URL.
- Allez dans l’onglet « Security/WAF ».
- Ensuite créer une régle d’exception avec le bouton « Create Rule »
- Sélectionnez le champ « FIELD » sur URI, URI FULL, URI PATH ou encore la variante sur la URI QueriString
4. Utilisation de l’API Cloudflare
Utilisez l’API Cloudflare pour gérer dynamiquement les règles de pare-feu en fonction de vos besoins.
Voici un exemple pour autoriser une adresse IP via l’API Cloudflare :
curl -X POST "https://api.cloudflare.com/client/v4/zones/{zone_id}/firewall/rules" \
-H "X-Auth-Email: {your_email}" \
-H "X-Auth-Key: {your_api_key}" \
-H "Content-Type: application/json" \
--data '{
"mode":"whitelist",
"configuration":{
"target":"ip",
"value":"<Your_Origin_Server_IP>"
},
"notes":"Allow Origin Server IP"
}'
En appliquant ces configurations, vous pouvez vous assurer que les requêtes provenant de votre serveur d’origine ne sont pas bloquées par le pare-feu WAF de Cloudflare, tout en maintenant un haut niveau de sécurité pour votre site web ou votre application.
Si vous appréciez nos articles, ne manquez les prochains en vous abonnant à Cosmo Games sur Google News, vous pouvez également nous suivre sur X (ex Twitter). N'hésitez pas à partager vos réactions, commentaires ou remarques dans les commentaires, afin d'enrichir le contenu, de mieux vous comprendre et intégrer les différents points de vue.