0Pricing
Cyber Security Academy · Ders

Dinamik Gizli Bilgiler ve Kiralama

Kısa ömürlü, süresi otomatik dolan kimlik bilgileri.

Dinamik Gizli Bilgiler ve Kiralama, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.

Statik ve Dinamik Gizli Bilgiler

Statik gizli bilgi, bir kez oluşturulup süresiz olarak yeniden kullanılır; on hizmetin yıllarca paylaştığı aynı veritabanı parolası buna örnektir. Statik gizli bilgiler varsayılandır; sorun da budur: uzun ömürlüdür, geniş ölçekte paylaşılır ve yenilenmesi zordur.

Dinamik gizli bilgi, isteğe göre oluşturulur, tek bir tüketiciye özgüdür ve süresi otomatik olarak dolar. Bir parolayı depolamak yerine kasa, her istendiğinde yepyeni bir kimlik bilgisi oluşturur.

Bu tek değişiklik, gizli bilgi yönetiminin en zor kısımlarını çözer: yenileme otomatik hale gelir ve herhangi bir sızıntının etki alanı neredeyse sıfıra iner.

Dinamik Gizli Bilgiler Nasıl Çalışır

Dinamik gizli bilgiler, kasanın arka uç sistemine ayrıcalıklı erişime sahip olmasını gerektirir. Bir veritabanı için akış şöyledir:

  • Bir yönetici, kasayı bir kök veritabanı kimlik bilgisi ve bir oluşturma şablonuyla yapılandırır.
  • Bir uygulama kimliğini doğrular ve bir kimlik bilgisi ister.
  • Kasa, veritabanında CREATE USER komutunu çalıştırır ve yeni bir kullanıcı adı ile parola döndürür.
  • Kira süresi dolduğunda kasa, DROP USER komutunu otomatik olarak çalıştırır.

Uygulama hiçbir zaman uzun ömürlü bir parola görmez; kimliğine ve kira süresine bağlı geçici bir parola alır.

# Configure Vault's database engine with a creation statement
vault write database/roles/billing-readonly \
  db_name=appdb \
  creation_statements="CREATE ROLE \"{{name}}\" LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT SELECT ON billing TO \"{{name}}\";" \
  default_ttl="1h" max_ttl="24h"

Dinamik Kimlik Bilgisi İsteme

Bir uygulamanın veritabanına erişmesi gerektiğinde kasadan bir kimlik bilgisi ister. Yanıt, yeni oluşturulmuş benzersiz bir kullanıcı adı ve parola ile bunun ne kadar süre geçerli olduğunu belirten bir kira süresidir.

Her tüketici kendi kimlik bilgisini alır. Aynı hizmetin iki örneği başlarsa iki farklı kullanıcı adı alırlar; bu da veritabanı düzeyinde tüketici bazında denetimi mümkün kılar.

vault read database/creds/billing-readonly

# Example response:
# lease_id     database/creds/billing-readonly/abc123
# lease_duration  1h
# password     A1b-2Cd3-temp-xyz
# username     v-approle-billing-9f3a2

Kiralar: Yaşam Süresi Sözleşmesi

Kira, bu gizli bilginin belirli bir süre boyunca geçerli olduğunu belirten bir sözleşmedir. Her dinamik gizli bilgi bir TTL (yaşam süresi) ve isteğe bağlı bir azami TTL taşır.

  • varsayılan TTL: kimlik bilgisinin süresi dolmadan önce ne kadar yaşadığı.
  • azami TTL: yenilemeler yapılsa bile aşılmayacak mutlak üst sınır.

Kira süresi dolduğunda kasa, kimlik bilgisini geçersiz kılar; veritabanı kullanıcısını etkin biçimde siler. Sürenin dolması yalnızca bir işaret değildir; gerçek bir temizleme işlemini tetikler. Dinamik gizli bilgilerin kendini iyileştirmesini sağlayan budur: çalınan bir kimlik bilgisi TTL süresi içinde işe yaramaz hale gelir.

Kiraları Yenileme ve Geçersiz Kılma

Kira süresinden daha uzun çalışan uygulamalar, süresi dolmadan önce bu süreyi yenilemelidir. Yenileme, TTL değerini azami TTL'ye kadar uzatır; bundan sonra uygulamanın yeni bir kimlik bilgisi istemesi gerekir.

İşletim ekipleri bir kirayı hemen geçersiz kılabilir; bu, bir olay sırasında acil durdurma mekanizmasıdır. Bir kirayı geçersiz kılmak, kalan TTL ne olursa olsun temel kimlik bilgisini derhal siler.

Bir hizmeti veya ortamı bütünüyle anında devre dışı bırakmak için bir ön ekle eşleşen tüm kiraları bile geçersiz kılabilirsiniz.

