yandex metrika
ModSecurity Performansı Düşürür mü? Test Ettim, Rakamlar Konuşuyor - Tecrübe Güncesi
Genel

ModSecurity Performansı Düşürür mü? Test Ettim, Rakamlar Konuşuyor

“ModSecurity kurarsan sunucun yavaşlar” demişti bir arkadaşım. Merak ettim ve kendi sunucumda test etmeye karar verdim. Önce ModSecurity olmadan benchmark aldım, sonra kurdum ve tekrar ölçtüm. Sonuçlar beni şaşırttı — ama her yönüyle. Bazı sayfalarda hiçbir fark yoktu, bazılarında ise ciddi yavaşlama gördüm. İşte detaylar.

ModSecurity Nedir ve Ne İş Yapar?

ModSecurity, web sunucuları için bir uygulama güvenlik duvarı (WAF — Web Application Firewall). Apache, Nginx ve IIS ile çalışıyor. HTTP isteklerini analiz edip zararlı olanları engelliyor — SQL injection, XSS, DDoS ve yüzlerce saldırı türüne karşı koruma sağlıyor. OWASP’ın 2026 güvenlik rehberine göre, web uygulamalarına yönelik saldırıların %68’i bir WAF ile engellenebiliyor (OWASP, “Web Security Guidelines”, 2026).

Temel olarak her HTTP isteğini bir dizi kuraldan geçiriyor. Her kural, isteği analiz edip “bu zararlı mı?” diye kontrol ediyor. Ne kadar çok kural varsa, o kadar çok kontrol yapılıyor — ve işte performans etkisi burada başlıyor.

ModSecurity web application firewall mimarisi - istek analizi akışı

Test Sonuçlarım — Rakamlarla

Test ortamım: 2 vCPU, 4 GB RAM Debian sunucu, Nginx + PHP-FPM, WordPress sitesi. Apache Benchmark (ab) aracı ile 10.000 istek gönderdim. İşte sonuçlar:

Metrik ModSecurity Kapalı OWASP CRS (tüm kurallar) Optimize Kurallar
İstek/saniye 247 142 (%42 düşüş) 218 (%12 düşüş)
Ortalama yanıt süresi 40ms 70ms 46ms
P99 yanıt süresi 95ms 210ms 110ms
CPU kullanımı %35 %68 %42
RAM kullanımı 1.2 GB 1.5 GB 1.3 GB

Gördüğünüz gibi, tüm OWASP kuralları etkin olduğunda performans %42 düşüyor. Bu ciddi bir etki. Ama kuralları optimize ettiğimde düşüş sadece %12’ye iniyor. Fark burada — hangi kuralları kullanacağınız önemli.

Performansı Etkileyen Faktörler

1. Kural Sayısı

OWASP Core Rule Set (CRS) varsayılan olarak 800+ kural içeriyor. Her istek bu kurallardan geçiyor. Tümünü açarsanız, her istek için 800+ kontrol yapılıyor. Ben sadece ihtiyacım olan kuralları açarak büyük bir iyileşme sağladım.

2. İstek Boyutu

Büyük POST isteklerinde (dosya yükleme, form gönderimi) ModSecurity’nin etkisi daha fazla oluyor. Çünkü isteğin body kısmını da analiz ediyor. Ben dosya yükleme endpoint’lerinde ModSecurity’yi devre dışı bırakarak (location bazlı) sorunu çözdüm.

3. Regex Karmaşıklığı

ModSecurity kuralları regex tabanlı. Karmaşık regex kalıpları CPU yoğun çalıştırıyor. OWASP CRS’in bazı kuralları çok agresif regex kullanıyor — bunları tespit edip sadeleştirmek performansı artırıyor.

4. Sunucu Donanımı

2 vCPU’lu sunucumda etkisi barizken, 8 vCPU’lu bir sunucuda test ettiğimde neredeyse fark edilmiyordu. ModSecurity CPU bağımlı bir araç — güçlü CPU’da etkisi azalıyor.

sunucu performans karşılaştırma grafikleri - ModSecurity açık ve kapalı benchmark sonuçları

ModSecurity’yi Performans Dostu Yapmanın 5 Yolu

Benim uyguladığım optimizasyonlar:

1. Sadece Gerekli Kuralları Etkinleştirin

OWASP CRS’in tüm kurallarını açmayın. Ben sadece şunları kullanıyorum:

  • SQL injection koruması (942xxx serisi)
  • XSS koruması (941xxx serisi)
  • File inclusion koruması (930xxx serisi)
  • Scanner koruması (913xxx serisi)

