Dizin listeleme kapatılmadığında saldırganlar hangi dosyaları bulabilir?

Dizin listeleme açık kaldığında saldırganların yedek, yapılandırma, log ve test dosyalarını nasıl bulabileceğini; riski azaltmak için pratik adımları öğrenin.

Reklam Alanı

Bir web sitesinde dizin listeleme açık kaldığında, ziyaretçi belirli bir klasörde varsayılan bir index dosyası yoksa o klasörün içeriğini doğrudan görebilir. Bu durum çoğu zaman küçük bir yapılandırma eksikliği gibi görünür; ancak saldırganlar için dosya adlarını, yedekleri, geçici kayıtları ve uygulama mimarisini anlamaya yarayan değerli bir keşif alanı oluşturur. Özellikle kurumsal sitelerde bu risk, yalnızca teknik bir açık değil, veri güvenliği ve itibar yönetimi açısından da dikkate alınması gereken bir konudur.

Dizin listeleme neden kritik bir güvenlik riskidir?

Dizin listeleme, web sunucusunun bir klasör içindeki dosya ve alt klasörleri tarayıcıda listelemesidir. Normalde kullanıcı yalnızca yayınlanması istenen sayfaları görmelidir. Listeleme açık olduğunda ise kullanıcı, doğrudan paylaşılmamış dosyalara ulaşabilir veya en azından dosya yapısı hakkında bilgi toplayabilir.

Bu bilgi tek başına her zaman sisteme giriş sağlamaz; fakat saldırı zincirinin ilk adımı olabilir. Saldırgan önce hangi yazılımın kullanıldığını, hangi klasörlerin bulunduğunu, eski dosyaların bırakılıp bırakılmadığını inceler. Ardından bilinen açıkları, yanlış izinleri veya tahmin edilebilir dosya adlarını dener. Bu nedenle güvenli bir hosting yapılandırmasında dizin listeleme varsayılan olarak kapalı olmalıdır.

Saldırganlar hangi dosyaları bulabilir?

Yedek ve arşiv dosyaları

En sık karşılaşılan risklerden biri yedek dosyaların web kök dizininde bırakılmasıdır. .zip, .tar.gz, .bak, .old veya .sql uzantılı dosyalar saldırganlar için yüksek değer taşır. Örneğin bir veritabanı yedeği, kullanıcı bilgileri, e-posta adresleri, sipariş kayıtları veya yönetici hesaplarına ait izler içerebilir.

Uygulamada yapılan yaygın hata, “geçici olarak yükledim, sonra silerim” yaklaşımıdır. Ancak dizin listeleme açıksa bu dosyalar dakikalar içinde taranabilir. Yedekler mutlaka web erişimine kapalı bir alanda tutulmalı, gerekiyorsa şifrelenmeli ve düzenli temizlik prosedürüne dahil edilmelidir.

Yapılandırma ve çevresel değişken dosyaları

Yanlış konumlandırılmış yapılandırma dosyaları, saldırganların erişmek isteyeceği en kritik içerikler arasındadır. .env, config.php, database.php veya benzeri dosyalar; veritabanı kullanıcı adı, parola, API anahtarı, SMTP bilgisi ve üçüncü taraf servis erişimlerini içerebilir.

Bu tür dosyalar doğrudan indirilemese bile adlarının görünmesi, saldırgana hangi teknolojinin kullanıldığını ve nereden deneme yapacağını gösterebilir. Bu nedenle sadece dizin listelemeyi kapatmak yetmez; hassas dosyaların doğru izinlerle korunması ve web üzerinden erişilemeyecek şekilde konumlandırılması gerekir.

Log, hata ve geçici dosyalar

Sunucu veya uygulama logları, hata mesajları, işlem kayıtları ve geçici dosyalar da ciddi bilgi sızıntılarına yol açabilir. Bir hata kaydı içinde tam dosya yolu, sorgu parçaları, kullanıcı adı, IP adresi veya uygulama sürümü yer alabilir. Bu bilgiler, saldırganın hedefi daha doğru analiz etmesini sağlar.

Özellikle geliştirme sürecinden kalan debug.log, error_log veya test çıktıları canlı ortamda bırakılmamalıdır. Canlıya alma kontrol listesinde log konumları, hata gösterim ayarları ve erişim izinleri mutlaka kontrol edilmelidir.

Yönetim panelleri, test klasörleri ve eski sürümler

Dizin listeleme açık olduğunda saldırganlar /admin, /test, /dev, /old gibi klasörleri kolayca fark edebilir. Bu klasörlerde eski panel dosyaları, test formları, örnek yükleme ekranları veya artık kullanılmayan eklenti kalıntıları bulunabilir.

Eski sürümler çoğu zaman güncel güvenlik yamalarını içermez. Kullanılmayan bir klasör aktif siteye bağlı görünmese bile sunucu üzerinde çalıştırılabiliyorsa risk devam eder. Yayından kaldırılan dosyalar arşivlenecekse web dizini dışında saklanmalı; gereksiz klasörler tamamen silinmelidir.

Dizin listeleme nasıl kapatılır?

Apache kullanılan ortamlarda genellikle .htaccess dosyasına aşağıdaki satır eklenerek listeleme devre dışı bırakılır:

Options -Indexes

Nginx tarafında ise ilgili sunucu bloğunda autoindex off; ayarının bulunduğundan emin olunmalıdır. Panel kullanılan yapılarda bu ayar çoğu zaman güvenlik, dosya yöneticisi veya gelişmiş web ayarları altında yer alır. Emin olunamıyorsa servis sağlayıcının dokümantasyonu incelenmeli veya teknik destekten ilgili klasörler için kontrol talep edilmelidir.

Burada dikkat edilmesi gereken nokta, yalnızca ana dizini test etmenin yeterli olmamasıdır. Görsel klasörleri, yükleme dizinleri, eklenti klasörleri, yedek alanları ve alt uygulama dizinleri ayrıca kontrol edilmelidir. Farklı alt alan adları aynı sunucu üzerinde barındırılıyorsa her biri bağımsız değerlendirilmelidir.

Kontrol listesi: Güvenli yapılandırma için pratik adımlar

  • Web kök dizininde yedek, arşiv veya veritabanı dökümü bırakmayın.

  • .env ve yapılandırma dosyalarının web üzerinden erişilemediğini doğrulayın.

  • Canlı ortamda hata gösterimini kapatın; logları güvenli bir konumda tutun.

  • Kullanılmayan test, eski sürüm ve geçici klasörleri silin.

  • Dosya ve klasör izinlerini gereğinden geniş vermeyin.

  • Dizin listeleme kapalı olsa bile hassas dosyaları ayrıca erişim kurallarıyla koruyun.

Kurumsal projelerde bu kontroller, yalnızca ilk kurulum sırasında değil, her yayın öncesi ve düzenli güvenlik bakımında tekrarlanmalıdır. Güvenilir bir hosting altyapısı, doğru sunucu ayarları ve disiplinli dosya yönetimi birlikte uygulandığında dizin listeleme kaynaklı bilgi sızıntılarının büyük bölümü önlenebilir.

Yazar: Editör
İçerik: 642 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 13-07-2026
Güncelleme: 13-07-2026