Contexte de l'attaque

En juin 2026, la plateforme de documentation Read the Docs a subi son plus gros assaut DDoS, avec un pic de 5,5 million de requêtes par minute, soit environ 100 fois le trafic habituel de moins de 100 k/min. L’incident a duré près de dix jours, mettant à l’épreuve les capacités de mise à l’échelle automatique et les processus d’intervention de l’équipe d’exploitation.

Cette vague s’inscrit dans une tendance observée depuis deux ans, où les AI crawlers et les scrapers automatisés ont multiplié le nombre de requêtes malveillantes, forçant les opérateurs à repenser les stratégies de limitation d’accès basées uniquement sur les adresses IP.

Mécanismes techniques de l'assaut

Le trafic était globalement distribué : des millions d’adresses IP uniques, provenant de centaines d’ASNs, incluant des blocs résidentiels et des fournisseurs d’hébergement. Cette dispersion a rendu inefficace toute règle de limitation appliquée à un seul point de présence Cloudflare.

Les attaquants ont systématiquement randomisé les en‑têtes HTTP et les paramètres TLS (JA3/JA4), contournant les filtres signatures. Ils ont ciblé des URL générant des cache misses, notamment des pages 404 et des redirections temporaires 302, obligeant le backend Python à répondre à chaque requête.

Un comportement adaptatif a été observé : dès que les équipes ont appliqué un bloc ou un seuil de limitation, le botnet a réduit son débit, laissé expirer les fenêtres de limitation, puis a repris avec de nouvelles cibles. Ce schéma « yo‑yo » visait à maximiser les coûts d’infrastructure auto‑scalée tout en provoquant des interruptions intermittentes.

L’assaut a également submergé un redirect Nginx codé en dur, dont la règle de réécriture regex a été saturée malgré la capacité théorique de gérer plusieurs milliers de requêtes par seconde.

Réponses d'infrastructure et limites

Read the Docs s’appuie sur Cloudflare pour le cache, le WAF et la limitation de débit, gérés via Terraform. Les règles couvrent les adresses IP, les noms d’hôte, les ASNs et les empreintes de navigateur. Lorsque les redirections 302 ont été identifiées comme point faible, l’équipe les a déplacées vers le edge de Cloudflare en quelques minutes, réduisant le trafic vers le serveur d’origine.

Malgré ces mesures, la première couche automatisée de Cloudflare n’a filtré qu’une partie du trafic, les requêtes « known botnets » étant bloquées tandis que le reste atteignait les règles de limitation et le WAF. Le recours à des challenges JavaScript a été écarté pour éviter de rompre les intégrations API et l’expérience des centaines de milliers de lecteurs.

Le coût financier de l’auto‑scaling a augmenté de façon notable, les serveurs devant absorber des rafales de plusieurs millions de requêtes, même si la majorité était servie depuis le CDN.

Leçons et perspectives

L’incident montre que la défense contre des DDoS de plusieurs millions de requêtes/minute nécessite une approche en profondeur : cache edge agressif, filtrage basé sur les empreintes TLS, limitation dynamique et déplacement des points de décision vers le réseau de distribution. Identifier rapidement les chemins non cachés et les migrer vers le edge apparaît comme une mesure critique.

Pour l’avenir, Read the Docs envisage d’enrichir les signatures de trafic avec des analyses comportementales en temps réel, afin de détecter les variations de pattern avant qu’elles n’impactent les seuils de limitation. La combinaison de ces techniques devrait réduire la surface d’exposition aux attaques adaptatives similaires.