Bloqué par Cloudflare
(jrhawley.ca)- Sur une page GitLab nécessaire au travail, l’utilisateur s’est retrouvé coincé dans une « secure connection loop » où le contrôle d’intégrité du navigateur de Cloudflare ne se terminait jamais, puis l’accès à un autre site web interne a ensuite été bloqué dans Firefox
- En modifiant la valeur de
privacy.resistFingerprintingdans Firefox, l’accès à GitLab a été rétabli, mais le lendemain une page de blocage est apparue sur un site interne sans rapport, et revenir à la valeur d’origine n’a rien résolu - Dans les mêmes conditions — même poste de travail, VPN de l’entreprise, mêmes certificats de sécurité — Chrome pouvait accéder au site, mais pas Firefox, ce qui laisse penser que le blocage était lié à l’empreinte du navigateur ou à l’absence d’empreinte
- Pour le moment, il faut utiliser Chrome pour les sites internes de travail, et il est difficile de savoir combien d’autres sites internes ou externes “protégés” par Cloudflare seront touchés
- Si des évolutions comme l’attestation à distance, la Web Integrity API ou les passkeys donnent davantage de pouvoir aux entreprises, les particuliers pourraient perdre la liberté de choisir leur matériel, leur système d’exploitation et leurs logiciels, et devoir se conformer à des règles invisibles
La secure connection loop de Cloudflare
- Cloudflare fournit à une grande partie d’Internet un réseau de diffusion de contenu, une protection contre les attaques par déni de service distribué et d’autres services d’infrastructure réseau
- De nombreux sites qui utilisent Cloudflare placent un contrôle d’intégrité du navigateur avant l’accès
- L’objectif est de bloquer les acteurs malveillants, les bots et le trafic indésirable, et de faire en sorte que de vraies personnes utilisent le site de la manière prévue
- Même des utilisateurs légitimes et de bonne foi peuvent se retrouver bloqués sur la page de sécurité
- La secure connection loop désigne le cas où l’utilisateur saisit une URL, Cloudflare intercepte la requête et affiche la page « Checking if the site connection is secure », sans jamais terminer la vérification
- L’indicateur de chargement tourne indéfiniment, ou bien une nouvelle vérification humaine est redemandée puis la page se recharge en boucle
- Même si l’utilisateur suit la procédure demandée, il se voit redemander l’étape suivante et ne parvient jamais à passer
- Une recherche sur « Cloudflare checking if the site connection is secure » montre, en plus de la documentation officielle de Cloudflare, de nombreuses questions d’utilisateurs cherchant à contourner cette page, ce qui suggère un problème assez courant
Problème d’accès à GitLab et modification d’un réglage Firefox
- Lorsqu’il a voulu consulter un logiciel scientifique sur GitLab depuis son ordinateur professionnel, l’utilisateur a vu apparaître la page de contrôle d’intégrité du navigateur de Cloudflare
- Vérification des erreurs dans la console de développement, désactivation temporaire des extensions, fenêtre de navigation privée, redémarrage de l’ordinateur : rien n’a permis de sortir de la boucle
- Dans les résultats de recherche, l’utilisateur a trouvé une suggestion recommandant de désactiver l’option
privacy.resistFingerprintingdansabout:configde Firefox- À ce moment-là, cette valeur était déjà à
false - En la passant à
true, il a pu franchir le contrôle d’intégrité du navigateur et accéder au logiciel qu’il voulait consulter
- À ce moment-là, cette valeur était déjà à
Blocage sur un site interne sans rapport
- Le lendemain, en accédant à une page web interne nécessaire au travail, une page de blocage est apparue
- D’après la chronologie, l’utilisateur n’a pas pu passer la boucle de vérification de Cloudflare, a modifié un paramètre de confidentialité de Firefox pour la contourner, puis s’est retrouvé bloqué sur un autre site professionnel
- L’ensemble du processus s’est déroulé sur le poste de travail et derrière le VPN de l’entreprise
- L’accès à ce VPN exige qu’un certificat de sécurité spécifique soit installé sur la machine
- Cloudflare a demandé ce certificat, ce qui laisse penser qu’il savait qu’il était présent
- Comme données fortes d’identification, l’auteur cite le certificat de sécurité propre à l’utilisateur et l’adresse IP du VPN de l’entreprise
- Le texte mentionnait d’abord l’adresse MAC, mais une note corrige en précisant que Cloudflare ne voyait vraisemblablement pas l’adresse MAC, seulement l’IP derrière le VPN de l’entreprise
- Aucune extension particulière n’avait été installée, aucun navigateur headless n’était utilisé, l’agent utilisateur n’avait pas été modifié, Tor ou un protocole non standard n’étaient pas en cause ; le seul changement concernait un paramètre de confidentialité du navigateur
- Même après avoir remis le paramètre à sa valeur d’origine, le blocage n’a pas disparu, rendant l’accès aux ressources nécessaires au travail incertain
Hypothèse sur la cause du blocage et comparaison avec Chrome
- À cause de la secure connection loop, le navigateur a demandé plusieurs fois la même page dans un court laps de temps, et Cloudflare a peut-être détecté cette fréquence élevée de requêtes et de refus comme un schéma suspect
- Il ne s’agit pas d’une cause confirmée, mais d’une explication possible
- L’auteur estime qu’après avoir finalement passé la première étape grâce au blocage du fingerprinting, Cloudflare a pu interpréter l’ensemble de la séquence comme un comportement malveillant et marquer le navigateur comme suspect
- Lorsque l’accès au site interne a été tenté avec Google Chrome, aucun blocage n’est survenu
- Le fait que seul Firefox soit bloqué, alors que Chrome ne l’est pas, conduit à penser que le blocage de Cloudflare repose sur une empreinte du navigateur ou sur l’absence d’empreinte
- Les deux requêtes ont été effectuées avec le même certificat de sécurité, le même VPN d’entreprise, le même appareil et au même moment
- La seule différence était le navigateur utilisé
- Chrome n’offre pas, selon l’auteur, le même niveau de protections renforcées pour la vie privée et la sécurité que Firefox, et ne résiste pas au fingerprinting de la même manière ni via les mêmes réglages
Impact sur le travail
- À court terme, il faut utiliser Chrome pour accéder aux sites internes de travail
- Il est impossible de savoir combien d’autres sites internes ou externes “protégés” par Cloudflare seront encore bloqués
- Une réinstallation de Firefox pourrait être tentée, mais comme une réponse spéculative a déjà aggravé la situation, il est difficile d’être sûr de la prochaine étape
- Faute de procédure claire que l’utilisateur puisse appliquer lui-même, il faudra peut-être retrouver dans l’annuaire interne l’administrateur système responsable de la page et demander une autorisation d’accès
Inquiétudes sur l’évolution du Web
- Le fait que l’accès à des ressources nécessaires puisse être bloqué dès qu’on s’écarte un peu du comportement attendu, même avec de fortes preuves d’identité, alimente les inquiétudes sur l’avenir du Web
- Si l’attestation à distance et d’autres mesures de “sécurité” s’étendent à des domaines comme la banque en ligne, cela pourrait affecter presque tous les aspects de la vie personnelle
- Les utilisateurs d’Android dé-Googlisé doivent déjà faire beaucoup d’efforts pour que l’attestation matérielle fonctionne correctement afin de pouvoir utiliser des applications bancaires
- Le guide de compatibilité de l’attestation de GrapheneOS en est un exemple
- L’auteur estime qu’il existe trop peu d’espace intermédiaire entre accéder à son argent depuis un appareil personnel et laisser Google surveiller les interactions de l’appareil
- Les propositions pour le Web qui donnent plus de pouvoir à des entreprises auxquelles il est plus difficile de demander des comptes qu’aux individus pourraient multiplier les situations où les utilisateurs errent pour tenter de se conformer à des règles invisibles
- Ce n’est que depuis quelques années que des sanctions concrètes commencent à viser les entreprises enfreignant les lois sur la protection des données ; l’amende de 1,2 milliard d’euros infligée à Facebook pour violation du RGPD en est un exemple
Questions soulevées par la Web Integrity API et les passkeys
- La proposition Web Integrity API a suscité une forte réaction autour de l’avenir du Web
- Si des entreprises financières introduisent des politiques d’attestation à distance sur leurs sites, les types de matériel, de systèmes d’exploitation et de logiciels que les particuliers peuvent utiliser pourraient devenir plus limités
- Il peut exister des raisons légitimes de bloquer de vieux appareils vulnérables impossibles à corriger, mais l’auteur estime que les décisions des entreprises peuvent facilement aller vers plus de contrôle au détriment des libertés et des droits individuels
- Le premier exemple donné dans la proposition Web Integrity API concerne un site financé par la publicité, où les annonceurs doivent pouvoir payer pour que leurs publicités soient vues par des humains plutôt que par des robots
- L’auteur considère qu’au final, ce sont les vrais utilisateurs qui héritent de la charge de devoir prouver qu’ils sont humains
- Il s’interroge aussi sur le fait que l’auteur de la proposition travaille chez Google, dont les revenus publicitaires sont considérables
- L’adoption des passkeys peut constituer une proposition utile pour offrir un accès plus sûr et plus simple aux sites web
- Mais si, comme dans l’expérience avec Cloudflare, même des preuves d’identité solides peuvent être ignorées, il est difficile de savoir comment des passkeys seraient traitées par des fournisseurs de services comme Cloudflare
- Plusieurs questions pratiques restent ouvertes concernant les passkeys
- Les utilisateurs peuvent-ils créer et synchroniser eux-mêmes leurs passkeys ?
- Si seuls certains logiciels peuvent utiliser les passkeys, qui définit ces critères ?
- Faut-il des exigences matérielles ou logicielles spécifiques comme TPM, DeviceCheck ou l’Integrity API ?
- Peut-on à tout moment exporter des passkeys d’un fournisseur de service à un autre ?
- Si une passkey est associée à un événement jugé suspect, ce marquage de suspicion se propage-t-il à d’autres appareils utilisant la même passkey ?
- Les appareils contenant des passkeys jugées suspectes deviennent-ils eux aussi suspects, au point d’affecter l’accès à d’autres sites web indépendants depuis ce même appareil ?
- Les mots de passe ont de nombreux défauts, mais ils gardent un avantage : les individus peuvent les créer eux-mêmes, sur les appareils qu’ils possèdent, et les gérer comme ils le souhaitent
- Même si des technologies comme les VPN, les certificats et le fingerprinting peuvent compenser certaines faiblesses des mots de passe et de la sécurité informatique, leur utilité reste limitée si, pour accomplir des tâches élémentaires, il faut renoncer à la vie privée tout en risquant malgré tout d’être bloqué
1 commentaires
Avis sur Hacker News
Même les personnes qui se disent sensibles à la vie privée utilisent souvent Chrome sans savoir cela
Une page bloquée dans Firefox s’est ouverte dans Chrome ; or Chrome n’a pas, comme Firefox, une conception renforcée en matière de confidentialité et de sécurité, collecte et partage davantage l’historique de navigation et les données personnelles, et résiste moins au fingerprinting
Même certificat, même VPN d’entreprise, même appareil, même créneau horaire : si le seul changement de navigateur a suffi à passer, cela semble indiquer que Cloudflare bloque sur la base de l’empreinte du navigateur ou de son absence
De nos jours, si l’on se soucie un tant soit peu de ces questions, il ne faut pas utiliser Chrome
Dans cette situation, on ne sait pas clairement quelles informations Chrome aurait fournies contrairement à Firefox, et il se peut simplement que Firefox, avec un user agent plus rare, ait été soumis à un filtrage plus strict
J’ai déjà vu des cas où changer de navigateur sur un site faisait disparaître un message de limitation de débit ; avec des informations limitées, le site a peut-être supposé que même IP + user agent différent = ordinateur différent
Il faudrait au minimum tester avec un troisième navigateur
« Utilise Chrome » n’est pas une solution, et les personnes qui utilisent Firefox ou d’autres logiciels non Google restent des êtres humains
La vérification en JavaScript indiquant que l’on « n’est pas un bot » ressemble à un moyen de forcer les utilisateurs à activer JavaScript et à s’exposer à davantage de publicités
Si le critère est de monopoliser le marché et de menacer l’avenir de l’Internet ouvert, Cloudflare représente une menace plus importante ; le jour où la dictature Cloudflare deviendra moins bienveillante, tout le monde le ressentira
Je suis PM de la plateforme de challenge de Cloudflare, et j’aimerais comprendre la cause du problème
Nous ne pénalisons pas les utilisateurs uniquement pour des actions répétées ; ce n’est donc pas pour cela que le navigateur serait signalé comme suspect
Personnellement, j’utilise beaucoup Firefox, mais je n’ai pas observé ce comportement ; s’il s’agissait d’un problème généralisé à Firefox, des alertes automatiques se seraient déclenchées et nous l’aurions traité comme un incident majeur
Si vous voulez aider au dépannage, vous pouvez m’écrire à amartinetti at cloudflare
Les adresses IP servent au routage des paquets, pas à attribuer en arrière-plan un « score de comportement » aux utilisateurs. Mon IP pouvait très bien être celle de quelqu’un de complètement différent hier
Décider, à partir des signatures TLS, qui peut accéder à la moitié du Web ne résout rien à long terme, renforce le monopole des navigateurs et va frontalement à l’encontre de l’esprit du Web ouvert
Je l’ai en partie cherché, puisque je fais tourner des bots de type crawler pour des projets perso, mais si j’imite simplement la signature TLS de Chrome, ça fonctionne toujours. Des amis sans connaissances techniques et qui n’avaient rien fait ont aussi été pris dans ce blocage
Les services Cloudflare ont probablement causé à des millions de personnes le préjudice de se retrouver soudainement bloquées sur la moitié du WWW, et ce genre de préjudice est la conséquence logique d’heuristiques censées décider si l’on peut accéder à un site
Il est aussi absurde qu’une seule entreprise située hors de mon pays décide si je peux utiliser le Web ; et maintenant, pour continuer à utiliser Firefox, je dois aller acheter des proxys sur des sites douteux
En général, elle se termine automatiquement, donc ce n’est pas très grave, mais j’ai bien ressenti une hausse de fréquence la semaine dernière
C’est peut-être dû à l’extension Privacy Pass que j’utilise, même si je ne sais pas vraiment ce qu’elle fait concrètement
L’emplacement réel reste NYC, mais lorsque j’accède à des sites américains protégés par Cloudflare, j’apparais comme venant du Royaume-Uni, et je suis bloqué par de plus en plus de sites : journaux locaux, épiceries, émetteurs de cartes, etc.
La géolocalisation IPv6 de Cloudflare est cassée, et cela semble interférer même quand je me connecte en IPv4. De toute façon, prendre des décisions fondées sur la géolocalisation est une mauvaise idée
Cela pourrait venir du mauvais comportement d’autres utilisateurs du VPN, mais il me semble plus probable qu’il y ait autre chose
J’ai eu exactement le même problème pendant un moment, et j’ai pu retrouver dans l’historique de mon navigateur les sites auxquels je n’arrivais pas à accéder en cherchant « just a moment »
https://gitlab.com/users/sign_in, https://steamdb.info/login/, https://www.zabbix.com/forum/, https://casetext.com/, https://namemc.com/login, https://spinroot.com/, https://camelcamelcamel.com/
C’est un problème qui dure depuis des mois, peut-être des années, et Cloudflare ne semble pas le corriger ; on a l’impression qu’ils n’aiment pas le Web ouvert et veulent imposer la domination de Chrome/Chromium/Blink
Le rayID ne contient pas d’informations d’identification personnelle, donc tu peux le publier, ou envoyer un e-mail à amartinetti at cloudflare
Nous allons aussi déployer bientôt un mécanisme de signalement, afin de pouvoir être alertés et réagir rapidement à ce genre de problème à l’avenir
Pour utiliser le Web, il faut payer d’une manière ou d’une autre : soit perdre l’accès à cause de paramètres de confidentialité stricts, soit abandonner sa vie privée. Il n’y a pas moyen de gagner
Je ne paie plus pour d’autres raisons, mais au final j’ai l’impression d’avoir bien fait d’arrêter
C’est le navigateur numéro un sur desktop, alors qu’il n’est même pas inclus par défaut dans le système d’exploitation : Windows a Edge et Mac a Safari, mais les utilisateurs téléchargent quand même Chrome eux-mêmes
Quand une grande partie du trafic Internet est contrôlée par une seule source, ce genre de problème arrive
Il suffit que Cloudflare décide arbitrairement qui peut utiliser Internet pour que, de fait, sa parole fasse loi
Au départ, cela repose sur une prémisse naïve du type « un moyen simple de bloquer les mauvais acteurs », mais cela finit par s’étendre selon des critères arbitraires
Défendre la protection de la vie privée implique de laisser aussi passer les mauvaises personnes, mais l’internaute moyen ne comprend pas cette nuance
Même dans le cas le plus naïf, un seul mauvais commit peut casser Internet, et c’est déjà arrivé chez Cloudflare
Les lois antitrust existent à cause d’entreprises comme Cloudflare, Google et Meta, mais il ne semble y avoir personne en position d’autorité qui veuille vraiment les utiliser. Dans 20 ans, Internet sera complètement différent de tout ce qu’on a connu jusqu’ici, et probablement pas en bien
Ces clients peuvent choisir entre plusieurs fournisseurs de CDN/WAF, Cloudflare n’est même pas le plus gros, Akamai est plus grand
Le CDN qui croît le plus vite est CloudFront et la concurrence semble saine, donc je ne vois pas pourquoi les lois antitrust devraient s’appliquer
Ce sont les propriétaires de sites qui choisissent Cloudflare pour s’en protéger, ce n’est pas Cloudflare qui l’impose
Si l’on décortique les différents cookies de session de Cloudflare, les scripts injectés en intermédiaire par les pages de « rubber integrity » ou le mode « super bot-fight », on voit qu’ils effectuent en pratique, via des web workers, des contrôles heuristiques d’intégrité du navigateur
Autrement dit, ils font tourner une série de tests qu’un vrai navigateur manipulé par un utilisateur réussira, mais qu’un navigateur headless piloté par un bot échouera
Par exemple, pour vérifier s’il s’agit d’un vrai navigateur ou d’un parseur HTML brut, ils dessinent une image sur un canvas, l’exportent en PNG et comparent le hachage ; ou ils vérifient la présence de polices particulières d’OS grand public, faciles à oublier quand on lance Puppeteer dans les conteneurs par défaut de Lambda/Cloud Function
Plus loin encore, ils peuvent regarder si les mouvements de souris et les frappes inutiles avant d’activer le prompt ressemblent à des erreurs humaines, ou s’ils ne ressemblent pas à des schémas de relecture d’enregistrements vus récemment
Si tu te retrouves coincé dans une boucle de vérification, c’est parce que ton navigateur, ton appareil ou tes extensions masquent ou désactivent suffisamment ces heuristiques pour que Cloudflare n’obtienne pas de preuve certaine que tu es humain ; selon la configuration du propriétaire du site, au lieu de signaler l’échec, il continue à essayer d’obtenir des preuves
Car informer un bot qu’il a échoué revient à lui dire : « arrête ce qui ne marche pas et change la fréquence du bouclier »
Il n’y a pas d’exception dans la console, juste la même page qui se recharge en boucle
Ce qu’on oublie parfois, c’est que le propriétaire d’un site qui utilise Cloudflare décide du niveau global de paranoïa, et peut en plus créer des règles WAF très fines et agressives
Dans certains cas, le propriétaire du site a donc configuré des règles trop agressives, mais c’est Cloudflare qui se fait critiquer. Pour l’utilisateur final, l’effet visible est généralement le même
J’avais autrefois créé une règle WAF qui bloquait tout le trafic de bots non vérifiés provenant de grands datacenters comme Google Cloud, OVH ou DigitalOcean, mais c’était une erreur, car beaucoup d’entreprises routaient leur trafic via ces ASN pour une raison ou une autre
Ces utilisateurs étaient probablement en colère contre Cloudflare, alors que la vraie cause était ma mauvaise configuration
Dans un cours de programmation, on utilise comme exemple un navigateur simple : il ne gère ni le CSS ni JavaScript, donc l’affichage est rudimentaire, mais il fonctionne
Il marche sur certains sites, mais les gros sites en particulier le voient comme un navigateur inconnu et refusent de lui envoyer du contenu. Ils pensent sans doute qu’il s’agit d’un bot
Même si c’était un bot, je ne vois pas où est le problème s’il se comporte poliment, et je me demande quel web fermé nous avons autorisé les géants du secteur à créer
Il n’a aucune obligation de servir tout le monde
C’est aussi agaçant que la page de vérification de Cloudflare casse le rechargement de page dans Firefox
Quand Cloudflare renvoie vers la page d’origine, on arrive via un POST : le premier POST est intercepté par Cloudflare, mais si l’on recharge la page, ce POST part vers la vraie page, qui risque fort de ne pas savoir quoi en faire et d’afficher une erreur
La seule solution est d’appuyer sur Entrée dans la barre d’adresse pour y retourner au lieu de recharger, ou de trouver un lien permettant de revenir à cette page
Je ne serais pas surpris que certains sites vous bloquent à cause de ce genre de POST. Ils peuvent considérer : « il savait qu’il ne fallait pas faire de POST sur cette page mais l’a quand même envoyé, c’est donc un bot malveillant qui tente de pirater »
Le nombre de fois où Cloudflare me fait voir une page « checking your connection » de 15 à 30 secondes est absurde
Pour quelqu’un qui vit avec un TDAH comme moi, ces retards et interruptions qui s’accumulent toute la journée peuvent avoir un impact sérieux
Même en prenant correctement mon traitement, cette mesure me donne vraiment un sentiment d’impuissance et rend l’expérience en ligne horrible et épuisante
Personne n’a envie de montrer ça aux utilisateurs, mais ils finissent par devoir l’utiliser
Cela devrait réduire fortement le nombre de CAPTCHA affichés, sans être particulièrement mauvais pour la vie privée
Dans Safari, on peut activer les Private Access Tokens : https://blog.cloudflare.com/how-to-enable-private-access-tok...
Dans les deux cas, le principe ressemble à la proposition de DRM web de Google dans le sens où un émetteur externe crée des jetons, mais contrairement à la tentative de Google, cela ne garantit pas aux pages qui veulent utiliser ces jetons que le bloqueur de publicité est désactivé
Pas plus tard qu’hier, j’ai découvert que la connexion à PayPal ne fonctionnait pas avec Safari ou Firefox, mais seulement avec les navigateurs basés sur Chromium
On s’enfonce de plus en plus dans l’ère « ce site est optimisé pour Google Chrome »
Si la protection contre le pistage par empreinte numérique est activée dans Firefox, impossible de se connecter, et apparemment l’authentification à deux facteurs ne suffit pas à protéger un compte
Comme Twitch ne m’autorise pas à me connecter si je ne lui permets pas d’identifier mon ordinateur de façon unique, j’ai simplement arrêté de regarder des streams Twitch
Je l’ai rencontré avec Firefox sous Windows, Linux et Android ; heureusement je suis encore connecté dans l’application, mais comme je ne peux pas accéder à PayPal avec Firefox, il m’est déjà arrivé de payer par carte bancaire alors que j’avais un solde PayPal