Dokümanlar

Sorun rehberi · Güvenlik

Bir ayar ya da parola dosyası indirilebiliyor

ÖnemKritik
KategoriGüvenlik
KapsamTüm site
EmekAz
DoğrulamaGüvenlik taraması (haftalık ya da Yeniden tara)
Kural anahtarısec_exposed_env

Kısa cevap

Herkes sitenizden bir ayar ya da parola dosyası indirebiliyor, örneğin /.env. Bu dosyalar veritabanı parolalarını, API anahtarlarını, e-posta ve ödeme kimlik bilgilerini taşır. Erişimi hemen kapatın, ardından dosyadaki her gizli bilgiyi değiştirin: botlar /.env adresini gece gündüz ister; değerlerin çoktan kopyalandığını varsayın.

Neden önemli

.env internette en çok istenen yollardan biridir; otomatik tarayıcılar buldukları her alan adından bu dosyayı ister, çoğu zaman site yayına girdikten birkaç saat sonra. İçeriğiyle saldırgan veritabanınıza girebilir, sizin adınıza e-posta gönderebilir, bulut ya da ödeme hesaplarınıza fatura çıkarabilir veya oturum taklit edebilir. Açıktaki bir .htpasswd çevrimdışı kırılabilecek parola özetlerini verir.

Ardından gelen bir saldırı çoğu zaman sızdırılmış spam sayfaları, zararlı yazılım ve Google sonuçlarında "Bu site saldırıya uğramış olabilir" etiketi getirir; bunlar arama trafiğine gerçekten zarar verir. Tek güvenli yol hızla engellemek ve gizli bilgileri yenilemektir.

Glimana bunu nasıl tespit eder

Glimana HTTPS üzerinden /.env, /.env.backup, /.env.production ve /.htpasswd adreslerini ister ve yalnız ilk 2 KB'ı okur. Yanıt 200 ya da 206 ise, HTML sayfası değilse ve en az biri hassas görünen (KEY, SECRET, PASS, TOKEN, DB_, DATABASE, MAIL_, AWS_, STRIPE ya da API içeren) en az iki AD=değer satırı taşıyorsa env dosyası açıkta sayılır. .htpasswd, kullanıcı adı ve parola özeti satırları içeriyorsa sayılır. Var olmayan rastgele bir adresle aynı olan yanıtlar yok sayılır; her adrese aynı sayfayı veren siteler bu yüzden yanlış alarm üretmez. Sorun yalnız değişken adlarını gösterir, değerleri asla. Kritik; yeni bir bulgu ayrıca hemen uyarı e-postası gönderir.

Nasıl düzeltilir

Dikkat

Dosyayı engellemek yetmez: içindeki her değer ele geçirilmiş sayılmalıdır. Veritabanı parolasını, e-posta ve API anahtarlarını, ödeme ve bulut kimlik bilgilerini, OAuth gizli anahtarlarını değiştirin ve eskilerini her sağlayıcıda iptal edin. Laravel'de yeni bir APP_KEY herkesin oturumunu kapatır ve eski anahtarla şifrelenmiş veriyi okunamaz yapar; geçiş sürerken eski anahtarı APP_PREVIOUS_KEYS içinde tutun. CDN önbelleğinizi de boşaltın ve erişim kütüklerinde dosyanın daha önce indirilip indirilmediğine bakın.

  1. Glimana'da bulguyu bulun. Güvenlik sayfasını açın; bu kontrol Açıkta kalan dosyalar grubunda, son taramanın kanıtı başlığının altında. Aynı sorun Sorunlar › Bir ayar ya da parola dosyası indirilebiliyor altında da listelenir.
  2. Düzeltmeyi platformunuzda uygulayın.

    Web sunucusunun belge kökü proje klasörü değil public/ klasörü olmalıdır; o zaman .env kökün dışında kalır ve sunulamaz. Paylaşımlı barındırmada projenin tamamını public_html içine kopyalamak yerine alan adını barındırma panelinden public/ klasörüne yönlendirin. .env.backup gibi artık kopyaları sunucudan tamamen silin.

    Sanal sunucu ayarında ya da .htaccess içinde /.well-known/ (sertifika yenileme için gerekli) dışındaki tüm gizli dosyaları engelleyin: RewriteEngine On ve RewriteRule "(^|/)\.(?!well-known/)" - [F]. Apache'nin varsayılan ayarı .ht* dosyalarını engeller, ama yalnız o blok yerinde duruyorsa.

    server bloğunda, diğer düzenli ifade location bloklarından önce: location ~ /\.(?!well-known) { deny all; }, ardından nginx -t && systemctl reload nginx. Nginx .htaccess dosyasını okumaz; Apache için yazılmış engelleme kuralları burada sizi korumaz.

    Sunucuyu düzeltirken anında kalkan olarak: Security › Security rules › Create rule › Custom rules, ifade (starts_with(http.request.uri.path, "/.env")) or (starts_with(http.request.uri.path, "/.ht")), eylem Block. Ardından önbelleği boşaltın. Bu yalnız Cloudflare'den geçen istekleri kapsar; origin IP'nizi bilen herkes dosyaya yine ulaşabilir, sunucuyu da düzeltin.

  3. Glimana'da kontrol edin. Güvenlik sayfasında Yeniden tara düğmesine basın (saatte en çok iki tarama) ya da pazar günkü haftalık taramayı bekleyin; kontrol geçince sorun kapanır.

Düzeltme nasıl doğrulanır

Düzelttikten sonra Güvenlik sayfasında Yeniden tara düğmesine basın (ya da pazar günkü haftalık taramayı bekleyin); kontrol geçtiği anda sorun kapanır.

Kaynaklar

Bu sayfa işinize yaradı mı?

Son güncelleme 2026-11-07 · Destekle iletişim