# Renew a lease before it expires
vault lease renew database/creds/billing-readonly/abc123

# Revoke a single lease immediately (incident kill switch)
vault lease revoke database/creds/billing-readonly/abc123

# Revoke every lease under a path prefix
vault lease revoke -prefix database/creds/billing-readonly

Veritabanlarının Ötesinde

Dinamik gizli bilgiler yalnızca veritabanlarıyla sınırlı değildir. Vault ve benzeri araçlar birçok sistem için kısa ömürlü kimlik bilgileri oluşturur:

  • Bulut IAM: STS tarzı rol üstlenme yoluyla geçici AWS/GCP/Azure erişim anahtarları.
  • SSH: statik anahtarlar yerine imzalı, kısa ömürlü SSH sertifikaları.
  • PKI/TLS: isteğe göre, kısa geçerlilik süreli sertifikalar.
  • RabbitMQ, MongoDB, Consul: geçici hizmet kimlik bilgileri.

Model her yerde aynıdır: isteyin, kısa süre kullanın, otomatik olarak geçersiz olmasını sağlayın. Uzun ömürlü statik bulut anahtarları sık rastlanan ihlal kaynaklarıdır; dinamik IAM kimlik bilgileri bunları ortadan kaldırır.

# Generate temporary AWS credentials scoped to a role
vault read aws/creds/deploy-role
# returns short-lived access_key, secret_key, security_token

# Sign an SSH key for short-lived access (valid minutes, not forever)
vault write ssh/sign/admin public_key=@id_ed25519.pub ttl=15m

Dinamik Gizli Bilgiler Etki Alanını Neden Küçültür

Her modelde bir kimlik bilgisinin sızdığını düşünün:

  • Statik: parola, bir insan fark edip yenileyene ve tüm tüketicileri güncelleyene kadar geçerlidir. Maruz kalma süresi günler veya aylardır.
  • Dinamik: kimlik bilgisinin süresi TTL içinde (çoğunlukla dakikalar ile bir saat arasında) dolar ve bu bilgi tek bir tüketiciyle, en az ayrıcalıklarla sınırlandırılmıştır. Maruz kalma süresi çok kısadır ve hasar kontrol altındadır.

Dinamik gizli bilgiler, yenilemeyi zahmetli bir elle yürütülen projeden sistemin otomatik ve sürekli bir özelliğine dönüştürür.

Kök Kimlik Bilgisi Karşılığında Yapılan Ödünleşim

Dinamik gizli bilgiler güçlüdür; ancak kasa, oluşturup verdiği kullanıcıları yönetebildiği her arka uç sistem için yüksek ayrıcalıklı bir kök kimlik bilgisi tutmalıdır. Bu, riski kasada yoğunlaştırır.

Önlemler:

  • Kök kimlik bilgisinin kendisini yenileyin; böylece kasa bile özgün yönetici parolasını elinde tutmaz.
  • Kök hesabın yetkilerini, kullanıcı oluşturup silmek için gerekenlerle tam olarak sınırlandırın; daha fazlasını vermeyin.
  • Artık yüksek değerli bir hedef olduğundan kasa ana bilgisayarını sıkı biçimde yalıtın ve agresif şekilde izleyin.

Vault kendi kök kimlik bilgisini yenileyebilir; böylece kurulumdan sonra hiçbir insan bunu bilmez.

# After configuring the engine, rotate the root credential
# so even operators no longer know the original password
vault write -force database/rotate-root/appdb

Uygulama Kodunda Süresi Dolan Kimlik Bilgilerini Ele Alma

Uygulamalar, kimlik bilgilerinin değişmesini bekleyecek şekilde yazılmalıdır. Statik gizli bilgilerde kod parolayı başlangıçta bir kez okur. Dinamik gizli bilgilerde kod şunları yapmalıdır:

  • Bir kimlik bilgisi alın ve kira süresinin TTL değerini not edin.
  • Kira süresini yenileyin veya süresi dolmadan önce yeni bir kimlik bilgisini yeniden alın.
  • Eski kimlik bilgisi geçersiz kılındığında düzgün biçimde yeniden bağlanın.

Yaygın bir model, kira yaşam döngüsünü yöneten ve yerel bir gizli bilgi dosyasını yeniden yazan, yanında çalışan bir aracıdır; böylece uygulama yalnızca yapılandırmasını yeniden yükler. Bağlantı havuzları da yenilenmelidir; aksi halde süresi dolmuş bir kimlik bilgisine bağlı kalabilirler.

