towerops/lib/towerops_web/live/admin
Graham McIntire 4d73e77f3a
Add 404-based brute force protection system
Implements automated detection and blocking of IPs exhibiting scanning behavior (5+ unique 404s within 1 minute).

Key features:
- Progressive ban escalation (5 min → 1 hour → permanent)
- CIDR range and exact IP whitelisting
- Redis-backed 404 path tracking with 60s TTL
- Cloudflare WAF integration for permanent bans
- Admin UI for whitelist and blocked IP management
- Oban cron jobs for cleanup (expired bans, stale violations)
- ETS caching for whitelist performance

Components:
- Plug: ToweropsWeb.Plugs.BruteForceProtection
- Context: Towerops.Security.BruteForce
- Schemas: IpBlock, IpWhitelist
- Workers: CloudflareBanWorker, ExpiredBanCleanupWorker, StaleViolationCleanupWorker
- Admin UI: /admin/security (superuser only)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 16:31:48 -06:00
..
agent_live Add real-time updates to admin agents page via PubSub 2026-02-10 11:20:51 -06:00
audit_live fix prod crash with yaml parsing 2026-01-31 08:25:07 -06:00
org_live feat: migrate admin features to gettext 2026-02-02 12:45:38 -06:00
security_live Add 404-based brute force protection system 2026-02-10 16:31:48 -06:00
user_live add device count to superadmin 2026-02-06 09:32:13 -06:00
dashboard_live.ex paginate audit logs 2026-02-01 13:27:56 -06:00
dashboard_live.html.heex Add link to admin agents page from admin dashboard 2026-02-10 11:04:55 -06:00
monitoring_live.ex more tests and fixes 2026-02-07 11:50:18 -06:00
monitoring_live.html.heex update hammer 2026-02-08 10:08:31 -06:00