hosting

Hosting'de Gizli Kalması Gerekenler: .env, Yedek Dosyaları ve Dizin Listeleme

config.php.bak neden tehlikeli? Dizin listeleme, açıkta kalan yedekler ve sürüm kontrolü klasörü. On dakikalık denetim listesi. Hosting'de Gizli Kalması…

Hosting'de Gizli Kalması Gerekenler: .env, Yedek Dosyaları ve Dizin Listeleme
İçindekiler
  1. Riskli Dosyalar
  2. Bu Dosyalar Nasıl Bulunuyor?
  3. Dizin Listeleme: Kapatılması Gereken İlk Ayar
  4. Korunma Yöntemleri
  5. Hassas Dosyaları Web Kök Dizini Dışına Taşıyın
  6. Uzantı Bazlı Erişim Engeli
  7. Yedekleri Sunucuda Bırakmayın
  8. Kurulum Dosyalarını Silin
  9. Bilgi Sayfalarını Yayında Bırakmayın
  10. Kendi Sitenizi Denetleyin
  11. Sonuç
  12. Sıkça Sorulan Sorular (SSS)
  13. config.php.bak dosyası neden tehlikeli?
  14. Dizin listeleme neden kapatılmalı?
  15. .env dosyam korunuyor mu?
  16. Yedeklerimi sunucuda tutmak neden riskli?

Hosting'de Gizli Kalması Gerekenler: .env, Yedek Dosyaları ve Dizin Listeleme

Sitenizin güvenliğini düşünürken akla önce parolalar ve güncellemeler gelir. Oysa en sık yaşanan veri sızıntıları çok daha basit bir nedenden kaynaklanır: gizli kalması gereken dosyalar herkese açık duruyordur.

Bu yazı, hosting hesabınızda dışarıdan erişilmemesi gereken dosyaları ve bunları korumanın yollarını anlatıyor.

Riskli Dosyalar

Dosya türü İçerdiği Sızarsa
Ortam dosyası (.env) Veritabanı şifresi, API anahtarları Tam erişim kaybı
Veritabanı yedeği (.sql) Tüm kullanıcı verisi Veri ihlali
Site arşivi (.zip) Tüm kaynak kod Kod ve şifre ifşası
Yedek kopyalar (.bak, .old) Eski yapılandırma Şifre ifşası
Sürüm kontrolü klasörü Tüm kod geçmişi Silinmiş şifreler bile görünür
Bilgi sayfaları Sunucu yapılandırma detayları Saldırı yüzeyi haritası

Dördüncü satır özellikle tehlikelidir. Bir yapılandırma dosyasını düzenlemeden önce kopyasını almak yaygın bir alışkanlıktır — ama config.php.bak gibi bir dosya, uzantısı tanınmadığı için işlenmez ve düz metin olarak sunulur. İçindeki veritabanı şifresi tarayıcıda okunabilir hâle gelir.

Bu Dosyalar Nasıl Bulunuyor?

Saldırganların sizi özel olarak hedeflemesi gerekmez. Otomatik tarayıcılar, milyonlarca siteyi tarayarak bilinen dosya adlarını dener:

  • Sözlük taraması. Yaygın yedek ve yapılandırma dosya adları tek tek denenir.
  • Dizin listeleme. Klasör içeriği görünüyorsa tahmin gerekmez, liste hazır sunulur.
  • Arama motoru sonuçları. İndekslenmiş yedek dosyaları arama sonuçlarında bulunabilir.
  • Sürüm kontrolü klasörü. Açıkta kalan bir depo klasöründen tüm kaynak kod yeniden oluşturulabilir.

Bu taramalar sürekli çalışır. Bir yedek dosyasını "birkaç saatliğine" bırakmak bile risklidir.

Dizin Listeleme: Kapatılması Gereken İlk Ayar

Bir klasörde başlangıç dosyası yoksa, sunucu varsayılan olarak klasör içeriğini listeleyebilir. Ziyaretçi tüm dosyaları görür.

Bunun zararı sadece dosyaların görünmesi değildir:

  1. Yükleme klasöründeki tüm kullanıcı dosyaları listelenir
  2. Yedek dosyalarınız görünür hâle gelir
  3. Klasör yapınız saldırgana site mimarisini gösterir
  4. Arama motorları bu listeleri indeksleyebilir

Dizin listelemeyi kapatmak, yapılandırma dosyanıza eklenecek tek satırlık bir ayardır ve çoğu panelde bir onay kutusu olarak sunulur. Kapalı olduğundan emin olun.

