Apache ModSecurity Kurulumu: Web Uygulamanızı Ücretsiz WAF ile Koruyun 🛡️

pixero

Üye
Katılım
14 Mart 2026
Mesajlar
6
Apache ModSecurity Kurulumu: Web Uygulamanızı Ücretsiz WAF ile Koruyun 🛡️

Selam sistemciler! 🖥️ Bugün, özellikle paylaşımlı hosting'ten VPS/dedike sunucuya geçen ve "güvenliği ben nasıl sağlayacağım?" diye düşünen arkadaşlar için harika bir konuya değiniyoruz: ModSecurity.

ModSecurity, Apache web sunucunuzun önüne ücretsiz, açık kaynak kodlu ve son derece güçlü bir Web Uygulama Güvenlik Duvarı (WAF) kurmanızı sağlayan bir modüldür. SQL Injection, Cross-Site Scripting (XSS), kötü niyetli bot taramaları gibi yaygın web saldırılarını gerçek zamanlı olarak tespit edip engeller. Kısacası, sitenizin kapısına profesyonel bir güvenlik görevlisi dikmek gibidir. Hadi başlayalım!

1. Adım: Ön Hazırlık ve ModSecurity'yi Kurma

Öncelikle, güncel bir Ubuntu/Debian sunucunuz olduğunu ve Apache'nin kurulu olduğunu varsayıyorum. Terminali açıp ilk iş paket listemizi güncelleyelim.

Bash:
sudo apt update

Şimdi, ModSecurity modülünü ve onunla birlikte gelecek temel kural setini (Core Rule Set - CRS) kuralım.

Bash:
sudo apt install libapache2-mod-security2 modsecurity-crs

Kurulum tamamlandığında, ModSecurity modülünün Apache'de etkinleştiğinden emin olalım.

Bash:
sudo a2enmod security2
sudo systemctl restart apache2

2. Adım: Yapılandırma Dosyalarını Hazırlama

ModSecurity, varsayılan olarak sadece "tespit" (DetectionOnly) modunda çalışır. Yani saldırıları loglar ama engellemez. Biz onu "engelleyici" moda alacağız ve güncel kuralları kullanacağız.

Öncelikle, örnek konfigürasyon dosyasını asıl konfigürasyon dosyamız olarak kopyalayalım.

Bash:
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Şimdi, bu dosyayı düzenlemek için nano veya favori editörünüzü kullanabilirsiniz.

Bash:
sudo nano /etc/modsecurity/modsecurity.conf

Bu dosyada bulup değiştirmemiz gereken iki kritik satır var:
  • `SecRuleEngine DetectionOnly` satırını `SecRuleEngine On` olarak değiştirin. (Artık engelleme yapacak!)
  • `SecAuditLogParts` satırının başındaki `#` işaretini kaldırarak yorum satırı olmaktan çıkarın. Bu, log kayıtlarının daha detaylı olmasını sağlar.

Değişikliklerden sonra dosyayı kaydedip kapatın (Ctrl+X, sonra Y, sonra Enter).

3. Adım: Güncel OWASP Core Rule Set (CRS) Kurallarını Yapılandırma

Kurduğumuz `modsecurity-crs` paketi biraz eski kurallar içerebilir. En güncel ve etkili kurallar için OWASP CRS'nin GitHub'dan çekilmesi daha iyidir. Ancak bu yazıda kurulu paket üzerinden devam edeceğiz. Kuralların dizin yapısını Apache'nin anlayacağı şekilde ayarlayalım.

Önce eski sembolik bağlantıyı silelim ve kurallar dizinimize gidelim.

Bash:
sudo rm /etc/apache2/mods-enabled/security2.conf
sudo ln -s /usr/share/modsecurity-crs/modsecurity.conf /etc/apache2/mods-enabled/security2.conf

Şimdi, CRS kurallarını etkinleştirelim. Örnek kural dosyalarını aktif kural dosyalarına kopyalayacağız.

Bash:
sudo cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf
sudo cp /usr/share/modsecurity-crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example /usr/share/modsecurity-crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf

Son adım olarak, Apache'nin ModSecurity konfigürasyonunu bu kuralları içerecek şekilde güncelleyelim. `/etc/apache2/mods-enabled/security2.conf` dosyasını düzenleyelim.

Bash:
sudo nano /etc/apache2/mods-enabled/security2.conf

Dosyanın içeriğini aşağıdaki gibi yapılandırın:

Kod:
<IfModule security2_module>
    SecDataDir /var/cache/modsecurity
    Include /usr/share/modsecurity-crs/crs-setup.conf
    Include /usr/share/modsecurity-crs/rules/*.conf
</IfModule>

4. Adım: Apache'yi Yeniden Başlatma ve Test Etme

Tüm değişiklikler bitti! Şimdi Apache'yi yeniden başlatarak ModSecurity'yi tam güçle çalıştıralım. ⚙️

Bash:
sudo systemctl restart apache2

Test etmek için basit bir yöntem: Tarayıcınızdan web sitenize `/?id=1' OR '1'='1` gibi basit bir SQL Injection payload'ı ekleyerek gidin. Eğer bir `403 Forbidden` (Erişim Engellendi) hatası alıyorsanız, ModSecurity çalışıyor ve saldırıyı engelliyor demektir! 🎉

Logları kontrol etmek isterseniz:
Bash:
sudo tail -f /var/log/apache2/modsec_audit.log

Önemli Uyarı ve İpuçları
  • False Positive (Yanlış Pozitif): ModSecurity, özellikle ilk başlarda, bazı meşru trafiği de (özellikle özel formlarınız, WordPress eklentileri) engelleyebilir. Panik yok! `REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf` dosyasına, kendi siteniz için kural istisnaları yazarak bu sorunu çözebilirsiniz.
  • Performans: WAF kuralları CPU kullanımını bir miktar artırabilir. Sunucu kaynaklarınızı izlemeyi unutmayın.
  • Güncelleme: OWASP CRS kuralları sürekli güncellenir. GitHub deposunu takip edip kuralları periyodik olarak güncellemeniz güvenliğiniz için çok önemlidir.

İşte bu kadar! Artık Apache sunucunuz, temel web saldırılarına karşı çok daha güçlü bir korumaya sahip. 🛡️

Siz sunucularınızda güvenlik için hangi araçları veya yöntemleri kullanıyorsunuz? Özellikle ModSecurity ile yaşadığınız ilginç false positive vakaları veya kuralları nasıl incelttiğiniz konusunda deneyimlerinizi paylaşın, hep 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