Linux Sunucu ile ModSecurity Kuralları Optimize Etme Yolları

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ın phase:1 ve phase: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 ve SecDebugLogLevel 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.

Vps.com.tr