Dizin listeleme açık kaldığında dosya adları, yedekler ve hassas klasörler görünür hale gelebilir. Hosting güvenliği için riskleri ve alınacak önlemleri öğrenin.
Bir web sitesinde klasöre doğrudan erişildiğinde dosya listesinin görünmesi, çoğu zaman küçük bir yapılandırma detayı gibi algılanır. Oysa dizin listeleme açık kaldığında ziyaretçiler, arama motoru botları veya kötü niyetli kişiler sunucuda hangi dosyaların bulunduğunu görebilir. Bu durum yalnızca gizlilik sorunu değil, aynı zamanda hosting güvenliğini zayıflatan pratik bir keşif alanıdır.
Dizin listeleme genellikle ilgili klasörde varsayılan bir index dosyası bulunmadığında veya web sunucusu ayarlarında otomatik listeleme kapatılmadığında ortaya çıkar. Kullanıcı tarayıcıya bir klasör adresi yazdığında, sayfa yerine dosya ve alt klasör isimleri listelenebilir. Bu liste; yedek dosyalar, eski sürümler, test klasörleri, görseller, log kayıtları veya yanlışlıkla yüklenmiş arşivler hakkında ipucu verebilir.
Saldırganlar çoğu zaman doğrudan sisteme girmeye çalışmadan önce bilgi toplar. Açık dizin listeleme, bu keşif aşamasını kolaylaştırır. Dosya adları, klasör yapısı ve tarih bilgileri; kullanılan yazılım, eklenti, tema, yönetim paneli veya geliştirme alışkanlıkları hakkında değerli sinyaller verir.
Örneğin backup.zip, old-site, test, logs veya config-copy.php gibi isimler tek başına bile risklidir. Bu dosyalar doğrudan indirilebiliyorsa veritabanı bağlantı bilgileri, kullanıcı kayıtları, API anahtarları veya eski güvenlik açıkları ifşa olabilir.
Dizin listeleme her zaman kritik veri sızıntısı anlamına gelmez; ancak yanlış dosyalar aynı klasörde tutuluyorsa risk hızla büyür. Kurumsal web sitelerinde özellikle aşağıdaki dosya türleri dikkatle kontrol edilmelidir:
Bu tür dosyalar indekslenirse sorun daha da büyür. Arama motorları açık klasörleri tarayabilir ve dosya adlarını sonuçlarda gösterebilir. Dosya sonradan silinse bile önbellek, güvenlik tarayıcıları veya üçüncü taraf arşivler nedeniyle izler bir süre görünür kalabilir.
İlk kontrol basittir: Web sitenizde görsel, yükleme, yedek veya test klasörü olduğunu düşündüğünüz yolları tarayıcıda açın. Eğer özel bir sayfa yerine dosya listesi görüyorsanız dizin listeleme aktiftir. Bu kontrolü yalnızca ana dizin için değil, alt klasörler için de yapmak gerekir.
Apache kullanılan ortamlarda çoğunlukla .htaccess dosyası üzerinden listeleme kapatılır. İlgili dizine aşağıdaki satır eklenebilir:
Options -Indexes
Nginx kullanılan yapılarda ise ilgili sunucu bloğunda otomatik indeksleme kapatılmalıdır. Paylaşımlı hosting ortamlarında bu ayara erişim panel üzerinden sağlanabilir; erişim yoksa sağlayıcıdan ilgili klasörler için directory listing özelliğinin devre dışı bırakılması istenmelidir.
Hayır. Listeleme kapalı olsa bile dosyanın tam adı biliniyorsa dosyaya erişim devam edebilir. Bu nedenle asıl hedef, hassas dosyaları web kök dizini dışında tutmak ve erişim kurallarını doğru tanımlamaktır. Özellikle yedek arşivlerin public_html, www veya htdocs gibi webden erişilebilir dizinlerde tutulması önerilmez.
Bir diğer yaygın hata, test dosyalarını “kimse bilmez” düşüncesiyle sunucuda bırakmaktır. Dosya adları tahmin edilebilir, loglardan görülebilir veya eski bağlantılarda kalabilir. Kurumsal yapılarda canlı ortama alınmayan dosyalar düzenli olarak temizlenmeli, geçici klasörler yayın dizininden ayrılmalıdır.
WordPress tarafında wp-content/uploads, tema klasörleri ve eklenti dizinleri özellikle kontrol edilmelidir. Görsel klasörlerinde listeleme açık olması her zaman kritik görünmeyebilir; ancak yüklenen PDF, teklif dosyası, sözleşme örneği veya kullanıcıya özel belge varsa veri gizliliği açısından risk oluşur.
Güvenlik eklentileri bazı kontrolleri otomatik yapabilir; fakat yalnızca eklentiye güvenmek doğru değildir. Sunucu yapılandırması, dosya izinleri ve yayın süreci birlikte ele alınmalıdır. Gereksiz eklenti klasörleri silinmeli, pasif temaların eski sürümleri tutulmamalı ve yedekler uzak depolama alanında saklanmalıdır.
Dizin listeleme ayarı, küçük görünen ancak saldırganın işini kolaylaştıran önemli bir yapılandırma detayıdır. Düzenli kontrol, temiz dosya yönetimi ve doğru sunucu kuralı ile web sitenizin görünmemesi gereken dosyaları dışarıya açması engellenebilir; özellikle çok kullanıcılı veya ajans tarafından yönetilen projelerde bu kontrol yayın sürecinin standart bir adımı haline getirilmelidir.