ModSecurity Nedir?
Adım 1: Apache ve ModSecurity'yi Linux’a Kurma
# Apache Kurulumu
Apache’yi kurmak için aşağıdaki komutları kullanabilirsiniz:
sudo apt update
sudo apt install apache2
Bu komutlarla Apache’nin en son sürümünü kurmuş olursunuz. Kurulumdan sonra, Apache'yi başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start apache2
# ModSecurity Kurulumu
ModSecurity’yi kurmak için önce mod_security paketini yükleyin. Aşağıdaki komutu kullanarak yüklemeyi başlatın:
sudo apt install libapache2-mod-security2
ModSecurity kurulduktan sonra, Apache’nin mod_security modülünü etkinleştirmelisiniz. Bunu şu şekilde yapabilirsiniz:
sudo a2enmod security2
Apache’yi yeniden başlatmak için şu komutu kullanın:
sudo systemctl restart apache2
Bu kadar! Artık Apache üzerinde ModSecurity çalışıyor.
Adım 2: ModSecurity'yi Yapılandırma
sudo nano /etc/modsecurity/modsecurity.conf
Bu dosyada en önemli yapılandırma seçeneği, `SecRuleEngine` parametresidir. Bu parametre, ModSecurity’nin aktif olup olmayacağını belirler. Varsayılan olarak, `SecRuleEngine DetectionOnly` olarak ayarlanmış olabilir. Bu, ModSecurity’nin yalnızca saldırıları tespit etmekle sınırlı olduğu anlamına gelir. Gerçek koruma sağlamak için bu ayarı şu şekilde değiştirebilirsiniz:
SecRuleEngine On
Bu ayar, ModSecurity’yi aktif hale getirir ve saldırılara karşı etkin koruma sağlar.
Adım 3: ModSecurity Kuralları Yükleme
CRS’yi yüklemek için aşağıdaki adımları takip edin:
1. CRS’yi indirin:
cd /usr/local/src
sudo git clone https://github.com/coreruleset/coreruleset.git
2. CRS klasörünü, ModSecurity’nin kurallarıyla ilişkilendirin. Bunun için, CRS’nin `rules` klasöründeki dosyaları ModSecurity’nin kural dizinine kopyalayın:
sudo cp -r coreruleset/rules/* /etc/modsecurity/
3. Kural dosyalarını etkinleştirin. Bunun için, `modsecurity.conf` dosyasına aşağıdaki satırı ekleyin:
IncludeOptional /etc/modsecurity/*.conf
Bu, ModSecurity'nin CRS kurallarını yüklemesini sağlar.
4. Son olarak, Apache’yi yeniden başlatarak değişikliklerin etkili olmasını sağlayın:
sudo systemctl restart apache2
Adım 4: ModSecurity’nin Test Edilmesi
Bunu test etmek için, basit bir SQL enjeksiyonu yapmayı deneyebilirsiniz. Aşağıdaki URL'yi kullanarak Apache sunucunuzda SQL enjeksiyon saldırısını simüle edebilirsiniz:
http://sunucu_adresi/?id=1' OR '1'='1
Eğer her şey doğru yapılandırılmışsa, ModSecurity bu isteği engelleyecek ve Apache loglarında bir hata kaydedecektir.