This repository publishes the coraza-http-wasm as a plugin and also contains examples on how to run coraza-http-wasm as a traefik plugin.
You can run the docker compose example:
docker compose up traefik
and do test calls:
curl -I 'http://localhost:8080/admin'
will return a 403 as per the configuration rules.curl -I 'http://localhost:8080/anything'
will return a 200 as there is not matching rule.To try out other kind of rules, you can locally modify the config-dynamic.yaml
file in the section middlewares:
http:# ...middlewares:waf:plugin:coraza:directives:- SecRuleEngine On- SecDebugLog /dev/stdout- SecDebugLogLevel 9- SecRule REQUEST_URI "@streq /admin" "id:101,phase:1,log,deny,status:403"
For more information about the available directives go to coraza docs.