Korunma Yöntemleri

Hassas Dosyaları Web Kök Dizini Dışına Taşıyın

En güçlü koruma budur. Web kök dizininin dışındaki bir dosyaya tarayıcıdan hiçbir şekilde erişilemez — yapılandırma hatası olsa bile.

Modern uygulamalar bu yapıyı destekler: kod bir üst dizinde, yalnızca genel dosyalar web kökünde durur.

Uzantı Bazlı Erişim Engeli

Taşıma mümkün değilse, riskli uzantılara erişimi yapılandırma dosyanızdan engelleyin. Bu, hem Linux hem Windows barındırmada mümkündür; yalnızca yazım biçimi farklıdır.

Kural dosyasının adı ve söz dizimi platforma göre değişir: Linux tarafında .htaccess, Windows hosting tarafında ise web.config kullanılır. İkisi de aynı işi yapar; taşıma yaparken kuralları çevirmeyi unutmayın.

Yedekleri Sunucuda Bırakmayın

Yedek alma alışkanlığı iyidir; yedeği sunucuda bırakma alışkanlığı kötüdür. İndirin ve silin. Yedeğin sunucuda durması hem risk hem de gereksiz disk kullanımıdır.

Kurulum Dosyalarını Silin

Kurulum tamamlandıktan sonra kurulum betikleri ve örnek yapılandırma dosyaları silinmelidir. Açıkta kalan bir kurulum betiği, sitenin yeniden yapılandırılmasına imkân verebilir.

Bilgi Sayfalarını Yayında Bırakmayın

Teşhis için oluşturulan sunucu bilgi sayfaları, yapılandırmanızın tamamını gösterir. Kontrolünüzü yaptıktan sonra silin.

Kendi Sitenizi Denetleyin

On dakikalık bir kontrol, en yaygın açıkları kapatır:

  • Tarayıcıdan yaygın yedek dosya adlarını deneyin — yanıt gelmemelidir
  • Yükleme klasörünüzü doğrudan açın — liste görünmemelidir
  • Sürüm kontrolü klasörünüzün erişilebilir olup olmadığını kontrol edin
  • Sunucudaki dosyalar arasında eski yedek ve kopya dosya arayın
  • Arama motorunda sitenizde indekslenmiş beklenmedik dosya var mı bakın

Bu kontrolleri her büyük değişiklikten sonra tekrarlayın — özellikle site taşıma ve güncelleme sonrasında, çünkü geçici dosyalar en çok o anlarda unutulur.

Sonuç

Veri sızıntılarının önemli bir kısmı karmaşık saldırılardan değil, açıkta unutulmuş dosyalardan kaynaklanır. Üç alışkanlık riskin çoğunu ortadan kaldırır: dizin listelemeyi kapatın, yapılandırma dosyalarını web kök dizini dışında tutun ve yedekleri sunucuda bırakmayın. Özellikle .bak ve .old uzantılı kopyalara dikkat edin — bu dosyalar işlenmeden düz metin olarak sunulur ve içlerindeki şifreler tarayıcıda okunabilir. Sitenizde bugün on dakikalık bir kontrol yapın.

Sıkça Sorulan Sorular (SSS)

config.php.bak dosyası neden tehlikeli?

Sunucu .bak uzantısını tanımadığı için dosyayı işlemez, düz metin olarak sunar. Yani içindeki veritabanı kullanıcı adı ve şifresi tarayıcıda okunabilir hâle gelir. Yapılandırma yedeklerini asla web kök dizininde bırakmayın.

Dizin listeleme neden kapatılmalı?

Açık olduğunda klasör içeriğinizin tamamı görünür — yükleme klasöründeki kullanıcı dosyaları, unutulmuş yedekler ve site yapınız dahil. Saldırganın dosya adı tahmin etmesine gerek kalmaz, liste hazır sunulur.

.env dosyam korunuyor mu?

Modern uygulamalarda genellikle web kök dizini dışındadır ve erişilemez. Ancak yanlış kurulumlarda kök dizinde kalabilir. Tarayıcıdan doğrudan erişmeyi deneyin — içerik görünüyorsa acilen taşıyın ve içindeki tüm anahtarları yenileyin.

Yedeklerimi sunucuda tutmak neden riskli?

Site arşivi ve veritabanı yedeği, tek dosyada tüm kodunuzu ve verinizi barındırır. Otomatik tarayıcılar yaygın yedek adlarını sürekli dener. Ayrıca sunucuda duran yedek, sunucu kaynaklı bir sorunda zaten işe yaramaz. İndirin ve silin.