name: selfhostedops/crs-route-exclusions # ep13: entfernt je legitimer Route NUR die CRS-Anomalie-Blockregeln (949110 # inbound, 959100 outbound), sodass das generische CRS dort nicht mehr sperrt. # Die Coraza-Engine bleibt an (ruleEngine On), deshalb laufen die nativen # CrowdSec-vpatch-Regeln auf diesen Routen weiter (bekannte CVEs bleiben # geschuetzt). NICHT ctl:ruleEngine=Off benutzen, das schaltet auch vpatch ab. # Die Regel muss VOR crowdsecurity/crs stehen (Phase 1). seclang_rules: # Forgejo git smart-HTTP (clone/push), binaerer Pack-Body - | SecRule REQUEST_HEADERS:Host "@beginsWith git." "id:900101,phase:1,pass,nolog,chain,msg:'ep13 crs-off git smart-http'" SecRule REQUEST_URI "@rx (git-upload-pack|git-receive-pack|/info/refs\?service=)" "ctl:ruleRemoveById=949110,ctl:ruleRemoveById=959100" # Forgejo REST-API: Issues, Datei-Inhalte - | SecRule REQUEST_HEADERS:Host "@beginsWith git." "id:900102,phase:1,pass,nolog,chain,msg:'ep13 crs-off forgejo api'" SecRule REQUEST_URI "@beginsWith /api/v1/" "ctl:ruleRemoveById=949110,ctl:ruleRemoveById=959100" # Outline Dokument-API - | SecRule REQUEST_HEADERS:Host "@beginsWith wiki." "id:900103,phase:1,pass,nolog,chain,msg:'ep13 crs-off outline api'" SecRule REQUEST_URI "@beginsWith /api/" "ctl:ruleRemoveById=949110,ctl:ruleRemoveById=959100" # ntfy Publish (POST /) - | SecRule REQUEST_HEADERS:Host "@beginsWith ntfy." "id:900104,phase:1,pass,nolog,chain,msg:'ep13 crs-off ntfy publish'" SecRule REQUEST_METHOD "@streq POST" "ctl:ruleRemoveById=949110,ctl:ruleRemoveById=959100" # n8n Webhook-Pfade - | SecRule REQUEST_HEADERS:Host "@beginsWith n8n." "id:900105,phase:1,pass,nolog,chain,msg:'ep13 crs-off n8n webhook'" SecRule REQUEST_URI "@beginsWith /webhook" "ctl:ruleRemoveById=949110,ctl:ruleRemoveById=959100"