Ravindra BagaleCourses & study guides

40. DoS and DDoS – Availability Attacks

40.5 Application-Layer DoS – Slow and Heavy Requests

Application-layer DoS does not always need Tbps. Ideas defenders must know:

  • Many requests to expensive URLs (search, report export, login without cache)
  • Slowloris-class concepts: hold many connections open slowly so worker slots exhaust (Apache/nginx worker limits matter)
  • Large slow POST bodies / incomplete headers (timeouts help)

Blue fixes that actually help SMEs:

  • limit_req / limit_conn in nginx; Apache mod_evasive / reqtimeout modules (distro docs)
  • Short timeouts; sensible worker_connections / MaxRequestWorkers
  • WAF / bot management at CDN
  • Cache static + safe GETs at edge
# nginx snippet for YOUR lab origin – rate limit zone (example values; tune!)
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
server {
    listen 80;
    server_name orders.lab;
    location / {
        limit_req zone=one burst=10 nodelay;
        proxy_read_timeout 10s;
        # root /var/www/orders;  ...
    }
}
# Amazon Linux style – after editing nginx config on YOUR VM
sudo nginx -t
sudo service nginx reload
Red team (attacker) does Blue team (defender) detects / stops
Many concurrent slow connections to exhaust workers limit_conn; shorter timeouts; more workers behind LB carefully
HTTP flood on uncached dynamic page CDN/WAF; cache; rate limit; CAPTCHA on abuse
Targets login without lockout / rate limit Fail2ban-ish / WAF rules; MFA; progressive delays

Ravindra Bagale's Tip

Students worker_processes auto sodun rate limit visaratat. Size + limit donhi pahije. Interview: "application DoS is often cheap RPS that hurts origin CPU – I rate-limit and cache."

Lab

Disposable Ubuntu/Amazon Linux VM host-only: install nginx, serve a tiny PHP/index.html for Raja-Rani Traders order page. From Kali use ab or siege with low concurrency and short run against http://192.168.56.XX/ only. Note latency. Add limit_req. Re-run same load. Document before/after. Stop if host CPU pegs – this is a classroom, not a burn-in.