Mid-level Track Roadmap

Security: advanced Rack Attack

This course extends Rack::Attack from throttling to banning. It explains why a throttle has no memory across windows and how Fail2Ban and Allow2Ban add that memory through maxretry, findtime and bantime. The lessons cover escalation ladders with capped exponential backoff, tiered throttle windows and the problems with permanent bans. They also cover signals beyond request counts, the split between the edge and the application, challenges, instrumentation, blocked-page design and unban commands. The final lesson assembles a layered defense with a track-first rollout.

What you'll learn

  • ✓How Fail2Ban and Allow2Ban differ and when to use each
  • ✓Escalating bans with capped exponential backoff and tiered throttles
  • ✓Combining request signals such as paths, headers and honeypot fields into a score
  • ✓Which defenses belong at the edge and which belong in the application
  • ✓Instrumenting, alerting on and reviewing ban rules, including an unban path
  • ✓Rolling out rules as track first and converting them based on data
Free preview · Lesson 1 4 min read

From throttling to banning

The previous course ended with a working set of throttles: sign-in limited by address and by account, signup and password reset bounded, a general volume limit. Against a script that hammers as fast as it can, that is enough.

Read the full lesson free →

Curriculum

7 lessons
Type to start searching...