Teknoloji 27.06.2026

ModSecurity ve OWASP Kural Seti ile WAF Kurulumu

ModSecurity ve OWASP Kural Seti ile WAF Kurulumu

WAF (Web Application Firewall) nedir ve neden gereklidir?

Standart ağ güvenlik duvarları (firewall), sunucu portlarını kapatarak ağ trafiğini denetler. Ancak web sitelerine (port 80 ve 443) gelen isteklerin içeriğini analiz edemezler. Bilgisayar korsanları, web uygulamalarındaki (WordPress eklentileri vb.) açıkları kullanarak SQL Injection, Cross-Site Scripting (XSS) veya dosya yükleme açıkları gibi yöntemlerle sitenize sızmaya çalışırlar.

**WAF** (Web Uygulama Güvenlik Duvarı), HTTP trafiğini uygulama katmanında inceleyen bir koruma kalkanıdır. **ModSecurity**, Apache, Nginx ve IIS üzerinde çalışan dünyanın en popüler açık kaynaklı WAF motorudur. **OWASP Core Rule Set (CRS)** ile birlikte kullanıldığında bilinen web saldırılarının %95'ten fazlasını sunucu düzeyinde engeller.

Nginx üzerinde ModSecurity ve OWASP kurulumu

Debian/Ubuntu üzerinde Nginx için ModSecurity kurulum adımları şu şekildedir:

1. ModSecurity kütüphanesini kurun

sudo apt update
sudo apt install libapache2-mod-security2 -y   # Apache için doğrudan modül kurulumu

Nginx kullanıyorsanız, ModSecurity modülünü Nginx kaynak koduyla birlikte derlemeniz veya paket yöneticinizden şu modülü kurmanız gerekir:

sudo apt install libnginx-mod-http-modsecurity -y

2. ModSecurity yapılandırmasını aktif edin

ModSecurity varsayılan yapılandırma dosyasını aktif hale getirelim:

sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sudo nano /etc/modsecurity/modsecurity.conf

Dosyada yer alan SecRuleEngine DetectionOnly değerini SecRuleEngine On olarak değiştirerek güvenlik duvarını "engelleme" moduna geçirin:

SecRuleEngine On

3. OWASP kural setini (Core Rule Set) indirin

En güncel OWASP kural setini sunucunuza çekin ve yapılandırın:

cd /etc/modsecurity
sudo wget https://github.com/coreruleset/coreruleset/archive/v3.3.2.tar.gz
sudo tar -xvzf v3.3.2.tar.gz
sudo mv coreruleset-3.3.2 owasp-crs
sudo cp owasp-crs/crs-setup.conf.example owasp-crs/crs-setup.conf

4. Nginx/Apache yapılandırmasına ekleyin

ModSecurity'nin kuralları okuyabilmesi için ana yapılandırma dosyasında (`/etc/modsecurity/unicode.mapping` gibi referansların yanına) şu satırları ekleyin:

Include /etc/modsecurity/owasp-crs/crs-setup.conf
Include /etc/modsecurity/owasp-crs/rules/*.conf

Web sunucunuzu yeniden başlatarak korumayı devreye sokun:

sudo systemctl restart nginx # Veya apache2

Sık sorulan sorular

ModSecurity WordPress sitelerini engeller mi (False Positive)?

ModSecurity'nin sıkı kuralları bazen WordPress admin panelindeki normal işlemleri (dosya yükleme, yazı düzenleme vb.) saldırı olarak algılayıp engelleyebilir (Hata 403 Forbidden). Bu durumlarda sunucu log dosyası (`/var/log/nginx/error.log` veya `/var/log/modsec_audit.log`) incelenerek hatalı tetiklenen kural kimliği (Rule ID) beyaz listeye (whitelist) eklenmelidir.

ModSecurity web sunucusunu yavaşlatır mı?

Her HTTP isteği kurallarla taranacağı için milisaniyeler seviyesinde küçük bir gecikme yaşanabilir. Ancak doğru yapılandırılmış ve güncel donanıma sahip sunucularda bu fark kullanıcı tarafından hissedilmez.

QBilisim.Com

IRCd, hosting ve sunucu operasyonunu tek yerden yönet.

Kurulum, taşıma, DNS, SSL, applet ve destek süreçleri için müşteri panelinden talep oluşturabilirsin.