Ana içeriğe geç

Secrets Management

Sır Yönetimi

Okunuşu
sikrits menicmınt
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/secrets-management

Kısaca

Secrets management, parola, API anahtarı ve token gibi hassas kimlik bilgilerini güvenle saklama, dağıtma, döndürme ve denetleme pratiğidir.

Secrets management nedir?

Sır (secret), bir şeye erişim veren her değerdir: veritabanı parolası, API anahtarı, özel bir şifreleme anahtarı veya bir OAuth istemci sırrı. Secrets management, bu değerleri kaynak kodun dışında tutan, kimlerin ve nelerin onları okuyabileceğini sınırlayan ve değiştirmeyi kolaylaştıran araçlar ve alışkanlıklar bütünüdür. Amacı basittir: sızan bir depo, günlük dosyası veya dizüstü bilgisayar, bir saldırganın eline production'ın anahtarlarını vermemelidir.

Tipik bir kurulumda sırlar, kimi zaman vault olarak da adlandırılan özel bir secrets manager'da yaşar; bu servis onları beklemede şifreler ve erişimi kimlik doğrulama ve ince taneli politikalarla denetler. Uygulamalar sırları başlangıçta veya çalışma zamanında kendi iş yükü kimlikleriyle (workload identity) çeker ya da dağıtım platformunun enjekte ettiği ortam değişkenleri veya bağlanmış dosyalar olarak alır. İyi sistemler her erişimi günlüğe kaydeder, sırları belirli aralıklarla döndürür ve otomatik sona eren kısa ömürlü dinamik kimlik bilgileri verebilir; böylece çalınan bir değer yalnızca dakikalar veya saatler boyunca işe yarar.

Paspasın altındaki yedek anahtar yerine bir otel oda kartı sistemini düşünün. Kartlar yalnızca kayıtlı misafirlere verilir, sadece kendi odalarında ve kalış süreleri boyunca çalışır, anında iptal edilebilir ve her kapı kimin açtığını kaydeder. Secrets management, aynı denetimi uygulamaların, CI/CD hatlarının ve infrastructure-as-code araçlarının kullandığı kimlik bilgilerine getirir.

Yaygın bir karışıklık, sırlar ile sıradan yapılandırma arasındadır. Günlük düzeyi veya feature flag gibi ayarlar açığa çıksa zararsızdır; sır ise sızarsa tehlikelidir, bu yüzden şifreleme, erişim denetimi ve döndürme gerektirir. Ortam değişkenleri bir teslim mekanizmasıdır, kendi başına güvenli bir depolama değildir: Git'e commit edilmiş bir .env dosyası ya da çökme günlüğünde yazdırılmış bir değişken hâlâ bir sızıntıdır.

Önemli noktalar

  • Sırlar arasında parolalar, API anahtarları, token'lar, sertifikalar ve özel anahtarlar bulunur.
  • Sırları asla koda gömmeyin veya sürüm kontrolüne commit etmeyin.
  • Sırları, erişim politikaları ve denetim günlükleri olan şifreli bir secrets manager'da saklayın.
  • Sırları düzenli olarak döndürün ve kısa ömürlü, otomatik sona eren kimlik bilgilerini tercih edin.
  • Commit'lerdeki ve CI günlüklerindeki sızıntıları erken yakalamak için secret scanning kullanın.

Örnek

Bir sırrı koda gömmek yerine çalışma zamanında okumaktypescript
// Bad: the secret is in source code and stays in Git history forever
// const dbPassword = "s3cr3t-p@ssw0rd";

// Good: the platform or secrets manager injects the value at runtime
const dbPassword = process.env.DB_PASSWORD;

if (!dbPassword) {
  // Fail fast, and never log the secret's value
  throw new Error("DB_PASSWORD is not set");
}

Sık sorulan sorular

Yanlışlıkla Git'e bir sır commit ettiysem ne yapmalıyım?

Onu ele geçirilmiş sayın: hemen iptal edin veya döndürün, ardından koddan kaldırın. Dosyayı yeni bir commit'te silmek yeterli değildir; çünkü değer Git geçmişinde kalır ve otomatik tarayıcılar tarafından zaten kopyalanmış olabilir.

Ortam değişkenleri sırlar için yeterince güvenli midir?

Sırları bir uygulamaya iletmenin yaygın ve makul bir yoludur, ancak bir depolama sistemi değildir. Değerler bir secrets manager'dan veya platformun sır deposundan gelmeli; bunları günlüklere yazdırmaktan veya ihtiyacı olmayan süreçlere geçirmekten kaçınmalısınız.

Sır döndürme (secret rotation) nedir?

Sır döndürme, bir sırrı belirli aralıklarla ya da şüpheli bir sızıntıdan sonra yeni bir değerle değiştirmek, ardından eskisini devreden çıkarmak demektir. Otomatik döndürme ve kısa ömürlü kimlik bilgileri, çalınan bir sırrın ne kadar süre işe yarayacağını sınırlar.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar