Coraza logo

Coraza

High-performance Go-based WAF compatible with OWASP CRS v4

Coraza delivers enterprise‑grade web application firewall protection using ModSecurity SecLang rules and full OWASP Core Rule Set v4 compatibility, with a focus on performance and extensibility.

Coraza banner

Overview

Overview

Coraza is a Go‑written web application firewall that provides enterprise‑grade security while remaining lightweight enough for any scale, from small blogs to high‑traffic sites. It runs the OWASP Core Rule Set v4 out‑of‑the‑box, offering protection against the OWASP Top Ten and many other attack categories with minimal false positives.

Audience & Deployment

Designed for developers, security engineers, and operations teams that need a programmable WAF, Coraza can be embedded directly as a Go library, used as middleware, or deployed via plugins for Caddy, Envoy (proxy‑wasm), HAProxy, and a C library for nginx. It requires Go v1.22+ and runs on Linux, Windows, or macOS. Advanced build tags let you trim binary size or adjust rule evaluation behavior for specialized environments.

Extensibility & Community

Coraza’s architecture encourages custom operators, actions, and audit loggers, enabling deep integration with SIEMs or bespoke security workflows. The project is community‑driven, accepting contributions and offering resources such as a rule‑testing playground and active Slack channel.

Highlights

Drop‑in compatibility with ModSecurity SecLang rule sets
Full OWASP CRS v4 support for comprehensive attack coverage
Extensible library with plugins for Caddy, Envoy, HAProxy, and more
High performance with minimal latency impact

Pros

  • Enterprise‑grade security using the latest OWASP CRS
  • Native Go implementation simplifies deployment and maintenance
  • Flexible integration options across multiple reverse proxies
  • Active community and extensible plugin architecture

Considerations

  • Some integrations (HAProxy, C library, RuiQi) are still experimental
  • Requires Go v1.22+ for building from source
  • Limited out‑of‑box GUI management tools
  • Advanced build‑tag configuration may need expertise

Managed products teams compare with

When teams consider Coraza, these hosted platforms usually appear on the same shortlist.

AWS WAF logo

AWS WAF

Web Application Firewall that protects web applications and APIs from common exploits and attacks by defining security rules

Azure Web Application Firewall logo

Azure Web Application Firewall

Cloud-native WAF service that protects web apps from common attacks (SQL injection, XSS) by filtering malicious HTTP/S traffic

Sophos logo

Sophos

Unified threat management and endpoint security

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Go developers building custom security middleware
  • Teams needing CRS v4 protection without ModSecurity overhead
  • High‑traffic applications that prioritize low latency
  • Organizations wanting an extensible, code‑first WAF solution

Not ideal when

  • Users requiring a ready‑made graphical management console
  • Environments that need fully stable plugins for every supported server
  • Teams without Go programming experience
  • Deployments that rely on older OWASP CRS versions

How teams use it

Embedding Coraza in a Go microservice

Provides request‑level inspection and automatic blocking of OWASP Top Ten attacks.

Caddy reverse‑proxy protection

Adds WAF capabilities to Caddy without external appliances.

Envoy sidecar with proxy‑wasm extension

Enforces CRS rules across service‑mesh traffic.

Custom audit logger integration

Streams security events to a centralized SIEM for real‑time monitoring.

Tech snapshot

Go100%

Tags

owasp-crscorerulesetweb-application-firewallwafhttpcorazagohacktoberfestmodsecuritycoraza-wafowaspgolang

Frequently asked questions

Is Coraza compatible with existing ModSecurity rule sets?

Yes, it supports SecLang rules and is fully compatible with the OWASP CRS v4.

Can I use older versions of the OWASP Core Rule Set?

Older CRS versions are not compatible; Coraza requires CRS v4.

What programming languages can I integrate Coraza with?

Coraza is a Go library, but plugins exist for Caddy, Envoy (proxy‑wasm), HAProxy, and a C library for nginx.

Do I need a specific operating system?

Coraza runs on Linux, Windows, and macOS; Linux distributions like Debian or CentOS are recommended.

How can I extend Coraza's functionality?

You can write custom operators, actions, or audit loggers via its API, and use build tags to include or exclude components.

Project at a glance

Active
Stars
3,206
Watchers
3,206
Forks
308
LicenseApache-2.0
Repo age5 years old
Last commit16 hours ago
Primary languageGo

Last synced 3 hours ago