1. Apache Güncellemeleri ile Güvenliği Artırın
Apache web sunucusunun güvenliğini sağlamak için ilk adım, yazılımın en güncel sürümünü kullanmaktır. Apache'nin her yeni sürümü, önceki sürümlerdeki güvenlik açıklarını kapatır ve yeni özellikler ekler. Bu nedenle düzenli olarak güncelleme yapmak, web sunucunuzun güvenliğini artırır.
2. SSL/TLS Sertifikalarını Kullanın
Web sitenizin güvenliğini sağlamanın en temel yollarından biri, HTTPS kullanmaktır. SSL/TLS sertifikaları, web sunucusu ile kullanıcılar arasında güvenli bir bağlantı sağlar. Apache üzerinde SSL sertifikası kurarak verilerin şifrelenmesini ve güvenli bir şekilde iletilmesini sağlayabilirsiniz.
Yapmanız gerekenler:
sudo apt-get install openssl
sudo a2enmod ssl
sudo systemctl restart apache2
3. Mod_Security Kullanarak Web Güvenliğini Arttırın
Mod_security, Apache için önemli bir güvenlik modülüdür. Bu modül, HTTP isteklerini kontrol eder ve potansiyel olarak zararlı olanları engeller. SQL enjeksiyonları, XSS saldırıları ve diğer yaygın web güvenlik tehditlerine karşı etkili bir savunmadır. Apache’de mod_security’yi aktif hale getirmek, web sitenizi birçok saldırıya karşı korur.
4. Gizli ve Özel Bilgileri Dosyalardan Kaldırın
Web sunucusunda bulunan bazı dosyalar, yanlışlıkla içeriği açığa çıkarabilir. Özellikle "phpinfo.php" gibi dosyaların kötü niyetli kişiler tarafından erişilmesi, sunucu hakkında ciddi bilgiler verir. Apache'de bu tür dosyaları devre dışı bırakmak veya kaldırmak, olası saldırılara karşı sizi korur.
5. Apache Config Dosyalarını Sıkılaştırın
Apache’nin yapılandırma dosyaları, sunucunuzun güvenliğini kontrol etmenizi sağlar. "httpd.conf" dosyasında, gereksiz modülleri devre dışı bırakmak, belirli IP adreslerine erişim izni vermek gibi düzenlemeler yaparak güvenliği artırabilirsiniz.
Önerilen yapılandırmalar:
UserDir disabled
6. Erişim Kontrol Listelerini Yapılandırın
Apache'nin en güçlü yönlerinden biri, detaylı erişim kontrolü sağlayabilmesidir. Belirli dizinlere veya dosyalara yalnızca yetkilendirilmiş kullanıcıların erişmesini sağlamak için .htaccess dosyalarını kullanabilirsiniz. Bu, gizli bilgilere yalnızca doğru kişiler erişebilsin diye önemlidir.
7. Dosya İzinlerini Sıkılaştırın
Apache, web sunucusu tarafından kullanılan dosyaların sahiplik ve izinlerini kontrol eder. Bu dosyalara yetkisiz erişimi engellemek için doğru dosya izinleri atamak çok önemlidir. Sunucu dosyalarınızın yalnızca gerekli kullanıcılara erişilebilir olmasını sağlamalısınız.
8. Apache Hata Mesajlarını Sınırlayın
Apache hata mesajları, kötü niyetli kişilere sunucunuz hakkında fazla bilgi verebilir. Örneğin, bir 404 hatası verildiğinde, Apache sunucusunun dizin yapısı hakkında ipuçları verebilir. Hata mesajlarını sınırlayarak bu tür bilgilerin açığa çıkmasını engellemeniz gerekir.
9. Bot Engelleyicileri Kullanarak Ziyaretçi Trafiğini Yönetin
Çeşitli botlar ve kötü amaçlı yazılımlar, web sunucularını hedef alır. Apache’nin "mod_rewrite" ve "mod_setenvif" modüllerini kullanarak, zararlı botları engelleyebilir ve gerçek ziyaretçileri ayırt edebilirsiniz.
10. DDoS Saldırılarına Karşı Koruma Sağlayın
Apache üzerinde DDoS saldırılarına karşı savunma yapmak için çeşitli yazılımlar kullanabilirsiniz. "mod_evasive" ve "mod_dosevasive" gibi Apache modülleri, bu tür saldırılara karşı etkili çözümler sunar. Ayrıca, firewall (güvenlik duvarı) kullanarak sunucunuza gelen şüpheli trafiği engelleyebilirsiniz.