Liste blanche des IP de retour Cloudflare : 3 méthodes pour bloquer le trafic non-CF et protéger l'origine

Une fuite d’IP d’origine rend la protection Cloudflare presque inutile. Une fois l’IP connue, l’attaquant contourne Cloudflare : DDoS direct sur l’origine, scan de ports, exploitation de failles. Les fuites passent par la vérification SSL, l’historique DNS, les sous-domaines ou la messagerie hors CDN.
Protéger l’origine ne se limite pas au proxy Cloudflare : configurez un pare-feu côté serveur qui n’autorise que les IP de retour Cloudflare et bloque tout le reste. Cet article présente trois approches : Baota (la plus simple), Nginx pur (plus flexible), certificat d’origine (le plus sûr). Listes IP, étapes, tests et FAQ inclus.
Pourquoi limiter le trafic non-CF ? Le risque réel de fuite d’IP
Penser que pointer le domaine vers Cloudflare suffit est une erreur courante. Les attaquants ont plusieurs moyens de retrouver l’IP réelle.
Voies courantes de fuite
Requêtes sur certificat SSL : sur myssl.com et sites similaires, la détection SSL peut afficher l’IP d’origine lorsque le site est derrière le CDN Cloudflare avec certificat activé.
Historique DNS : de nombreux services cachent les résolutions ; certaines bases les conservent longtemps. Même après migration vers Cloudflare, l’ancienne IP reste visible.
Sous-domaines et messagerie : le site principal peut être en proxy orange, mais mail.example.com ou un sous-domaine oublié expose l’IP (ping, en-têtes Received). Un collègue ops a vu son serveur mail ciblé alors que le site principal était bien protégé.
Impact après fuite
L’attaquant contourne Cloudflare : DDoS sur l’origine, scan de ports, attaques ciblées. Le tableau de bord CF peut sembler calme pendant que le serveur réel subit l’assaut — typiquement quand la liste blanche n’est pas en place.
Où trouver la liste des IP de retour Cloudflare ?
Adresses officielles
Cloudflare publie trois pages :
- Liste complète : https://www.cloudflare.com/ips/
- IPv4 : https://www.cloudflare.com/ips-v4
- IPv6 : https://www.cloudflare.com/ips-v6
Gardez-les en favoris pour les mises à jour.
Plages IPv4 actuelles (15 CIDR)
173.245.48.0/20
103.21.244.0/22
103.22.200.0/22
103.31.4.0/22
141.101.64.0/18
108.162.192.0/18
190.93.240.0/20
188.114.96.0/20
197.234.240.0/22
198.41.128.0/17
162.158.0.0/15
104.16.0.0/13
104.24.0.0/14
172.64.0.0/13
131.0.72.0/22
Environ 1,78 million d’adresses au total.
Plages IPv6
Si IPv6 est activé sur le serveur, ajoutez aussi :
2400:cb00::/32
2606:4700::/32
2803:f800::/32
2405:b500::/32
2405:8100::/32
2a06:98c0::/29
2c0f:f248::/32
Important : la liste évolue. Vérifiez toutes les 1-2 mois ; sinon de nouvelles IP CF peuvent être bloquées et provoquer des échecs de retour.
Méthode 1 — Baota : liste blanche Cloudflare (la plus simple)
Avec le panneau Baota, le plugin pare-feu Nginx permet une configuration graphique sans éditer les fichiers à la main.
Étape 1 : installer le plugin Nginx Firewall
Dans Baota : Boutique logicielle → Applications tierces → Nginx Firewall (gratuit). Installez si nécessaire.
Étape 2 : configurer la liste blanche IP
- Ouvrez les paramètres du pare-feu Nginx
- Configuration globale → Liste blanche IP → Paramètres
- Ajoutez chaque plage IPv4 Cloudflare
Baota demande une IP de début et une IP de fin ; les plages sont en CIDR (ex. 173.245.48.0/20). Utilisez un convertisseur « CIDR vers plage IP » : 173.245.48.0/20 → 173.245.48.0 à 173.245.63.255. Des listes pré-converties circulent sur des blogs — copier-coller fait gagner du temps.
- Importez toutes les plages
- Redémarrez Nginx
Note : l’interface Baota ne gère que l’IPv4 ; pour IPv6, passez à la méthode 2 ou éditez Nginx manuellement.
Étape 3 : vérifier
- En 4G, accès direct à l’IP d’origine → 403 Forbidden
- Via le domaine (proxy CF) → site normal
Un 502 indique souvent des plages incomplètes ou le pare-feu Baota désactivé.
Méthode 2 — Nginx pur (plus flexible)
Sans Baota, ou pour IPv6 et fichiers partagés entre sites.
Étape 1 : créer le fichier de liste blanche
sudo nano /etc/nginx/cloudflare-whitelist.conf
Contenu :
# Plages IPv4 Cloudflare
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
allow 104.16.0.0/13;
allow 104.24.0.0/14;
allow 172.64.0.0/13;
allow 131.0.72.0/22;
# Plages IPv6 Cloudflare
allow 2400:cb00::/32;
allow 2606:4700::/32;
allow 2803:f800::/32;
allow 2405:b500::/32;
allow 2405:8100::/32;
allow 2a06:98c0::/29;
allow 2c0f:f248::/32;
# Refuser tout le reste
deny all;
Le deny all; final est indispensable.
Étape 2 : inclure dans le vhost
sudo nano /etc/nginx/sites-available/your-site.conf
Dans le bloc server :
server {
listen 80;
server_name example.com;
include /etc/nginx/cloudflare-whitelist.conf;
root /var/www/html;
index index.html;
}
Répétez pour le bloc listen 443 si HTTPS est actif.
Étape 3 : tester et recharger
sudo nginx -t
sudo systemctl reload nginx
Avantage : un seul fichier cloudflare-whitelist.conf pour tous les sites, IPv6 inclus.
Configuration complète de la liste blanche IP de retour Cloudflare
De la récupération des listes IP à la validation, pour Baota, Nginx pur et certificat d’origine
Estimated time: PT20M
-
1
Step 1: Récupérer les listes IP Cloudflare
Pages officielles : -
2
Step 2: Méthode 1 : Baota (la plus simple)
Étapes : -
3
Step 3: Note
IPv4 via interface ; IPv6 manuellement -
4
Step 4: Méthode 2 : Nginx pur (flexible)
Étapes : -
5
Step 5: Méthode 3 : certificat d’origine (le plus sûr)
Étapes : -
6
Step 6: Cloudflare
SSL/TLS → Origin Server → Create certificate -
7
Step 7: Avantage
double barrière (IP + certificat) même si l’IP fuit -
8
Step 8: Vérifier l’effet
4G sur IP d’origine → 403 ; via domaine → OK. 502 : plages incomplètes ou syntaxe. 403 via CF : ordre deny/allow ou liste obsolète.
Méthode 3 — Certificat d’origine Cloudflare (le plus sûr)
En complément de la liste blanche : certificat d’origine. Accès direct à l’IP = erreur certificat, connexion refusée.
Qu’est-ce que le certificat d’origine
Certificat TLS signé par Cloudflare, utilisé uniquement entre Cloudflare et votre origine. Les navigateurs ne le font pas confiance ; seul Cloudflare s’y connecte normalement.
Combiné à la liste blanche : trafic non-CF bloqué + connexion chiffrée réservée à CF.
Étape 1 : générer le certificat
Dans Cloudflare : SSL/TLS → Origin Server → Create certificate. Choisissez le domaine (wildcard possible), validité longue (jusqu’à 15 ans).
Enregistrez certificat et clé :
sudo nano /etc/nginx/certs/cloudflare.crt
sudo nano /etc/nginx/certs/cloudflare.key
sudo chmod 600 /etc/nginx/certs/cloudflare.key
Étape 2 : configurer Nginx
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/nginx/certs/cloudflare.crt;
ssl_certificate_key /etc/nginx/certs/cloudflare.key;
include /etc/nginx/cloudflare-whitelist.conf;
}
Option stricte : certificat client Cloudflare + ssl_verify_client on;.
sudo nginx -t && sudo systemctl reload nginx
Pour la plupart des sites, la liste blanche IP suffit ; le certificat d’origine vise les scénarios à exigence maximale.
Tests et dépannage
Comment tester
Test 1 : en 4G, ouvrez http://VOTRE_IP_ORIGINE → 403 Forbidden si OK.
Test 2 : en local (hors serveur) :
curl -I http://VOTRE_IP_ORIGINE
→ 403 Forbidden.
Test 3 : via https://votre-domaine.com → accès normal. Si 403 ici aussi, la config est incorrecte.
Problèmes fréquents
502 après configuration : plages incomplètes ou erreur de syntaxe — sudo nginx -t, logs error.log, vérifier les 15 IPv4 et 7 IPv6.
403 même via Cloudflare : deny all avant les allow, ou liste IP obsolète — réordonner et consulter https://www.cloudflare.com/ips/
Baota : import sans effet : plugin désactivé, Nginx non redémarré — vérifier l’icône verte et les logs du pare-feu.
Contournement IPv6 : ajouter les plages IPv6 CF ou désactiver IPv6 si non requis.
Autres bonnes pratiques
- Changer le port SSH par défaut
- Mises à jour système régulières
server_tokens off;dans nginx.conf- Mode Under Attack Cloudflare en cas d’attaque intense
Mise à jour de la liste IP Cloudflare
Les plages évoluent avec l’infrastructure mondiale. Une liste obsolète bloque de nouvelles IP de retour → pannes partielles.
Mise à jour manuelle
Tous les 2-3 mois, comparez https://www.cloudflare.com/ips/ avec votre fichier, ajoutez les nouvelles plages, nginx -t, puis reload.
Script automatique (optionnel)
#!/bin/bash
CF_IPV4_URL="https://www.cloudflare.com/ips-v4"
CF_IPV6_URL="https://www.cloudflare.com/ips-v6"
NGINX_CONF="/etc/nginx/cloudflare-whitelist.conf"
BACKUP_CONF="/etc/nginx/cloudflare-whitelist.conf.bak"
cp $NGINX_CONF $BACKUP_CONF
echo "# Cloudflare IP Whitelist - Auto-generated on $(date)" > $NGINX_CONF
echo "" >> $NGINX_CONF
echo "# IPv4 ranges" >> $NGINX_CONF
curl -s $CF_IPV4_URL | sed 's/^/allow /' | sed 's/$/;/' >> $NGINX_CONF
echo "" >> $NGINX_CONF
echo "# IPv6 ranges" >> $NGINX_CONF
curl -s $CF_IPV6_URL | sed 's/^/allow /' | sed 's/$/;/' >> $NGINX_CONF
echo "" >> $NGINX_CONF
echo "# Deny all other IPs" >> $NGINX_CONF
echo "deny all;" >> $NGINX_CONF
if nginx -t; then
systemctl reload nginx
echo "✓ Mise à jour réussie"
else
cp $BACKUP_CONF $NGINX_CONF
echo "✗ Erreur — configuration restaurée"
fi
chmod +x /root/update-cf-whitelist.sh
crontab -e
Ligne cron :
0 3 1 * * /root/update-cf-whitelist.sh >> /var/log/cf-whitelist-update.log 2>&1
Testez le script à la main avant le cron.
Conclusion
Pour protéger l’origine, la liste blanche Cloudflare est indispensable.
Récapitulatif :
- Baota : le plus simple, IPv4 seulement
- Nginx pur : flexible, IPv6, fichier centralisé
- Certificat d’origine : double protection pour exigences élevées
Après configuration : 4G sur l’IP d’origine → 403 ; via le domaine → OK. Pensez à mettre à jour les plages IP régulièrement ou via cron.
Partagez ce guide avec d’autres administrateurs Cloudflare. Vérifiez tout de suite si votre IP a fuité (myssl.com ou équivalent) : si oui, appliquez l’une de ces méthodes sans attendre.
FAQ
Pourquoi l'IP d'origine fuit-elle ? Quelles voies courantes ?
1) Sites de vérification SSL (myssl.com, etc.) :
• Avec le CDN Cloudflare, la détection du certificat peut afficher l'IP d'origine
2) Historique DNS mis en cache par des services tiers :
• Certaines bases conservent les données longtemps
• Même après passage à Cloudflare, l'ancienne IP reste trouvable
3) Sous-domaines ou messagerie sans CDN :
• ping sur un sous-domaine ou en-têtes mail bruts exposent l'IP
Après fuite, l'attaquant contourne Cloudflare : DDoS direct sur l'origine, scan de ports et exploitation de failles.
Où obtenir la liste des IP de retour Cloudflare ? Comment la maintenir à jour ?
• Liste complète : https://www.cloudflare.com/ips/
• IPv4 : https://www.cloudflare.com/ips-v4
• IPv6 : https://www.cloudflare.com/ips-v6
Plages actuelles :
• 15 blocs CIDR IPv4 (environ 1,78 million d'adresses)
• 7 blocs IPv6
Conseils :
• La liste évolue ; vérifiez toutes les 2-3 mois
• Ou script automatisé (cron mensuel)
Sans mise à jour, de nouvelles IP CF peuvent être bloquées et provoquer des échecs de retour pour certains utilisateurs.
Quelle différence entre les trois méthodes ? Laquelle choisir ?
• La plus simple, interface graphique, adaptée aux débutants
• IPv4 uniquement ; IPv6 à configurer à la main
2) Nginx pur :
• Plus flexible, IPv6 supporté
• Fichier dédié facile à mettre à jour
• Partageable entre plusieurs sites
• Pour utilisateurs avec bases Linux
3) Certificat d'origine :
• Le plus sûr : liste blanche + validation certificat
• Même si l'IP fuit, accès direct = erreur certificat
• Pour exigences de sécurité très élevées
En pratique : la liste blanche IP suffit souvent ; ajoutez le certificat d'origine si besoin maximal.
Comment configurer la liste blanche Nginx ? Étapes clés ?
1) Créer le fichier :
• sudo nano /etc/nginx/cloudflare-whitelist.conf
• Ajouter allow pour toutes les plages CF IPv4 et IPv6
• Terminer par deny all (obligatoire, après les allow)
2) Inclure dans le vhost :
• /etc/nginx/sites-available/your-site.conf
• Dans le bloc server : include /etc/nginx/cloudflare-whitelist.conf
• HTTP et HTTPS
3) Tester et recharger :
• sudo nginx -t
• sudo systemctl reload nginx
Pour les mises à jour IP, modifiez uniquement cloudflare-whitelist.conf.
Comment vérifier que c'est actif ? Dépannage courant ?
1) En 4G (hors CF), accès direct à l'IP d'origine → 403 Forbidden attendu
2) Via le domaine (proxy CF) → site normal
Problèmes courants :
1) 502 :
• Plages IP complètes (15 IPv4 + 7 IPv6)
• Syntaxe : sudo nginx -t
• Pare-feu activé
2) CF aussi en 403 :
• deny all bien après les allow
• Liste à jour sur https://www.cloudflare.com/ips/
3) Contournement IPv6 :
• Ajouter les plages IPv6 CF
• Ou désactiver IPv6 au pare-feu si inutile
Comment automatiser la mise à jour de la liste IP Cloudflare ?
Flux :
1) Sauvegarde de l'ancienne config
2) Téléchargement IPv4/IPv6 depuis CF
3) Génération allow + deny all
4) nginx -t puis reload, sinon restauration
Déploiement :
• /root/update-cf-whitelist.sh
• chmod +x
• cron : 0 3 1 * * /root/update-cf-whitelist.sh >> /var/log/cf-whitelist-update.log 2>&1
Testez manuellement une première fois avant d'activer le cron.
7 min de lecture · Publié le: 21 nov. 2025 · Mis à jour le: 27 juil. 2026
Cloudflare Full Stack
Si vous arrivez depuis la recherche, le plus rapide est de passer à l’article précédent ou suivant de cette série.
Précédent
Guide complet du bouclier 5 secondes Cloudflare : 3 astuces de configuration pour limiter l'impact SEO et UX
Fonctionnement du bouclier 5 secondes Cloudflare (mode Under Attack), impact SEO et configuration précise via Page Rules, avec 7 bonnes pratiques et conseils pour optimiser la durée de passage du défi.
Partie 8 sur 23
Suivant
Vous utilisez Cloudflare et vous êtes quand même attaqué ? 7 voies cachées de fuite d'IP d'origine et guide de protection
Vous utilisez Cloudflare et subissez quand même des attaques DDoS ? Découvrez 7 voies cachées de fuite d'IP d'origine (historique DNS, en-têtes e-mail, sous-domaines, etc.), des outils de détection actionnables et une protection complète : pare-feu, bonnes pratiques Cloudflare et mesures correctives.
Partie 10 sur 23



Commentaires
Connectez-vous avec GitHub pour laisser un commentaire