On Sunday 2 June 2024 at 10:53 UTC, a HTTP POST flood targeted a retail banking customer in Western Europe. The attack peaked at 576.0 million requests per second and lasted 4 minutes. Traffic originated from 1041 autonomous systems in 101 countries, predominantly a rented booter service.
| Vector | HTTP POST flood |
| Peak | 576.0 million requests per second |
| Duration | 4 min |
| Time to mitigation | 0.676 s |
| Attack traffic reaching origin | 0.052% |
| Legitimate traffic challenged | 0.49% |
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 131 within 16 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 138 ms during the first minute, then normal service.
Recommendations
- Enable authenticated origin pulls.
- Add a dedicated rate limit for the targeted route.
- Keep origin IPs out of public DNS history.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
Solid runbook advice. The DNS-at-2am point hit home.
How do you avoid challenging uptime monitors and partners?
Good question. We will cover that in a follow-up post.
Any plans to support per-tenant limits keyed on a JWT claim?
Carpet bombing is nasty. Good to see a clear explanation of it.
Solid runbook advice. The DNS-at-2am point hit home.
The point about origin IPs leaking through certificate transparency logs is underrated.