Coraza

Go web application firewall library with ModSecurity SecLang compatibility and no bundled rules.

Provider
default
Category
Security
Properties · 4 set by this component
propertytypevaluesrequiredkind defaultthis component
botProtectionboolean—no—▸ false
coreRuleSetInstalled · component propertyboolean—nofalseinherited
customRuleCountinteger—no—inherited
deployment · component propertyenumlibrary | caddy | envoy | nginx | proxy-wasmnolibraryinherited
managedboolean—nofalse▸ false
managedRuleSetstring—no—inherited
modeenumdetection | prevention | offno—▸ off
rateLimitingboolean—no—▸ false
ruleEngine · component propertyenumoff | detection-only | onnooffinherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "coraza", component: "coraza" }
Other Web application firewall products · 13
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Coraza: Go WAF library with partial ModSecurity SecLang compatibility, embedded as a
# middleware or proxy plugin. Per "Introduction" it ships no rules of its own; the OWASP
# Core Rule Set is loaded separately, so nothing is inspected until rules are supplied.
schemaVersion: "1"
type: "component"
id: "coraza"
kind: "waf"
provider: "default"
docs: "https://coraza.io/docs/tutorials/introduction/"
defaults:
  mode: "off"
  managed: false
  botProtection: false
  rateLimiting: false
properties:
  deployment:
    type: "enum"
    values: ["library", "caddy", "envoy", "nginx", "proxy-wasm"]
    default: "library"
  ruleEngine:
    type: "enum"
    values: ["off", "detection-only", "on"]
    default: "off"
  coreRuleSetInstalled:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/coraza.md