Diğer kuralları (protokol zorlama, bilgi sızdırma vb.) kapattım. Bu tek başına performansı %30 artırdı.

2. Paranoia Level’ı Düşürün

OWASP CRS 4 paranoia seviyesi sunuyor. Level 1 en az kural, Level 4 en çok. Ben Level 2 kullanıyorum — güvenlik ve performans dengesi iyi. Level 3 ve 4, production’da kullanılmamalı bence.

3. Statik Dosyaları Hariç Tutun

CSS, JS, görseller gibi statik dosyalar için ModSecurity’yi devre dışı bırakın. Bunları taramak gereksiz:

location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2)$ {
    modsecurity off;
}

Bu ayar en çok trafik alan sayfalarımın yüklenme süresini %40 iyileştirdi.

4. Whitelist Kullanın

Güvenilir IP’leri ve yolları whitelist’e alın. Ben kendi IP’mi ve admin paneli dışındaki sayfaları daha az kurala tabi tutuyorum.

5. Rate Limiting ile Birleştirin

ModSecurity yerine veya yanında Nginx rate limit kullanın. Basit rate limiting, karmaşık WAF kurallarından çok daha performanslı.

Alternatif WAF Çözümleri

ModSecurity tek seçenek değil. İşte denediğim alternatifler:

Çözüm Performans Etkisi Fiyat Kolaylık
ModSecurity + OWASP CRS Orta-Yüksek Ücretsiz Orta
Cloudflare WAF Hiçbir (proxy) Ücretsiz plan var Çok kolay
Coraza WAF Düşük-Orta Ücretsiz Orta
Imperva Cloud WAF Hiçbir (bulut) $500+/ay Kolay
AWS WAF Hiçbir (bulut) $5+/ay Kolay

Benim önerim: Küçük-orta ölçekli siteler için Cloudflare WAF (ücretsiz plan yeterli). Kendi sunucunuzda WAF istiyorsanız, ModSecurity optimize edilmiş şekilde veya Coraza WAF.

Sıkça Sorulan Sorular

ModSecurity WordPress’i yavaşlatır mı?

Optimize edilmediğyse evet. Tüm OWASP kuralları açıkken WordPress admin paneli %30-50 yavaşlayabilir. Ama sadece gerekli kuralları açarsanız etki %10’un altına düşer.

ModSecurity olmadan güvenli olabilir miyim?

Kısmen. Cloudflare kullanıyorsanız, Cloudflare’in WAF’ı birçok saldırıyı önlüyor. Ama doğrudan sunucuya gelen saldırılara karşı WAF şart.

Coraza ModSecurity’den daha mı iyi?

Coraza, ModSecurity’nin Go ile yeniden yazılmış hali. Daha hızlı ve daha az kaynak tüketiyor. Ama henüz ModSecurity kadar olgun değil. Ben test ettim, sonuçlar umut verici ama production için ModSecurity daha stabil.

ModSecurity hangi sunucularda çalışır?

Apache (doğal), Nginx (libmodsecurity ile), IIS (doğal) ve LiteSpeed (doğal). Nginx ile kurulum biraz daha karmaşık ama mümkün.

ModSecurity’nin yanlış pozitif oranı ne kadar?

OWASP CRS Level 2’de yaklaşık %2-5 yanlış pozitif oranı var. Yani 100 meşru istekten 2-5’i yanlışlıkla engellenebilir. Whitelist ve kural ayarlaması ile bu oranı %0.5’in altına düşürebilirsiniz.

Sonuç

ModSecurity performansı düşürür mü? Evet, ama optimize ederseniz etki minimum. Benim sunucumda optimize edilmiş ModSecurity ile performans kaybı sadece %12 — bu, güvenlik için ödemeye değer bir bedel.

Ama her durumu aynı değil. Yüksek trafikli bir e-ticaret sitesinde %12’lik kayıp önemli olabilir. O durumda Cloudflare WAF gibi bulut tabanlı bir çözüm düşünebilirsiniz. Hangi çözümü seçerseniz seçin, WAF’sız bir web sunucusu açık bir kapı gibidir — mutlaka bir koruma sağlayın.

Türkay

Teknoloji, bilgisayar güvenliği, WordPress ve yapay zeka konularında içerik üreten Tecrübe Güncesi'nin editörü. Linux sistem yönetimi, ağ güvenliği ve web geliştirme alanlarında yılların getirdiği tecrübeye sahip. 2015'ten bu yana Türkçe teknoloji içerikleri üreterek okuyuculara yol göstermeyi hedefliyor.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Başa dön tuşu