Apache Web Sunucusunda ModSecurity ile Web Uygulama Güvenlik Duvarı (WAF) Kurulumu 🛡️

devster

Üye
Katılım
14 Mart 2026
Mesajlar
2
Apache Web Sunucusunda ModSecurity ile Web Uygulama Güvenlik Duvarı (WAF) Kurulumu 🛡️

Selam sistemciler! 🖥️ Bugün, web sunucularımızın kapısına sağlam bir bekçi dikmenin tam zamanı. Hepimiz Nginx'in popülerliğini biliyoruz, ama klasik ve güçlü dostumuz Apache de güvenlik konusunda asla hafife alınmamalı. Özellikle de ModSecurity gibi bir eklentiyle birleştiğinde! Eğer sunucunuzda Apache çalıştırıyorsanız ve ekstra bir güvenlik katmanı arıyorsanız, doğru yerdesiniz.

ModSecurity Nedir ve Neden Önemli?

ModSecurity, Apache (ve Nginx/IIS) için açık kaynaklı, çapraz platform bir Web Uygulama Güvenlik Duvarı (WAF) modülüdür. Temel işlevi, HTTP(S) trafiğini gerçek zamanlı olarak izlemek, analiz etmek ve olası saldırıları engellemektir. SQL Enjeksiyonu, Siteler Arası Komut Dosyası Çalıştırma (XSS), Dosya Ekleme gibi OWASP Top 10 açıklarına karşı proaktif bir kalkan görevi görür. 🛡️

Adım Adım Kurulum (Ubuntu/Debian Örneği)

1. Güncellemeler ve Gerekli Paketler: İşe her zamanki gibi paket listesini güncelleyerek başlıyoruz.
Bash:
    sudo apt update && sudo apt upgrade -y
    sudo apt install apache2 libapache2-mod-security2 -y

2. ModSecurity'yi Etkinleştirme: Modül genellikle kurulumla birlikte gelir, ama etkin olduğundan emin olalım.
Bash:
    sudo a2enmod security2
    sudo systemctl restart apache2

3. OWASP Core Rule Set (CRS) Kurulumu: ModSecurity'nin asıl gücü, onu yöneten kurallardan gelir. En güncel ve etkili kurallar OWASP CRS'dir. Bunu kural dizini olarak kullanacağız.
Bash:
    # Önce mevcut örnek kuralları yedekleyip kaldıralım
    sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
    sudo rm -rf /usr/share/modsecurity-crs

    # OWASP CRS'yi GitHub'dan klonlayalım
    sudo apt install git -y
    sudo git clone https://github.com/coreruleset/coreruleset /usr/share/modsecurity-crs
    cd /usr/share/modsecurity-crs
    sudo mv crs-setup.conf.example crs-setup.conf
    sudo mv rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf

4. Apache'yi OWASP Kuralları ile Yapılandırma: Şimdi Apache'ye bu kuralları nerede bulacağını ve nasıl uygulayacağını söyleyelim.
`/etc/apache2/mods-enabled/security2.conf` dosyasını düzenleyin. İçeriğini aşağıdaki gibi yapılandırabilirsiniz:
Kod:
    <IfModule security2_module>
        SecDataDir /var/cache/modsecurity
        IncludeOptional /usr/share/modsecurity-crs/crs-setup.conf
        IncludeOptional /usr/share/modsecurity-crs/rules/*.conf
    </IfModule>

5. ModSecurity Yapılandırmasını Ayarlama: `/etc/modsecurity/modsecurity.conf` dosyasında iki kritik ayar var:
Kod:
    # Denetim (Loglama) modundan Engelleme moduna geçiş yapın:
    SecRuleEngine On
    # Hata ayıklama seviyesini makul bir seviyeye çekin (0 veya 1 önerilir):
    SecDebugLogLevel 0

6. Apache'yi Yeniden Başlatma ve Test:
Bash:
    sudo systemctl restart apache2
Kurulumun çalıştığını test etmek için tarayıcınızdan `
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
<script>alert('test')</script>` gibi basit bir XSS test sorgusu gönderin. Apache'niz 403 Forbidden hatası vermelidir. ✅

Temel Optimizasyon ve Yanlış Pozitifleri Yönetme

ModSecurity, özellikle CRS ile birlikte, bazen meşru trafiği de engelleyebilir (yanlış pozitif). Bu durumda panik yapmayın! ⚙️

  • Öncelikle Apache hata loglarını (`/var/log/apache2/error.log` veya `modsec_audit.log`) kontrol edin. Hangi kuralın (ör. `id:942100`) tetiklendiğini göreceksiniz.
  • Engeli kaldırmak için, `/usr/share/modsecurity-crs/rules/` altındaki ilgili `REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf` dosyasına kuralı devre dışı bırakacak satırları ekleyebilirsiniz. Örneğin, belirli bir kural ID'sini belirli bir yol için devre dışı bırakmak:
    Kod:
        SecRuleRemoveById 942100
    *Dikkat:* Kuralları tamamen devre dışı bırakmak yerine, sadece belirli bir uygulama veya parametre için geçersiz kılmak daha güvenlidir.
  • Performans için, statik dosya dizinlerinde (resim, css, js) ModSecurity'yi kapatabilirsiniz. Apache `<Directory>` direktifi içinde `SecRuleEngine Off` diyerek bunu yapabilirsiniz.

Son Sözler

ModSecurity, Apache sunucunuz için güçlü ve esnek bir zırh sağlar. Başlangıçta biraz yanlış pozitif alarmla uğraşmanız gerekse de, bu, güvenliğin doğal bir parçasıdır. Önce SecRuleEngine DetectionOnly modunda (sadece logla, engelleme) test etmeniz, kurallara alıştıktan sonra tam korumaya geçmeniz önerilir.

Unutmayın, güvenlik tek seferlik bir kurulum değil, sürekli bir süreçtir. OWASP CRS kuralları düzenli güncellenir, bu yüzden klonladığınız repo'yu periyodik olarak güncellemeyi (`git pull`) ihmal etmeyin. 🌐

Peki ya siz? Apache + ModSecurity kullanıyor musunuz? Karşılaştığınız en ilginç saldırı girişimi veya çözmekte zorlandığınız bir yanlış pozitif durumu oldu mu? Yorumlarda deneyimlerinizi paylaşın, birlikte öğrenelim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri