Apache ModSecurity, web uygulamalarını SQL enjeksiyonu, XSS (Cross-site scripting), dosya dahil etme saldırıları ve daha birçok güvenlik açığına karşı koruyan güçlü bir güvenlik modülüdür. Şimdi, Linux sunucunuza Apache ModSecurity’yi kurarak güvenliği nasıl artırabileceğinizi adım adım keşfetmeye başlayalım.
1. Apache ve ModSecurity’nin Temel Kurulumuna Başlamak
Apache, çoğu Linux dağıtımında bulunan en popüler web sunucularından biridir. ModSecurity ise Apache için geliştirilmiş bir web uygulama güvenlik duvarıdır. Bu yazıda, Linux üzerinde Apache ile ModSecurity’yi kurmanın ve yapılandırmanın detaylarına ineceğiz.
Apache’yi kurmadan önce, sisteminizde Apache’nin yüklü olup olmadığını kontrol edin. Eğer yüklü değilse, aşağıdaki komutla kurabilirsiniz:
sudo apt update
sudo apt install apache2
Adım 2: Apache’nin Çalıştığını Kontrol Edin
Apache’nin doğru şekilde çalıştığından emin olmak için şu komutu kullanarak servis durumunu kontrol edebilirsiniz:
sudo systemctl status apache2
Eğer Apache çalışıyorsa, web tarayıcınızda sunucu IP adresine giderek Apache’nin varsayılan sayfasını görebilirsiniz.
2. ModSecurity Modülünü Kurma
Şimdi sıra, Apache web sunucumuza ModSecurity’yi kurmaya geldi. ModSecurity, hem proxy hem de web uygulama güvenlik duvarı olarak çalışır. ModSecurity modülünü yüklemek için aşağıdaki adımları takip edin.
ModSecurity, resmi depolarda mevcuttur. ModSecurity’yi kurmak için şu komutu kullanabilirsiniz:
sudo apt install libapache2-mod-security2
Adım 2: ModSecurity’yi Etkinleştirme
ModSecurity yüklendikten sonra, modülü etkinleştirmek için şu komutu kullanın:
sudo a2enmod security2
Ardından, Apache’yi yeniden başlatın:
sudo systemctl restart apache2
3. ModSecurity Yapılandırması
ModSecurity yüklendikten sonra, yapılandırmaya geçelim. ModSecurity’nin varsayılan yapılandırması çoğu kullanıcı için yeterli olsa da, daha fazla özelleştirme yapmak isteyenler için bazı ayarlamalar yapabiliriz.
ModSecurity’nin yapılandırma dosyası genellikle şu dosyada bulunur:
/etc/modsecurity/modsecurity.conf
Bu dosyada, güvenlik duvarı kurallarını ve diğer ayarları yapılandırabilirsiniz.
Adım 2: ModSecurity’yi "Detection Only" Modunda Çalıştırmak
ModSecurity’yi "Detection Only" (Sadece Tespit Et) modunda çalıştırarak, güvenlik olaylarını tespit edebilir ve log dosyalarında izleyebilirsiniz. Bunu yapmak için yapılandırma dosyasındaki şu satırı değiştirin:
SecRuleEngine DetectionOnly
Bu, saldırı tespitini etkinleştirir ancak saldırıları engellemez. ModSecurity’yi ilk defa kullanıyorsanız, bu ayar güvenliği izlemeniz açısından faydalı olabilir.
Adım 3: ModSecurity Kurallarını Yüklemek
ModSecurity, temel güvenlik kurallarına sahip olsa da, OWASP (Open Web Application Security Project) gibi kaynaklardan gelen gelişmiş güvenlik kurallarını da yüklemek oldukça önemlidir. Aşağıdaki komutla OWASP ModSecurity Core Rule Set (CRS) kurallarını yükleyebilirsiniz:
sudo apt install modsecurity-crs
Kuralları yükledikten sonra, yapılandırma dosyanızda bu kuralların etkin olduğundan emin olun.
Adım 4: Apache’yi Yeniden Başlatın
Yapılandırma değişikliklerinizi etkinleştirmek için Apache’yi yeniden başlatmanız gerekecek:
sudo systemctl restart apache2
4. ModSecurity'yi Test Etme
ModSecurity’yi kurup yapılandırdıktan sonra, düzgün çalışıp çalışmadığını test etmek önemlidir. Apache log dosyalarını kontrol ederek, ModSecurity'nin saldırıları tespit edip etmediğini görebilirsiniz.
SQL injection gibi bir saldırıyı test etmek için web sunucunuza bir test istek gönderin. Örneğin, URL’nize aşağıdaki gibi bir sorgu ekleyebilirsiniz:
http://your-server.com/index.php?id=1' OR 1=1
Eğer ModSecurity düzgün bir şekilde çalışıyorsa, bu tür saldırıları tespit eder ve Apache loglarında bir uyarı mesajı görüntüler.
Test Etme Yöntemi 2: Log Dosyalarını İnceleme
ModSecurity’nin tespit ettiği saldırılar, Apache loglarında yer alacaktır. Log dosyasını kontrol etmek için şu komutu kullanabilirsiniz:
sudo cat /var/log/apache2/error.log
Eğer her şey doğru şekilde yapılandırılmışsa, bu dosyada güvenlik ihlali tespitleri görebilirsiniz.