Skip to content

add safe dashboard activation for crs observation - #75

Merged
mangyan1 merged 4 commits into
developfrom
feat/crs-enable-button
Oct 3, 2026
Merged

mangyan1 merged 4 commits into
developfrom
feat/crs-enable-button

Conversation

@mangyan1

@mangyan1 mangyan1 commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Operators currently need a host command to enable CRS observation. This adds Enable CRS observation in CrowdSec → WAF, with confirmation, progress, automatic status recovery, and explicit failure/recovery states. Installer v1.66 installs a single-purpose Unix-socket helper through an ordinary update; activation requires an installer-managed stack with AppSec already enabled and its default acquisition list.

The admin-only API audits intent, rate-limits requests, and sends only fixed verbs. The root helper executes the shared observation policy from protected host tooling, locks against maintenance, snapshots the private configuration, checks LAPI health and the private AppSec listener, and restores failures. It exposes no Docker socket, arbitrary commands, paths, uploaded policies, or protection-disable operation. CrowdSec restarts briefly; fail-closed enforcement can temporarily deny traffic and dashboard API requests, which the confirmation and operations guide explain. The installer adds the read-only socket mount, boot ordering, helper rollback, and uninstall cleanup.

Validation: 224 backend tests and schema validation; 23 frontend tests, TypeScript and production build; strict package Biome; Linux CRS control/observation, recovery, healing, and upstream-sync contracts; ShellCheck; negative verification of privilege, protocol, maintenance, cooldown, rollback, concurrency, timeout and response-sanitization guards. Twelve root-helper tests passed, including a negative pin for LAPI health without an AppSec listener. Actual isolated systemd/Docker update, host restart, plus real-browser successful activation and forced-failure recovery passed at 1440px, 390px and 320px. Production was not contacted. README, operations guide, English UI strings and changelog are updated.

Blast radius: the CrowdSec route and new internal/socket client, its WAF control component, and fork-owned installer host tooling. Existing CLI activation and high-confidence blocking remain supported; backup/restore remain CLI-only.

@mangyan1
mangyan1 merged commit 09245db into develop Oct 3, 2026
18 checks passed
@mangyan1
mangyan1 deleted the feat/crs-enable-button branch October 3, 2026 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant