blob: 71a0c694dd6b83adb617aa4fc7fe894f388dbe92 [file] [view]
TinyGo example for ATS Wasm Plugin
[Coraza Proxy WASM](https://github.com/corazawaf/coraza-proxy-wasm) is a WAF wasm filter built on top of [Coraza](https://github.com/corazawaf/coraza) and implementing [proxy-wasm ABI](https://github.com/proxy-wasm/spec)
To retrieve `plugin.wasm` for the Coraza Proxy WASM
* `docker pull ghcr.io/corazawaf/coraza-proxy-wasm:main`
* `docker container create ghcr.io/corazawaf/coraza-proxy-wasm:main '/plugin.wasm'`
* `docker cp <container id>:/plugin.wasm /usr/local/var/wasm/plugin.wasm`
Copy the yaml in this directory to `/usr/local/var/wasm/` and activate the plugin in `plugin.config`
* `wasm.so /usr/local/var/wasm/plugin.yaml`
After restarting ATS, any request with `perl` as the user agent will return a status 403 response.