.env Dosyalarını Git'e Commit Etmeden Nasıl Paylaşırsın
Yazan Maxim Novak
.env dosyalarını paylaşmanın en güvenli yolu, şifreli ve kendiliğinden silinen bağlantılardır — Slack DM'leri, e-posta veya Git commit'leri değil. Vaulted gibi araçlar, herhangi bir şey gönderilmeden önce ortam değişkenlerini tarayıcında AES-256-GCM ile şifreler ve bağlantı görüntülendikten sonra otomatik olarak silinir.
GitGuardian'ın 2025 Secrets Sprawl Durum Raporu'na göre, 2024 yılında GitHub'ın açık depolarında 23,8 milyon gizli bilgi sızdırıldı — bu, bir önceki yıla göre %25'lik bir artış. GitHub'ın kendi verileri ise 2024 yılında platformda 39 milyon gizli bilginin tespit edildiğini gösteriyor. Bunların büyük bölümü yanlışlıkla commit edilen .env dosyası içeriklerinden kaynaklanıyor.
.env Dosyalarını Paylaşmanın Sorunu
Ortam dosyaları özellikle tehlikelidir; çünkü uygulamanın ihtiyaç duyduğu tüm gizli bilgileri tek bir yerde toplarlar: veritabanı URL'leri, API anahtarları, imzalama sırları ve üçüncü taraf token'ları. Tek bir .env sızıntısı, uygulamanın bağlandığı tüm harici servisleri tehlikeye atabilir.
Ekiplerin .env dosyalarını paylaşmak için sıkça başvurduğu yöntemler — ve neden yetersiz kaldıkları:
- Slack/Discord DM'leri — Aranabilir, yedekleniyor ve çalışan ayrılmalarından sonra da kalıyor
- E-posta — Posta sunucularında düz metin olarak saklanıyor, çoğunlukla farkında olmadan iletiliyor
- Git commit'leri — Özel depolarda bile geçmişe gömülen gizli bilgileri tamamen kaldırmak neredeyse imkânsız
- Paylaşılan sürücüler — Son kullanma tarihi yok, erişim kontrolü yok, denetim kaydı yok
- 1Password/Bitwarden notları — Her iki tarafın da aynı kasada hesabı olmasını gerektirir
Daha İyi Bir Yaklaşım: Şifreli, Kendiliğinden Silinen Bağlantılar
Dosya içeriğini doğrudan göndermek yerine önce şifrele ve görüntülendikten sonra kendiliğinden silinen bir bağlantı paylaş.
Tarayıcıdan
- vaulted.fyi adresine git
.envdosyanın içeriğini yapıştır- Bir görüntüleme limiti (tek alıcı için 1 görüntüleme) ve son kullanma tarihi belirle
- Oluşturulan bağlantıyı takım arkadaşına gönder
İçerik, herhangi bir şey gönderilmeden önce tarayıcında AES-256-GCM ile şifrelenir. Şifre çözme anahtarı yalnızca URL fragment'inde bulunur — sunucu düz metni asla görmez.
Terminalden
Komut satırını tercih ediyorsan, Vaulted CLI aynı işi yapar:
# Pipe directly from the file
cat .env.production | npx vaulted-cli --views 1
# Or pass the file path
npx vaulted-cli --file .env.local --views 1 --expires 1h
# Add a passphrase for extra security
cat .env | npx vaulted-cli -v 1 -e 24h -p "ask-me-on-call"
CLI, web uygulamasıyla aynı şifrelemeyi kullanır — aynı algoritma, aynı zero-knowledge mimarisi, aynı kendiliğinden silinen bağlantılar. Çıktı, Slack'e veya başka bir yere yapıştırabileceğin tek bir URL'dir; alıcı görüntüledikten sonra otomatik olarak sona erer.
Peki Secrets Manager'lar Ne Olacak?
Doppler, Infisical ve AWS Secrets Manager gibi araçlar, gizli bilgilerin uygulamalar tarafından programatik olarak tüketildiği üretim ortamları için harikadır. Ancak farklı bir sorunu çözürler — servislerin otomatik olarak okuduğu gizli bilgileri yönetirler.
.env paylaşımı sorunu, insandan insana aktarımla ilgilidir: yeni bir geliştiricinin sisteme dahil edilmesi, bir yükleniciye staging yapılandırmasının gönderilmesi veya bir rotasyonun ardından güncellenmiş kimlik bilgilerinin dağıtılması. Bu aktarımın hızlı, güvenli olması ve alıcı tarafında hiçbir kurulum gerektirmemesi gerekir.
.env Dosyası Hijyeni İçin En İyi Uygulamalar
.envdosyalarını asla Git'e commit etme — Başından itibaren.env*ifadesini.gitignore'a ekle- Paylaşımdan sonra kimlik bilgilerini rotasyona uğrat — Her paylaşımı olası bir ifşa olarak değerlendir
- Görüntüleme limitli bağlantılar kullan — Alıcı başına bir görüntüleme, kısa son kullanma tarihi
- Üretim yapılandırmaları için bir parola ekle — Parolayı ayrı bir kanal üzerinden paylaş
- Hangi değişkenlerin gerekli olduğunu belgele — Deponda boş değerlerle bir
.env.exampletut
Ortam değişkenlerini Slack'e yapıştırmayı bırak. Onları Vaulted ile güvenli bir şekilde paylaş — tarayıcından veya terminalinden.
İlgili
- .env Dosyalarını Güvenli Paylaş — adım adım kılavuz
- .env Dosyası Doğrulayıcı — sözdizimi hatalarını ve sızdırılan gizli bilgileri kontrol et
- İstemci Tarafı Şifreleme Nedir? — verilerinin nasıl gizli kaldığı