On Sunday 16 July 2023 at 05:47 UTC, a Slowloris targeted a gaming community customer in Central Europe. The attack peaked at 791.1 million requests per second and lasted 86 minutes. Traffic originated from 1735 autonomous systems in 56 countries, predominantly misconfigured open reflectors.
| Vector | Slowloris |
| Peak | 791.1 million requests per second |
| Duration | 86 min |
| Time to mitigation | 0.478 s |
| Attack traffic reaching origin | 0.018% |
| Legitimate traffic challenged | 0.02% |
Timeline
The attack was preceded by a hacktivist channel announcing the target. Request rates on the targeted routes exceeded their hourly baseline by a factor of 763 within 5 seconds. The risk score of participating clients crossed the challenge threshold automatically and proof-of-work difficulty rose with origin load.
What the customer saw
A brief increase in p99 latency of 225 ms during the first minute, then normal service.
Recommendations
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
- Keep origin IPs out of public DNS history.
Solid runbook advice. The DNS-at-2am point hit home.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
The billing model is what got our finance team on board, honestly.
Machine-readable ranges are at /ips.json and via the API.
How do you avoid challenging uptime monitors and partners?
Machine-readable ranges are at /ips.json and via the API.
Interesting that most attacks are under ten minutes. Our experience is similar.
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.
Any plans to support per-tenant limits keyed on a JWT claim?
Good question. We will cover that in a follow-up post.
Our auditors asked for exactly this kind of incident evidence under DORA.