Kesinti Yaşatmadan Sır ve Anahtar Rotasyonu (Secret Rotation)

Güvenlik ve Güven sir-yonetimi, rotasyon

Sırları döndürmek iki servis farklı anahtar tuttuğu için canlıyı çökertene kadar basit görünür. Sıfır kesintiyle rotasyon sağlayan çift anahtar deseni.

  • Yazar: Orzed Team
  • 1 dk okuma
Önemli çıkarımlar
  • Tek anahtarlı rotasyon kesintisiz yapılamaz; çift anahtarlı geçiş penceresi (dual-key window) en yalın ve kesin çözümdür.
  • Sır yöneticileri (Vault, AWS/GCP Secret Manager) depolamayı çözer; ancak çift anahtar kabulünü uygulama katmanı desteklemelidir.
  • Uzun ömürlü statik sırlar teknik borçtur; nihai hedef oturum bazlı kısa ömürlü dinamik kimlik bilgileridir.
  • Sır erişimlerinde denetim logları zorunludur; anahtarı hangi servisin kullandığını bilmiyorsanız güvenle döndüremezsiniz.

Çalıştığımız bir ekibin üç yıldır değiştirmediği bir canlı veritabanı şifresi vardı. Bir önceki denemelerinde üç servisten biri yeni şifreyi çekerken diğer ikisi önbellekteki eski şifreyi kullanmaya devam etmiş ve ana uygulama 40 dakika boyunca çökmüştü. O günden sonra şifrenin üzerine yazılmamış bir “dokunmayın” etiketi yapışmıştı.

Sorunu daha dikkatli olarak değil, çift anahtar (dual-key) desenini kurarak çözdük. Geçiş penceresi boyunca sistemin hem eski hem yeni sırrı kabul etmesini sağladık ve ekip o günden sonra her çeyrekte sıfır kesintiyle rotasyon yaptı.

Çift Anahtar Deseni ve Sır Yöneticisi Mimarisi

Tek anahtarlı rotasyon her zaman kesinti üretir çünkü tüm servisler önbelleklerini aynı milisaniyede yenilemez. Çift anahtar akışı dört adımda çalışır:

  1. Hedef sisteme (veritabanı, JWT doğrulayıcı veya API) V1 anahtarını silmeden yeni V2 anahtarını ekleyin; her ikisi de geçerli olsun.
  2. Sır yöneticisindeki (Vault, AWS Secrets Manager) güncel değeri V2 olarak güncelleyin.
  3. Tüm uygulama servislerinin önbelleklerini yenileyip V2 kullanmaya başlaması için geçiş penceresi (tipik olarak 30 dakika ila 24 saat) kadar bekleyin.
  4. Erişim loglarından hiçbir servisin V1 kullanmadığını doğrulayıp V1 anahtarını iptal edin.

Denetim Logları ve Kısa Ömürlü Dinamik Kimlik Bilgileri

Bir sırrı kimin kullandığını bilmiyorsanız onu güvenle döndüremezsiniz. Her sır okuma, yazma ve kimlik doğrulama denemesi zaman damgası ve servis kimliğiyle en az 90 gün loglanmalıdır. Kaynak koduna gömülmüş sırları ve ekipler arası paylaşılan ortak API anahtarlarını temizledikten sonraki en olgun aşama ise statik şifreleri tamamen bırakıp, Vault üzerinden her servis oturumu için 1 saat geçerli dinamik kimlik bilgileri üretmektir.

Sıkça sorulanlar

Sıkça sorulan sorular

Sırları ve şifreleri ne sıklıkla döndürmeliyiz?

Uzun ömürlü statik sırları en azından çeyreklik (yüksek hassasiyetlileri aylık), bir kasa (vault) tarafından üretilen dinamik kimlik bilgilerini ise saatlik veya oturum bazlı döndürmek idealdir.

Üçüncü parti servislerin API anahtarlarında nasıl hareket edilmeli?

Aynı çift anahtar prensibi geçerlidir. Sağlayıcı aynı anda iki aktif API anahtarına izin veriyorsa önce yenisini oluşturup dağıtın, sonra eskisini silin. İzin vermiyorsa rotasyonu en düşük trafikli saatte planlayın.

Sır rotasyonu tamamen otomatikleştirilebilir mi?

Veritabanı şifreleri ve iç servis tokenları için evet. Tüm tüketici servislerde çift anahtar deseni kurulduktan sonra AWS Secrets Manager veya HashiCorp Vault rotasyonu insan müdahalesi olmadan takvimle yürütebilir.