Apache Saldırı Engelleme yöntemleri, sunucunuzun güvenliğini artırarak çeşitli saldırı türlerine karşı önlem almanızı sağlar. Apache sunucu yapılandırmalarında ModSecurity ve mod_evasive gibi modüllerle SQL injection, DDoS ve brute force saldırılarına karşı güvenlik sağlanabilir. Bu rehberde, Apache konfigürasyonlarıyla hangi saldırıları nasıl engelleyebileceğinizi, her bir adım için gerekli dosyaları ve komutları en ince ayrıntısına kadar inceleyeceğiz.
1. SQL Injection
- Önlem: Apache konfigürasyon dosyalarında SQL injection saldırılarını önlemek için giriş verilerini doğrulamak ve uygun güvenlik modüllerini yüklemek önemlidir. Apache ModSecurity modülüyle, SQL injection örüntülerine karşı kurallar belirleyebilir ve bu saldırılara karşı filtreleme yapabilirsiniz.
Adımlar:
- ModSecurity Kurulumu:
- ModSecurity’yi Etkinleştirin:
- Kuralların Yapılandırılması:
ModSecurity’nin ayar dosyasında SQL injection’lara karşı örüntü kuralları tanımlayabilirsiniz.- Konfigürasyon Dosyası:
/etc/modsecurity/modsecurity.conf
Örneğin:
- Kuralların Geçerli Olması İçin:
2. Cross-Site Scripting (XSS)
- Önlem: XSS saldırılarını engellemek için Apache’de
Content-Security-Policybaşlıklarını konfigüre edebilirsiniz. AyrıcaX-XSS-Protectiongibi HTTP başlıkları ekleyerek tarayıcı tarafında XSS koruması sağlayabilirsiniz. ModSecurity ile XSS örüntülerini tanımlayıp engelleme kuralları belirleyebilirsiniz.
Adımlar:
- Güvenlik Başlıklarını Ekleyin:
- Dosya:
/etc/apache2/sites-available/000-default.conf
Başlıkları eklemek için
VirtualHostbloğuna şunları ekleyin: - Dosya:
- Apache’yi Yeniden Başlatın:
3. DDoS (Distributed Denial of Service) Saldırıları
- Önlem: DDoS saldırılarını engellemek için
mod_evasivemodülünü Apache üzerinde kullanabilirsiniz. Bu modül, aynı kaynaktan gelen yüksek sayıda istekleri engelleyerek sunucu kaynaklarını korur. Ayrıca, istek sayısını ve IP bazında erişim sınırını belirleyebilirsiniz.
Adımlar:
- Modülü Yükleyin:
- Konfigürasyonu Düzenleyin:
- Dosya:
/etc/apache2/mods-available/evasive.conf
Bu dosyada aşağıdaki ayarları yapın:
- Dosya:
- Apache’yi Yeniden Başlatın:
4. Directory Traversal (Dizin Geçişi)
- Önlem: Apache konfigürasyon dosyasında
Options -Indexesayarını yaparak dizin listelemesini kapatabilirsiniz. Bu sayede, saldırganların sunucunuzdaki dosya ve dizin yapısını görmesi engellenir.
Adımlar:
- Dizin Listelemeyi Devre Dışı Bırakın:
- Dosya:
/etc/apache2/apache2.confveya sitenizin.confdosyası.
Şu satırı ekleyin:
- Dosya:
- Apache’yi Yeniden Başlatın:
5. Brute Force Saldırıları
- Önlem: Brute force saldırılarına karşı
mod_authnmodüllerini kullanarak erişim kontrolü uygulayabilirsiniz. Apache üzerinde IP tabanlı kısıtlamalar yaparak, belirli IP’lerden gelen çok sayıda başarısız giriş denemesini engelleyebilirsiniz. Ayrıca,mod_securityile brute force örüntüleri tanımlayarak ekstra güvenlik sağlayabilirsiniz.
Adımlar:
- IP Tabanlı Erişim Kısıtlaması:
- Dosya:
/etc/apache2/sites-available/000-default.conf
Kısıtlamaları eklemek için:
- Dosya:
- Apache’yi Yeniden Başlatın:
6. CSRF (Cross-Site Request Forgery)
- Önlem: CSRF saldırılarına karşı güvenlik belirteçleri kullanarak, isteklerin doğruluğunu kontrol etmek gereklidir. Apache üzerinde
mod_rewriteile CSRF’yi engellemeye yönelik kurallar tanımlayabilir ve belirli istekleri yeniden yönlendirebilirsiniz.
Adımlar:
- ModRewrite Kullanarak CSRF Koruması:
- Dosya:
/etc/apache2/sites-available/000-default.conf
Aşağıdaki kuralları ekleyin:
- Dosya:
- Apache’yi Yeniden Başlatın:
7. Clickjacking Saldırıları
- Önlem: Apache’de
X-Frame-OptionsbaşlığınıDENYveyaSAMEORIGINolarak ayarlayarak clickjacking saldırılarını engelleyebilirsiniz. Bu ayar, sitenizin başka sitelerde iframe olarak görüntülenmesini engeller.
Adımlar:
- Güvenlik Başlıklarını Ekleyin:
- Dosya:
/etc/apache2/sites-available/000-default.conf
VirtualHostbloğuna ekleyin: - Dosya:
- Apache’yi Yeniden Başlatın:
8. Path Disclosure (Dosya Yolu Bilgisi)
- Önlem: Apache hata mesajlarının yapılandırmasını yaparak ayrıntılı hata mesajlarının kullanıcıya gösterilmesini engelleyebilirsiniz.
ServerSignatureveServerTokensayarlarını kapatarak sunucu bilgilerini gizlemek faydalı olacaktır.
Adımlar:
- Hata Mesajlarını Gizleyin:
- Dosya:
/etc/apache2/apache2.conf
Aşağıdaki ayarları yapın:
- Dosya:
- Apache’yi Yeniden Başlatın:
Apache Saldırı Engelleme yöntemleri, sunucunuzun güvenliğini artırarak çeşitli saldırı türlerine karşı önlem almanızı sağlar. Apache sunucu yapılandırmalarında ModSecurity ve mod_evasive gibi modüllerle SQL injection, DDoS ve brute force saldırılarına karşı etkili bir güvenlik sağlanabilir. Bu rehberde, Apache konfigürasyonlarıyla hangi saldırıları nasıl engelleyebileceğinizi, her bir adım için gerekli dosyaları ve komutları en ince ayrıntısına kadar ele aldık.
Apache sunucularını yapılandırarak WordPress için Apache optimizasyonu sağlanabilir. Bu optimizasyon, özellikle performansı artırarak yüksek trafik alan sitelerin güvenlik ve hızını iyileştirebilir. Ayrıca, Apache dışında Nginx kullanıcıları da Nginx brute force engelleme gibi güvenlik ayarları ile sunucularını koruyabilirler. Nginx ileri düzey yapılandırma hakkında bilgi almak isterseniz önceki makalemizi inceleyebilirsiniz.
Ayrıca ModSecurity nedir sorusuna odaklanan ve Nginx kullanıcıları için Nginx modsecurity yapılandırma rehberini içeren makalelerimizde, hem Apache hem de Nginx SQL injection engelleme gibi saldırı türlerine karşı nasıl koruma sağlayabileceğinizi detaylıca açıkladık. Özellikle WordPress gibi popüler içerik yönetim sistemleri için hem performans hem de güvenlik optimizasyonu yapmak isteyen kullanıcılar, Apache ve Nginx için sunduğumuz önceki rehberlere göz atarak kapsamlı bilgi edinebilirler. Bu ayarlarla Apache sunucunuzu pek çok saldırıya karşı koruma altına alabilirsiniz.
