ModSecurity Nedir ve Neden Apache İçin Önemlidir?
ModSecurity, Apache, Nginx ve IIS gibi web sunucuları için güçlü bir güvenlik modülüdür. Temel amacı, gelen HTTP isteklerini inceleyerek, potansiyel olarak tehlikeli olanları engellemektir. Web uygulama saldırıları, özellikle SQL enjeksiyonları, XSS (Cross-Site Scripting) ve diğer zararlı girişler, web sitelerinin en büyük düşmanlarıdır. ModSecurity, bu tür saldırılara karşı bir kalkan görevi görür.
Adım Adım Apache ModSecurity Kurulumu
Linux sunucusunda Apache ve ModSecurity'yi kurmak için aşağıdaki adımları takip edebilirsiniz. Hadi başlayalım!
1. Apache Web Sunucusunun Yüklü Olduğundan Emin Olun
Eğer Apache yüklü değilse, ilk adım olarak Apache'yi kurmanız gerekecek. Aşağıdaki komutla Apache'yi kurabilirsiniz:
sudo apt update
sudo apt install apache2
2. ModSecurity Modülünü Yükleme
Apache için ModSecurity modülünü yüklemek için aşağıdaki komutları kullanabilirsiniz:
sudo apt install libapache2-mod-security2
Yukarıdaki komut, ModSecurity'nin Apache ile uyumlu olan sürümünü yükleyecektir. Yükleme tamamlandığında, Apache'yi yeniden başlatarak ModSecurity'yi etkinleştirebilirsiniz.
sudo systemctl restart apache2
3. ModSecurity'nin Etkinleştirilmesi
ModSecurity'yi etkinleştirmek için aşağıdaki adımları izleyebilirsiniz. ModSecurity, varsayılan olarak "Detection Only" modunda çalışır, yani yalnızca saldırıları tespit eder fakat engellemez. Gerçekten etkili olabilmesi için "Enforcement" moduna geçmeniz gerekmektedir. Bunun için modsecurity.conf dosyasını düzenlemeniz yeterli.
Dosyayı açın ve aşağıdaki satırları ekleyin:
sudo nano /etc/modsecurity/modsecurity.conf-recommended
İçeride, şu satırı bulun:
SecRuleEngine DetectionOnly
Ve şu şekilde değiştirin:
SecRuleEngine On
4. Web Uygulaması Güvenlik Kurallarını Eklemek
ModSecurity'yi daha da güçlü hale getirebilmek için, OWASP'ın (Open Web Application Security Project) hazırladığı Core Rule Set (CRS) gibi güvenlik kurallarını yüklemek önemlidir. CRS, ModSecurity'nin web uygulamanıza yönelik tehditleri daha etkin bir şekilde tespit etmesine yardımcı olur.
Core Rule Set'i kurmak için şu komutları izleyin:
sudo apt install modsecurity-crs
Kurulum tamamlandıktan sonra, Apache'yi yeniden başlatın:
sudo systemctl restart apache2
ModSecurity Yapılandırması ve Özelleştirme
ModSecurity'yi kurduktan sonra, modülün davranışını yapılandırmak da önemlidir. ModSecurity, web sitenizin trafik türüne göre özelleştirilebilir. Örneğin, bazı false positive’leri (yanlış alarm) engellemek için belirli kuralları devre dışı bırakabilirsiniz. Bu tür özelleştirmeler, web uygulamanızın güvenliğini etkileyen saldırılara karşı korunmanızı sağlar.
Örnek Özelleştirme
Aşağıdaki satır, belirli bir kuralı devre dışı bırakmanızı sağlar:
SecRuleRemoveById 12345
Bu komut, ID’si 12345 olan kuralı devre dışı bırakır. Ayrıca, log dosyalarını inceleyerek, hangi kuralların neden false positive ürettiğini belirleyebilirsiniz.
ModSecurity Güncellemeleri ve İzleme
ModSecurity'nin etkinliğini sürekli olarak izlemek, web uygulamanızın güvenliğini korumanın anahtarıdır. Apache’nin log dosyalarını kontrol ederek, ModSecurity'nin tespit ettiği saldırıları inceleyebilirsiniz. Log dosyasına erişmek için:
sudo tail -f /var/log/apache2/modsec_audit.log
Bu dosya, ModSecurity’nin tüm etkinliklerini ve tespit ettiği saldırıları içerir.
Sonuç
Linux üzerinde Apache kullanıyorsanız, ModSecurity'yi kurarak web uygulamanızı güvence altına almanız çok önemlidir. Adım adım kurulum süreci, Apache sunucusunuza güçlü bir güvenlik katmanı ekleyecektir. Unutmayın, web güvenliği her zaman dinamik bir süreçtir. Kurulum ve yapılandırma tamamlandıktan sonra, ModSecurity'yi düzenli olarak güncellemeyi ihmal etmeyin. Web uygulamanızda gerçekleşebilecek her türlü saldırıya karşı hazırlıklı olmanız, kullanıcılarınızın güvenliğini korumanın anahtarıdır.