WAF (Web Application Firewall) — специализированный firewall для веб-трафика. Работает на уровне L7 (HTTP): анализирует URL, заголовки, тело запроса и блокирует известные атаки. Обычный сетевой firewall (iptables) работает на L4 (порты и IP) и не различает "нормальный запрос" от "SQL-injection".
Что блокирует: (1) SQL-injection (`' OR 1=1--`), (2) XSS (`<script>alert(1)</script>`), (3) path traversal (`../../etc/passwd`), (4) command injection, (5) brute force rate-limit'ом по IP, (6) bot-traffic через fingerprint и CAPTCHA. По правилам OWASP Top 10.
Варианты: cloud WAF — Cloudflare (бесплатно/pro $20/мес), Sucuri, Imperva. Проксирует трафик через свою сеть, фильтрует и возвращает вам чистый. Self-hosted WAF — ModSecurity + OWASP CRS (правила) как модуль nginx/Apache. Coraza WAF (Go-порт ModSecurity).
Практика для VPS: (1) простой сайт — Cloudflare Free + Cloudflare WAF Free rules покрывают 80 %, (2) требования к self-hosted (юр.лицо, российский закон о ПДн) — nginx + modsecurity + CRS + fail2ban. Готовый recipe — `/docs/nginx-waf`.