Fix ASN-exempt fork never actually disabling the hub-original scenarios
"cscli scenarios remove crowdsecurity/asterisk_bf crowdsecurity/asterisk_user_enum" was failing silently (stderr suppressed, "|| true" swallowed the non-zero exit) because these scenarios are members of the crowdsecurity/asterisk collection, and cscli refuses to remove/disable a collection member without --force. The un-exempted hub originals kept running side-by-side with the ASN-exempt local forks the entire time, independently banning the same traffic with no ASN awareness at all - confirmed live by a ban showing scenario "crowdsecurity/asterisk_bf" (the hub original) rather than "local/asterisk_bf" (the fork) for an ASN that had just been exempted. Fixed in two places: - crowdsec.sh's initial setup now passes --force and surfaces a clear warning (with the manual fix command) if it still fails, instead of silently continuing. - security-dashboard's set-asn-exempt.sh helper now re-asserts the forced disable on every ASN-list save, so an install already affected by this (from before this fix, or where the step failed for any other reason) self-heals the next time the ASN list is edited via the dashboard, without needing to re-run the full CrowdSec installer. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ho9mZgAkVpdz7S5wJkg8Nf
This commit is contained in:
@@ -588,6 +588,19 @@ if [[ "$found" != "1" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Self-healing: the hub-original crowdsecurity/asterisk_bf /
|
||||
# asterisk_user_enum scenarios have no ASN awareness at all, so if they're
|
||||
# still enabled alongside the exempt forks above, they independently ban
|
||||
# the same traffic regardless of anything just written — the exemption
|
||||
# above would silently do nothing. crowdsec.sh's original install is
|
||||
# supposed to disable them (--force, since they're crowdsecurity/asterisk
|
||||
# collection members), but an install from before that fix shipped (or one
|
||||
# where that step failed silently) would still have them active. Re-assert
|
||||
# it on every save rather than trusting it was ever done correctly once —
|
||||
# confirmed live: an install where this step had silently failed kept
|
||||
# banning an exempted ASN under the hub-original scenario name.
|
||||
cscli scenarios remove crowdsecurity/asterisk_bf crowdsecurity/asterisk_user_enum --force 2>/dev/null || true
|
||||
|
||||
if ! systemctl restart crowdsec; then
|
||||
echo "Wrote ASN list but failed to restart CrowdSec" >&2
|
||||
exit 2
|
||||
|
||||
Reference in New Issue
Block a user