ModSecurity, Apache, Nginx ve IIS gibi popüler web sunucuları için kullanılan açık kaynaklı bir Web Uygulama Güvenlik Duvarı (WAF) modülüdür. Linux sunucularda sıklıkla kullanılan bu araç, kötü amaçlı istekleri engellemek, güvenlik açıklarını tespit etmek ve loglamak için güçlü kurallar setleriyle çalışır. Ancak kuralların yanlış yapılandırılması, performans kayıplarına veya meşru trafiğin engellenmesine yol açabilir. Bu nedenle, mod_security kurallarının optimize edilmesi kritik öneme sahiptir.
1. Kural Setlerini İhtiyaca Göre Seçin
Varsayılan olarak OWASP ModSecurity Core Rule Set (CRS) kullanılır. Ancak her siteye tüm kurallar gerekmez. Gereksiz kuralları kapatmak performansı artırır.
- Yapılacak:
/usr/local/owasp-modsecurity-crs/rules/
dizinindeki kuralları ihtiyaca göre etkinleştirin. - Örnek:
Yalnızca SQL injection veya XSS koruması gerekiyorsa sadece ilgili kuralları bırakın.
2. Kural Önceliklerini Belirleyin
Kuralların işlenme sırasını ve önceliklerini yapılandırarak kritik güvenlik kontrollerini önce uygulamak, sistem kaynaklarını daha verimli kullanmanızı sağlar.
- Yapılacak:
Kurallarınphase:1
vephase:2
yapılandırmaları dikkatle ayarlanmalı.
3. Whitelist (Beyaz Liste) Tanımlamaları Kullanın
Özellikle belirli API endpoint’leri ya da admin paneller için bazı kuralları atlamak, hem performansı artırır hem de yanlış pozitifleri önler.
- Örnek:
SecRule REQUEST_URI "@beginsWith /api/" "id:1001,phase:1,pass,nolog,ctl:ruleEngine=Off"
4. Kendi Özel Kurallarınızı Yazın
Hazır gelen kurallar tüm uygulamalar için ideal değildir. Kendi uygulamanızın davranışına uygun özel kurallar yazarak daha hassas güvenlik politikaları uygulayabilirsiniz.
- Araçlar:
SecRule
,SecAction
,SecMarker
direktifleri kullanılır.
5. Log Seviyesini ve Formatını Optimize Edin
Aşırı log üretimi disk I/O’sunu zorlayabilir. Gerekli seviyede log alınması ve formatların sadeleştirilmesi önemlidir.
- Yapılacak:
SecAuditLogParts
veSecDebugLogLevel
ayarlarını optimize edin.
6. Performans için Multithread Desteğini Kullanın
Nginx ya da Apache’nin event tabanlı MPM (multi-processing module) yapılandırması, mod_security ile uyumlu hale getirildiğinde CPU tüketimi azalır.
7. Kuralları Test Ortamında Deneyin
Doğrudan canlı sistemde değişiklik yapmak yerine staging ortamında test ederek yanlış pozitiflerin önüne geçebilirsiniz.
- Yapılacak:
SecRuleEngine DetectionOnly
modunda kurallar test edilir, loglara göre gerçek mod aktif edilir.
8. Güncel Kalın ve Kuralları İzleyin
ModSecurity ve CRS güncellemeleri düzenli olarak takip edilmeli. Ayrıca audit.log
üzerinden hangi kuralların en çok çalıştığını analiz ederek gereksizleri devre dışı bırakabilirsiniz.
Sonuç
ModSecurity, doğru şekilde optimize edildiğinde hem saldırılara karşı etkili koruma sağlar hem de sistem performansını olumsuz etkilemez. Gereksiz kuralların ayıklanması, özel kuralların yazılması ve log yönetimi gibi adımlar, Linux sunucu güvenliğini profesyonel düzeye taşır.