Kesinti Yaşatmadan Sır ve Anahtar Rotasyonu (Secret Rotation)
- 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:
- Hedef sisteme (veritabanı, JWT doğrulayıcı veya API)
V1anahtarını silmeden yeniV2anahtarını ekleyin; her ikisi de geçerli olsun. - Sır yöneticisindeki (Vault, AWS Secrets Manager) güncel değeri
V2olarak güncelleyin. - Tüm uygulama servislerinin önbelleklerini yenileyip
V2kullanmaya başlaması için geçiş penceresi (tipik olarak 30 dakika ila 24 saat) kadar bekleyin. - Erişim loglarından hiçbir servisin
V1kullanmadığını doğrulayıpV1anahtarı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 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.