Web sunucunuzda güvenliği artırmak, hem kendinizin hem de ziyaretçilerinizin huzurunu sağlamak için her zaman önemlidir. Peki ya Apache web sunucusunda bir güvenlik duvarı (Firewall) eklemek? ModSecurity, bu amaçla kullanabileceğiniz güçlü bir araçtır. Bu blog yazısında, Apache ile ModSecurity kurulumunun nasıl yapılacağını, yapılandırılacağını ve web sitenizin güvenliğini nasıl artırabileceğinizi adım adım keşfedeceğiz.
Apache ModSecurity Nedir?
Apache ModSecurity, web uygulama güvenlik duvarıdır. Bu modül, web sunucunuzun potansiyel tehditlerden korunmasını sağlar ve web sitenize yönelik SQL enjeksiyonları, XSS saldırıları ve diğer web tabanlı tehditlere karşı koruma sunar. Apache'yi güvence altına almak için harika bir araçtır ve özellikle sunucu güvenliğini artırmak isteyen herkes için önemlidir.
Adım Adım Apache ModSecurity Kurulumu
Başlamadan önce, Apache'nin kurulu ve çalışıyor olduğundan emin olun. ModSecurity, Apache’nin modül sistemine entegre olan bir yazılım olduğu için, Apache web sunucusunun düzgün çalışıyor olması gerekir.
# 1. Gerekli Paketlerin Kurulumu
Linux dağıtımınızda ModSecurity'yi kurmak için öncelikle gerekli paketleri yüklemeniz gerekir. Bu işlem, kullanılan dağıtıma bağlı olarak değişiklik gösterebilir. Örneğin, Debian veya Ubuntu sistemlerinde aşağıdaki komutları kullanarak gerekli paketleri yükleyebilirsiniz.
```bash
sudo apt-get update
sudo apt-get install libapache2-mod-security2
```
Red Hat veya CentOS gibi sistemlerde ise şu komutları kullanabilirsiniz:
```bash
sudo yum install mod_security
```
# 2. ModSecurity Modülünün Etkinleştirilmesi
Kurulum tamamlandıktan sonra, ModSecurity modülünü etkinleştirmeniz gerekecek. Apache'nin mod_security modülünü etkinleştirmek için şu komutu çalıştırın:
```bash
sudo a2enmod security2
```
Apache'yi yeniden başlatmayı unutmayın:
```bash
sudo systemctl restart apache2
```
# 3. Temel Yapılandırma
ModSecurity'nin temel yapılandırma dosyasını düzenleyerek, güvenlik duvarınızı daha verimli hale getirebilirsiniz. Bu dosyayı açmak için aşağıdaki komutu kullanın:
```bash
sudo nano /etc/apache2/mods-enabled/security2.conf
```
Burada, bazı ayarları özelleştirmeniz mümkündür. Örneğin, aşağıdaki satırı aktif hale getirebilirsiniz:
```bash
SecRuleEngine On
```
Bu, ModSecurity'nin çalışmasını aktif hale getirir ve web sunucusunun tehditlere karşı korunmasını sağlar.
# 4. ModSecurity Kuralları (Rules) Yüklemek
ModSecurity'nin en güçlü yönlerinden biri, web uygulamanızın güvenliğini artıran kurallardır. Bu kurallar, yaygın web uygulama saldırılarını tespit etmek ve engellemek için kullanılır. OWASP (Open Web Application Security Project) tarafından geliştirilen Core Rule Set (CRS), genellikle tercih edilen kural setidir.
ModSecurity'nin CRS'ini kurmak için aşağıdaki komutları izleyebilirsiniz:
```bash
sudo apt-get install modsecurity-crs
```
Ardından, CRS kurallarını etkinleştirmeniz gerekecek. Bu işlemi şu şekilde yapabilirsiniz:
```bash
sudo ln -s /usr/share/modsecurity-crs/base_rules/* /etc/apache2/mods-enabled/security2.conf
```
ModSecurity'nin Özelleştirilmesi
ModSecurity, her web uygulamasının ihtiyaçlarına göre özelleştirilebilir. Örneğin, belirli IP adreslerinden gelen istekleri engellemek, belirli türdeki saldırıları (XSS, SQL injection gibi) engellemek veya sadece belirli bir URL'yi korumak gibi.
# Örnek Özelleştirilmiş Kural:
Aşağıdaki gibi bir kural, SQL enjeksiyonlarını engellemek için kullanılabilir:
```bash
SecRule ARGS|ARGS_NAMES|REQUEST_HEADERS|XML:/* "@rx union.*select.*from" \
"phase:2,deny,status:403,msg:'SQL Injection Detected'"
```
Bu kural, SQL enjeksiyonuna benzer kalıpları içeren her isteği engelleyecektir.
# 5. Logları İnceleme
ModSecurity'nin etkinliği hakkında daha fazla bilgi edinmek ve potansiyel tehditlere karşı duyarlı olabilmek için logları inceleyebilirsiniz. ModSecurity’nin logları, Apache'nin error log dosyasında bulunur. Aşağıdaki komutla logları görüntüleyebilirsiniz:
```bash
sudo tail -f /var/log/apache2/error.log
```
ModSecurity'nin Güçlü Yönleri
Apache ile ModSecurity kullanmanın bazı belirgin avantajları vardır:
- Web Uygulama Güvenliği: ModSecurity, XSS, SQL enjeksiyonu ve daha pek çok saldırıya karşı koruma sağlar.
- Kolay Yapılandırma: Basit komutlarla etkinleştirilebilir ve özelleştirilebilir.
- Geniş Kural Seti: OWASP CRS gibi geniş kural setleri ile birçok tehdit engellenebilir.
- Performans Etkisi: ModSecurity, doğru yapılandırıldığında web sunucunuzun performansını ciddi şekilde etkilemeden çalışabilir.
Sonuç
Linux sunucunuzda Apache ile ModSecurity’yi kurarak, web uygulamanızın güvenliğini artırabilirsiniz. Web saldırıları her geçen gün daha da sofistike hale geliyor, ancak ModSecurity gibi güçlü bir araçla, bu tür tehditlere karşı sağlam bir savunma hattı oluşturabilirsiniz. Güvenlik sadece bir seçenek değil, gerekliliktir. ModSecurity kurulumuyla, web sunucunuzun güvenliğini sağlam bir şekilde artırabilirsiniz.