diff --git a/Installation.md b/Installation.md index 31f6b14..cb35df2 100644 --- a/Installation.md +++ b/Installation.md @@ -15,5 +15,50 @@ sudo make install libcoraza.so will be installed at `/usr/local/lib` -# Configuration -1. \ No newline at end of file +## 2. Coreruleset +coreruleset is an opensource waf rules. +1. clone the repository + +`git clone https://github.com/coreruleset/coreruleset` + +## 3. lua-resty-coraza +```bash +opm get potats0/lua-resty-coraza +``` +# Synopsis + +```lua + +init_worker_by_lua_block{ + coraza = require "resty.coraza" + waf = coraza.create_waf() + -- add rule from file + coraza.rules_add_file(waf, "%s/t/coraza.conf") + + -- your corerule set, add rule from directive + coraza.rules_add(waf, "Include %s/t/coreruleset/crs-setup.conf.example") + coraza.rules_add(waf, "Include %s/t/coreruleset/rules/*.conf") +} + +location /t { + access_by_lua_block { + coraza.do_create_transaction(waf) + coraza.do_access_filter() + coraza.do_interrupt() + } + + content_by_lua_block { + ngx.say("passed") + } + + header_filter_by_lua_block{ + coraza.do_header_filter() + coraza.do_interrupt() + } + + log_by_lua_block{ + coraza.do_log() + coraza.do_free_transaction() + } +} +``` \ No newline at end of file