Web Sunucusu Güvenliği: İlk Adım ModSecurity
Bir web sitesi sahibi olarak, güvenliğinizi ihmal etmek istemezsiniz. Özellikle internette her geçen gün artan tehditlere karşı web sunucunuzun korunması kritik önem taşır. Apache, internet dünyasında en çok tercih edilen web sunucularından biri ve ModSecurity ise bu sunucuya eklenebilecek en güçlü güvenlik modüllerinden biridir.
Bugün, Apache üzerinde ModSecurity kurulumunu ve yapılandırmasını ele alacağız. Adım adım ilerleyecek ve her detayı sizinle paylaşacağız. Hazırsanız başlayalım!
ModSecurity Nedir ve Neden Kullanmalıyız?
ModSecurity, web uygulamaları için bir güvenlik duvarı gibi çalışan ve Apache web sunucusuna entegre edilen bir modüldür. Web uygulamalarını çeşitli saldırılara karşı korur; SQL enjeksiyonları, XSS (Cross-Site Scripting) gibi saldırılar ModSecurity tarafından engellenebilir. ModSecurity, Apache'nin güvenliğini artırır ve web sunucusu üzerinde tam denetim sağlar.
ModSecurity Kurulumu
Şimdi gelin, Linux üzerinde Apache web sunucusuna ModSecurity'yi nasıl kuracağımıza bakalım. Bu işlemi adım adım açıklayacağız, endişelenmeyin, her şey çok basit!
1. Apache'yi Güncelleyin
ModSecurity'yi kurmadan önce, sisteminizin güncel olduğundan emin olmalısınız. Aşağıdaki komutla Apache ve sisteminizi güncelleyebilirsiniz:
sudo apt update && sudo apt upgrade
2. ModSecurity Paketlerini Kurun
Şimdi ModSecurity'yi sistemimize kuracağız. Apache için ModSecurity'nin en son sürümünü yüklemek için şu komutu kullanabilirsiniz:
sudo apt install libapache2-mod-security2
Kurulum tamamlandıktan sonra, Apache'yi yeniden başlatmayı unutmayın:
sudo systemctl restart apache2
ModSecurity Yapılandırması
Kurulumun ardından ModSecurity'nin aktif olduğundan emin olmamız gerekiyor. ModSecurity, varsayılan olarak kapalı gelebilir, bu nedenle yapılandırma dosyasını düzenleyerek etkinleştirmemiz gerekir.
1. ModSecurity’yi Etkinleştirme
İlk olarak, ModSecurity yapılandırma dosyasını açalım:
sudo nano /etc/apache2/mods-enabled/security2.conf
Bu dosyada, aşağıdaki satırı bulun:
SecRuleEngine DetectionOnly
Ve bu satırı şu şekilde değiştirin:
SecRuleEngine On
Bu işlem, ModSecurity'yi aktif hale getirecektir. Yapılandırmayı kaydedin ve dosyayı kapatın.
2. Varsayılan Güvenlik Kurallarını Yükleme
ModSecurity, varsayılan güvenlik kuralları olmadan yalnızca temel koruma sağlar. Şimdi, en yaygın saldırılara karşı korunabilmeniz için OWASP Core Rule Set (CRS) gibi güvenlik kurallarını eklemelisiniz.
OWASP CRS’yi kurmak için şu komutları izleyin:
sudo apt install modsecurity-crs
ModSecurity'nin kuralları etkinleştirmek için aşağıdaki komutu kullanarak Apache'yi yeniden başlatın:
sudo systemctl restart apache2
Test Etme ve ModSecurity'yi Doğrulama
Artık her şey kurulu ve yapılandırılmış durumda. ModSecurity'yi test edebiliriz.
1. ModSecurity’nin Çalıştığını Kontrol Etme
Apache’yi yeniden başlattıktan sonra, ModSecurity’nin düzgün çalışıp çalışmadığını kontrol edebilirsiniz. ModSecurity loglarını kontrol etmek için aşağıdaki komutu kullanın:
tail -f /var/log/apache2/modsec_audit.log
Bu komut, ModSecurity tarafından kaydedilen olayları gösterir. Eğer burada herhangi bir güvenlik uyarısı veya saldırı tespiti görüyorsanız, her şey yolunda demektir!
Özel Güvenlik Kuralları ve İleri Düzey Yapılandırmalar
ModSecurity, yalnızca varsayılan kurallarla sınırlı değildir. İhtiyacınıza göre özel güvenlik kuralları yazabilir ve yapılandırmalarınızı özelleştirebilirsiniz. Örneğin, belirli IP adreslerinden gelen istekleri engellemek ya da belirli URL parametrelerine karşı daha sıkı denetim uygulamak gibi.
Özel kurallar eklemek için şu adımları izleyebilirsiniz:
1. Yeni Kurallar Oluşturun
Yeni bir güvenlik kuralı eklemek için aşağıdaki örnek gibi bir dosya oluşturabilirsiniz:
sudo nano /etc/modsecurity/custom_rules.conf
Örnek bir kural:
SecRule ARGS|ARGS_NAMES "@rx select.+from" "id:100001,phase:2,deny,status:403,msg:'SQL Injection Attempt'"
Bu kural, SQL enjeksiyonuna karşı koruma sağlar.
2. ModSecurity Yapılandırma Dosyasına Dahil Edin
Yeni kurallarınızı yapılandırma dosyasına dahil etmek için aşağıdaki satırı `security2.conf` dosyasına ekleyin:
Include /etc/modsecurity/custom_rules.conf
Sonrasında Apache'yi yeniden başlatın.
sudo systemctl restart apache2
Sonuç
Apache üzerinde ModSecurity kurulumunu ve yapılandırmasını başarıyla tamamladık! Artık web sunucunuz, çeşitli saldırılara karşı çok daha güvenli bir hale geldi. ModSecurity ile güvenlik açıklarını minimize edebilir, web uygulamalarınızı koruyabilirsiniz. Unutmayın, web güvenliği sürekli bir süreçtir; bu nedenle kurallarınızı ve yapılandırmalarınızı düzenli olarak gözden geçirmeyi unutmayın.