
Libreria firewall per applicazioni web basata su Go, compatibile con le regole ModSecurity SecLang e con l'OWASP Core Rule Set v4, che fornisce ispezione del traffico HTTP in tempo reale e blocco degli attacchi per applicazioni web e API.
Coraza - Firewall per Applicazioni Web
Coraza è un Web Application Firewall (WAF) open source, di livello enterprise e ad alte prestazioni, pronto a proteggere le tue applicazioni preferite. È scritto in Go, supporta set di regole SecLang compatibili con ModSecurity ed è 100% compatibile con OWASP Core Rule Set v4.
Caratteristiche principali:
⇲ Sostituibile - Coraza è un motore alternativo con compatibilità parziale con TrustwaveOWASP ModSecurity Engine e supporta set di regole SecLang standard del settore.
🔥 Sicurezza - Coraza esegue OWASP CRS v4 (precedentemente noto come Core Rule Set) per proteggere le tue applicazioni web da un'ampia gamma di attacchi, inclusi i primi dieci rischi OWASP, con un minimo di falsi allarmi. CRS protegge da molte categorie di attacchi comuni tra cui: SQL Injection (SQLi), Cross Site Scripting (XSS), Code Injection PHP e Java, HTTPoxy, Shellshock, Rilevamento di script/scanner/bot e perdite di metadati ed errori. Nota che le versioni precedenti di CRS non sono compatibili.
🔌 Estensibile - Coraza è una libreria al suo interno, con molte integrazioni per distribuire istanze WAF on-premise. Logger di audit, motori di persistenza, operatori, azioni: crea le tue funzionalità per estendere Coraza quanto vuoi.
🚀 Prestazioni - Dai grandi siti web ai piccoli blog, Coraza può gestire il carico con un impatto minimo sulle prestazioni. Dai un'occhiata ai nostri Benchmark
﹡ Semplicità - Chiunque è in grado di comprendere e modificare il codice sorgente di Coraza. È facile estendere Coraza con nuove funzionalità.
💬 Community - Coraza è un progetto della community, i contributi sono accettati e tutte le idee verranno prese in considerazione. Trova indicazioni per i contributori nel documento CONTRIBUTION.
Il Progetto Coraza mantiene implementazioni e plugin per i seguenti server:
Coraza può essere utilizzato come libreria per il tuo programma Go per implementare un middleware di sicurezza o integrarlo con applicazioni e webserver esistenti.
package main
import (
"fmt"
"github.com/corazawaf/coraza/v3"
)
func main() {
// First we initialize our waf and our seclang parser
waf, err := coraza.NewWAF(coraza.NewWAFConfig().
WithDirectives(`SecRule REMOTE_ADDR "@rx .*" "id:1,phase:1,deny,status:403"`))
// Now we parse our rules
if err != nil {
fmt.Println(err)
}
// Then we create a transaction and assign some variables
tx := waf.NewTransaction()
defer func() {
tx.ProcessLogging()
tx.Close()
}()
tx.ProcessConnection("127.0.0.1", 8080, "127.0.0.1", 12345)
// Finally we process the request headers phase, which may return an interruption
if it := tx.ProcessRequestHeaders(); it != nil {
fmt.Printf("Transaction was interrupted with status %d\n", it.Status)
}
}
Examples/http-server fornisce un esempio per fare pratica con Coraza.
I tag di build Go possono ottimizzare alcune funzionalità in fase di compilazione. Sono solo per casi d'uso avanzati e non offrono garanzie di compatibilità tra versioni minori - usare con cautela.