# Vault Agent auto-renews and re-templates on rotation
auto_auth { method "approle" { ... } }
template {
  contents    = "{{ with secret \"database/creds/billing-readonly\" }}{{ .Data.username }}:{{ .Data.password }}{{ end }}"
  destination = "/run/secrets/db"
  command     = "systemctl reload billing-app"
}

Statik Gizli Bilgilerin Kaçınılmaz Olduğu Durumlar

Her gizli bilgi dinamik olamaz. Bazı üçüncü taraf API'leri isteğe göre oluşturulamayan tek bir uzun ömürlü anahtar verir. Bu statik gizli bilgiler için telafi edici kontroller uygulayın:

  • Bunları kodda asla tutmayın, kasada depolayın.
  • En az ayrıcalıkla sınırlandırın.
  • Belirli bir takvime göre yenileyin (bir sonraki derste ele alınacaktır).
  • Anormallikleri saptamak için kullanımlarını izleyin.

Temel kural şudur: dinamik olanı tercih edin; statik kullanmak zorunda kaldığınızda sürekli yenileyin ve denetleyin.

CI/CD'de Dinamik Gizli Bilgiler

CI/CD işlem hatları başlıca kullanım alanlarından biridir. Bir işlem hattı geleneksel olarak uzun ömürlü dağıtım anahtarlarını tutar; bu da onu cazip bir hedef haline getirir. Dinamik gizli bilgilerle işlem hattı:

  • OIDC kimliğini kullanarak kasada kimliğini doğrular (ör. GitHub Actions OIDC belirteci).
  • Yalnızca işin süresi boyunca geçerli olan kısa ömürlü bulut kimlik bilgileri ister.
  • İş sona erdiğinde bunların sürelerinin otomatik olarak dolmasını sağlar.

Hiçbir uzun ömürlü dağıtım anahtarı oluşturulmaz. Ele geçirilmiş bir işlem hattı günlüğü, biri okuyana dek zaten geçersizleşmiş bir kimlik bilgisini açığa çıkarır.

# GitHub Actions job exchanges its OIDC token for a short-lived AWS role
# No static AWS keys stored as repo secrets
permissions:
  id-token: write
steps:
  - uses: aws-actions/configure-aws-credentials@v4
    with:
      role-to-assume: arn:aws:iam::123:role/deploy
      aws-region: eu-central-1

Hızlı Kontrol

Kira süreleri ve dinamik gizli bilgiler hakkındaki anlayışınızı sınayın.

Özet: Dinamik Gizli Bilgiler ve Kiralama

Kısa ömürlü ve süresi otomatik olarak dolan kimlik bilgilerinin gizli bilgi yönetimini nasıl dönüştürdüğünü öğrendiniz.

  • Dinamik gizli bilgiler isteğe göre oluşturulur, her tüketiciye özgüdür ve yeniden kullanılan statik gizli bilgilerin aksine süreleri otomatik olarak dolar.
  • Bir kira, TTL ve azami TTL tanımlar; süre dolduğunda kasa gerçek bir temizleme işlemi gerçekleştirerek kimlik bilgisini geçersiz kılar.
  • Kiralar uzun süre çalışan uygulamalar tarafından yenilenebilir veya bir olay sırasında acil durdurma mekanizması olarak anında geçersiz kılınabilir.
  • Dinamik gizli bilgiler veritabanlarında, bulut IAM'de, SSH'de, PKI'da ve daha birçok yerde çalışır; etki alanını küçültür ve yenilemeyi otomatikleştirir.
  • Ödünleşim, kasada ayrıcalıklı bir kök kimlik bilgisinin bulunmasıdır; bunu yenileyin ve yetkilerini sıkı biçimde sınırlandırın.
  • Uygulamalar ve CI/CD, süresi dolan kimlik bilgilerini ele alacak şekilde yazılmalıdır; dinamiği tercih edin ve kaçınılmaz olduğunda statik gizli bilgileri yenileyin.

Sırada anahtarları yenilemeyi ve gözden kaçan sızıntıları tespit etmeyi ele alacağız.

Sıkça Sorulan Sorular

“Dinamik Gizli Bilgiler ve Kiralama” dersi ücretsiz mi?

Evet — “Dinamik Gizli Bilgiler ve Kiralama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.

“Dinamik Gizli Bilgiler ve Kiralama” dersinde ne öğreneceğim?

Kısa ömürlü, süresi otomatik dolan kimlik bilgileri. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Dinamik Gizli Bilgiler ve Kiralama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Gizli Bilgilerin Dağınık Hâle Gelmesi Sorunu
  2. Kasa ve Gizli Bilgi Depoları
  3. Dinamik Gizli Bilgiler ve Kiralama
  4. Anahtar Döndürme ve Tespit
← Cyber Security Academy Sayfasına Dön