WAF motoru (Coraza, ModSecurity), OWASP CRS Paranoia Level ve uygulama türünüze göre istek başına eklenen gecikmeyi ve engellenebilecek masum istek oranını simüle edin.
OWASP CRS kuralları her şüpheli modelde anomali puanı ekler. İsteklerin doğrudan engellenmesi yerine toplam puan 5'e ulaştığında HTTP 403 verilmesi gereksiz engellemeleri önler.
# Caddyfile (Coraza WAF & OWASP CRS v4)
example.com {
coraza {
directives `
Include @coraza.conf-recommended
SecRuleEngine On
SecAction \
"id:900000,\
phase:1,\
nolog,\
pass,\
setvar:tx.paranoia_level=1,\
setvar:tx.inbound_anomaly_score_threshold=5"
Include @owasp_crs/*.conf
`
}
reverse_proxy localhost:3000
}Yıllardır Apache ve Nginx ortamlarında standart olarak kullanılan C++ tabanlı ModSecurity v3, günümüz bulut bilişim ve mikroservis mimarilerinde bakım zorluğu ve bellek sızıntısı riskleriyle eskimeye yüz tutmuştur. Go diliyle sıfırdan yazılan açık kaynaklı Coraza WAF, Caddy sunucusunda yerel olarak ve Envoy Proxy-WASM üzerinden mikroservis seviyesinde mikrosaniye düzeyinde gecikmeyle OWASP CRS v4 kurallarını çalıştırabilmektedir.
OWASP Core Rule Set (CRS), 1'den 4'e kadar Paranoia Level (PL) sunar:
PL1 (Varsayılan): Neredeyse sıfır yanlış pozitif (~%0.15), SQLi, XSS ve RCE için sağlam temel savunma.
PL2 (Gelişmiş): Ambiguous byte encoding ve karmaşık saldırı vektörleri denetimi. (~%2 yanlış alarm).
PL3 (Yüksek Risk / Finans): Çok katı regex kontrolleri. Özel kural istisnaları (Rule Exclusions) olmadan WordPress veya Next.js sitelerini bozabilir.
PL4 (Sıfır Tolerans): Yalnızca askeri ve aşırı hassas uç noktalarda kullanılır. Normal kullanıcıların üçte birini yanlışlıkla engelleyebilir.
Modern WAF yapılandırmalarında tek bir kural eşleştiğinde isteği anında düşürmek yerine (traditional mode), her şüpheli kuralın anomali puanı toplanır. Gelen istek skoru eşik değerini (varsayılan 5) aştığında engelleme gerçekleşir. Bu sayede hafif bir istisna nedeniyle masum kullanıcıların siteye erişiminin engellenmesi önlenir.