

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Still calibrating
click for more info
Not enough gems
Cost: 6 gems
1: DoS
incomplete
2: Rate Limiting
incomplete
3: Protecting Auth from Abuse
incomplete
4: Throttling Requests
incomplete
5: Queuing Work
incomplete
6: Resource Limits
incomplete
7: Timeouts
incomplete
8: Usage Quotas
incomplete
9: DDoS
incomplete
10: Mitigating DDoS
incomplete
11: Bot Detection
incomplete
12: CAPTCHA
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
A Distributed Denial-of-Service (DDoS) attack is much harder to deal with than a regular DoS, because traffic comes from many different sources, often thousands or millions of IP addresses. You can't just block them all, and even if you could, new ones pop up immediately. Typical signals of a DDoS are:
Many DDoS attacks use botnets, which are networks of compromised devices controlled remotely. Others use reflection and amplification to make public servers flood the victim.
Once an attack saturates your origin's network connection, application code can't help: legitimate traffic can't reach it either. The flood needs to be filtered before it consumes your bandwidth.
Per-client limits are not enough when a distributed flood consumes all available request capacity.
Add global in-flight request load shedding.
This is graceful degradation, not complete DDoS protection. A large volumetric attack must be filtered before it reaches the application.
With Bearly Secure still running, run and submit the CLI tests from the project root.