openhands
5e4fc9ab59
feat(security): give back to CrowdSec and harden the CTI budget
...
- Bound the in-process verdict cache (FIFO eviction at 2000 entries) so a
flood of distinct bucket-tripping IPs cannot grow it without limit.
- Record block metadata (reputation, score, behaviors, category, TTL) in
antiddos:block:meta:{ip}, surfaced as the reason in the admin block list;
unban now also clears the metadata and report locks.
- Track daily CTI enrichment usage in Redis (crowdsec:usage:{date}); warn
once at 80% and pause lookups until tomorrow at CROWDSEC_CTI_DAILY_QUOTA
(default 10000, 0 = unlimited) so a via-spread DDoS cannot burn the plan.
- Add opt-in signal push to the CrowdSec community (CAPI watcher): stable
auto-generated 48-char machine_id/password pair persisted in Redis (or via
env), one-time registration, cached JWT login, optional Console enrollment,
and POST /v3/signals with a ban decision, deduped per IP. Never throws and
reports last status to the admin panel with a verify action.
- Admin page: quota usage bar, reporting status/verify channel, and CrowdSec
block reasons in the active-blocks list.
2026-09-23 14:24:44 +02:00
..
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-23 14:24:44 +02:00
2026-09-21 18:37:39 +02:00
2026-09-04 13:04:08 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:11:15 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-09-04 13:04:08 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:11:15 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-07-31 21:35:05 +02:00
2026-09-13 20:14:32 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 19:36:15 +02:00
2026-09-17 15:01:23 +02:00
2026-08-27 15:17:54 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-13 18:05:03 +02:00
2026-09-06 20:25:19 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 20:04:10 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 20:25:58 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:36:55 +02:00
2026-09-10 11:29:28 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 11:49:00 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:31:29 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 19:48:31 +02:00
2026-09-21 19:48:31 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-13 19:24:43 +02:00
2026-09-13 19:24:43 +02:00
2026-09-21 18:37:39 +02:00
2026-08-29 20:54:06 +02:00
2026-09-21 18:37:39 +02:00
2026-09-13 19:24:43 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-13 17:55:01 +02:00
2026-08-31 17:44:29 +02:00
2026-09-18 12:44:39 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-06 17:55:11 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 23:27:02 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00