Gelin, Apache ModSecurity'yi Linux'ta nasıl kurup yapılandıracağınızı adım adım keşfedelim.
1. Apache ve ModSecurity'nin Kurulumu
İlk adımda, Apache sunucusunun ve ModSecurity'nin kurulu olması gerekmektedir. Eğer Apache yüklü değilse, aşağıdaki komutlarla Apache'yi kurabilirsiniz:
sudo apt-get update
sudo apt-get install apache2
```
Apache'nin düzgün bir şekilde kurulduğundan emin olduktan sonra, ModSecurity'yi yüklemek için aşağıdaki adımları takip edelim:
```bash
sudo apt-get install libapache2-mod-security2
```
Kurulum sırasında ModSecurity’nin en son sürümünü elde etmiş olursunuz. Eğer başka bir sürüm veya daha eski bir sürüm istiyorsanız, ilgili depo ayarlarını değiştirebilirsiniz.
2. ModSecurity'yi Etkinleştirme
ModSecurity'yi kurduktan sonra, modülün etkin olup olmadığını kontrol etmek önemlidir. Apache üzerinde modülün çalıştığından emin olmak için şu komutları kullanabilirsiniz:
sudo a2enmod security2
sudo systemctl restart apache2
```
Bu komutlar ModSecurity'yi aktif hale getirecek ve Apache'yi yeniden başlatacaktır.
3. Temel Yapılandırma
ModSecurity kurulduktan sonra, konfigürasyon dosyasını düzenlemelisiniz. ModSecurity'nin yapılandırma dosyasının varsayılan yolu şu şekildedir:
/etc/modsecurity/modsecurity.conf-recommended
```
Bu dosyayı modsecurity.conf adıyla kopyalayarak etkinleştirebilirsiniz:
```bash
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
```
Şimdi yapılandırma dosyasını düzenleyelim. Aşağıdaki satırları bulup SecRuleEngine On satırının aktif olduğundan emin olun:
```bash
SecRuleEngine On
```
Eğer SecRuleEngine Off ise, bu satırı değiştirin ve dosyayı kaydedin.
4. OWASP ModSecurity Core Ruleset (CRS) Kurulumu
ModSecurity'nin en önemli avantajlarından biri, kullanıcıların hazır güvenlik kuralları setlerini (Core Rule Set - CRS) kullanabilmesidir. Bu kuralları yüklemek için aşağıdaki komutları kullanabilirsiniz:
cd /usr/local/src
sudo git clone https://github.com/coreruleset/coreruleset.git
sudo mv coreruleset /etc/modsecurity/
```
Daha sonra, Apache konfigürasyon dosyasını açarak CRS'yi etkinleştirelim. `/etc/apache2/mods-enabled/security2.conf` dosyasını düzenleyin ve şu satırı ekleyin:
```bash
IncludeOptional /etc/modsecurity/coreruleset/crs-setup.conf
IncludeOptional /etc/modsecurity/coreruleset/rules/*.conf
```
Bu, ModSecurity'yi CRS ile entegre eder ve güvenlik duvarı kurallarını aktifleştirir.
5. Apache Yeniden Başlatma
Son olarak, tüm yapılandırmalar tamamlandığında, Apache’yi yeniden başlatmamız gerekecek:
sudo systemctl restart apache2
```
Artık Apache ModSecurity, web uygulamanız için güçlü bir güvenlik katmanı sunuyor. ModSecurity ile saldırılara karşı kendinizi çok daha güvende hissedeceksiniz.
6. Güvenlik Duvarı Kurallarını Test Etme
ModSecurity'nin doğru şekilde çalışıp çalışmadığını kontrol etmek için test saldırıları yapabilirsiniz. Basit bir SQL Injection testi yapmak için, web sitenize şu şekilde bir istek gönderebilirsiniz:
http://yourdomain.com/index.php?id=1' OR '1'='1
```
Eğer ModSecurity düzgün çalışıyorsa, bu tür zararlı istekler Apache tarafından engellenir ve log dosyalarına kaydedilir.