coraza

package module
v1.2.2-0...-68a3fd9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

README

Coraza WAF Caddy Module

Tests

OWASP Coraza Caddy Module provides Web Application Firewall capabilities for Caddy.

OWASP Coraza WAF is 100% compatible with OWASP Coreruleset and Modsecurity syntax.

Plugin syntax

coraza_waf {
	directives `
		SecAction "id:1,pass,log"
	`
	include /path/to/config.conf
}

Sample usage:
Important: order coraza_waf first must be always included in your Caddyfile for Coraza module to work

{
    order coraza_waf first
}

http://127.0.0.1:8080 {
	coraza_waf {
		directives `
			SecAction "id:1,pass,log"
			SecRule REQUEST_URI "/test5" "id:2, deny, log, phase:1"
			SecRule REQUEST_URI "/test6" "id:4, deny, log, phase:3"
		`
		include file1.conf 
		include file2.conf
		include /some/path/*.conf
	}
	reverse_proxy http://192.168.1.15:8080
}

Build Caddy with Coraza WAF

Run:

xcaddy build --with github.com/corazawaf/coraza-caddy

Testing

You may run the test suite by executing:

$ git clone https://github.com/corazawaf/coraza-caddy
$ cd coraza-caddy
$ go test ./...`

Using OWASP Core Ruleset

Clone the coreruleset repository and download the default coraza configurations from Coraza repository, then add the following to you coraza_waf directive:

include caddypath/coraza.conf-recommended
include caddypath/coreruleset/crs-setup.conf.example
include caddypath/coreruleset/rules/*.conf

Known Issues

FAQ

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Coraza

type Coraza struct {
	Include    []string `json:"include"`
	Directives string   `json:"directives"`
	// contains filtered or unexported fields
}

Coraza is a Web Application Firewall implementation for Caddy.

func (Coraza) CaddyModule

func (Coraza) CaddyModule() caddy.ModuleInfo

CaddyModule returns the Caddy module information.

func (*Coraza) Provision

func (m *Coraza) Provision(ctx caddy.Context) error

Provision implements caddy.Provisioner.

func (Coraza) ServeHTTP

func (m Coraza) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error

ServeHTTP implements caddyhttp.MiddlewareHandler.

func (*Coraza) UnmarshalCaddyfile

func (m *Coraza) UnmarshalCaddyfile(d *caddyfile.Dispenser) error

Unmarshal Caddyfile implements caddyfile.Unmarshaler.

func (*Coraza) Validate

func (m *Coraza) Validate() error

Validate implements caddy.Validator.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL