← blog · 14 Ekim 2026

Fidye Yazılımına Dayanıklı Yedek: Nesne Kilidi, Sürümleme ve Yazan ile Silenin Ayrılması

Üretim sunucusundan silinebilen bir yedek, o sunucuyu ele geçiren için de silinebilir. Nesne kilidinin iki kipi, ekleme-yalnızca kimlik, anahtarın yeri ve anlık görüntüyle karşılaştırma.

Yedek stratejilerinin çoğu bir varsayım üzerine kurulur: veri bozulursa ya da donanım ölürse yedeğe dönülür. Fidye yazılımı bu varsayımı tersine çevirir, çünkü saldırgan önce yedeği arar. Üretim sunucusundan erişilebilen bir yedek deposu, o sunucuyu ele geçiren birinin de erişebildiği bir depodur. Aynı anahtarla hem yazılabilen hem silinebilen bir yedek, teknik olarak yedektir ama saldırı senaryosunda yoktur.

Bu yazı, yedeği "silinemez" hale getiren mekanizmaları ve bunların gerçekte nereye kadar koruduğunu ele alıyor.

Kopya sayısı değil, kopyanın bağımsızlığı

Klasik 3-2-1 kuralı (üç kopya, iki farklı ortam, biri dışarıda) donanım arızası için tasarlanmıştı. Fidye senaryosunda eklenmesi gereken iki şart var: kopyalardan biri değiştirilemez olmalı ve geri yükleme doğrulanmış olmalı. Buna 3-2-1-1-0 deniyor ve asıl ağırlık son iki hanede.

Burada ölçülmesi gereken şey kopya sayısı değil, kopyaların ortak bir hata noktası paylaşıp paylaşmadığı. Üç kopyanız aynı nesne depolama hesabındaysa, o hesabın anahtarı tek hata noktasıdır. Aynı şekilde, yedek alma işini yapan makine yedeği silme yetkisine de sahipse, o makine tek hata noktasıdır. Soruyu şöyle sormak işe yarar: üretim ortamına tam yetkiyle giren biri, kaç komutla bütün geri dönüş noktalarını yok edebilir? Cevap "bir" ise, kopya sayısının önemi yoktur.

Nesne kilidi: silmeyi depolama katmanında yasaklamak

S3 uyumlu nesne depolamada bu işin karşılığı nesne kilidi (object lock). Sürümleme açıkken her yazma yeni bir sürüm üretir, silme ise bir silme işaretçisi koyar; kilit ise belirtilen süre boyunca sürümün üzerine yazılmasını ve silinmesini reddeder. İki kipi var ve aradaki fark operasyonel olarak kritik.

GOVERNANCE kipinde, özel bir yetkiye sahip bir kullanıcı kilidi aşabilir. Yanlış yapılandırmayı düzeltmek için iyidir; saldırgan o yetkiyi ele geçirirse koruma yoktur. COMPLIANCE kipinde kimse, hesap yöneticisi dahil, süre dolmadan nesneyi silemez. Gerçek koruma budur, ve aynı özellik en büyük riskidir: yanlışlıkla on yıllık kilitle yazılmış terabaytlarca veri için on yıl boyunca ödeme yaparsınız. Üretime almadan önce kısa süreli bir kilitle (örneğin yedi gün) deneyip davranışı ölçmek, bu özelliği ilk kez kuranların atlamaması gereken adım.

Minimum düzen şöyle görünür: kovada sürümleme açık, varsayılan saklama süresi tanımlı, eski sürümleri kilit süresinden sonra temizleyen bir yaşam döngüsü kuralı var. Yaşam döngüsü kuralı olmadan sürümleme açmak, en sık rastlanan maliyet hatasıdır: silinen her şey sürüm olarak kalır, fatura sessizce büyür ve kimse nereye gittiğini anlamaz.

Kimlik ayrımı: yazan ile silen aynı olmasın

Nesne kilidi olmayan bir depoda da savunmanın büyük kısmını kimlik tarafında kurabilirsiniz. Yedek alan kimliğin yalnızca ekleme yetkisi olur; silme ve saklama politikasını uygulama işi ayrı bir kimliğe, tercihen ayrı bir makinede çalışan bir işe verilir.

Pratikte bu, nesne depolamada yazma izni olan ama DeleteObject ve PutObjectRetention izni olmayan bir politika demek. Yedek araçları tarafında da karşılığı var: yaygın yedek araçlarının sunucu bileşenleri ekleme-yalnızca kipte çalıştırılabilir, bu kipte istemci yeni veri yazar, var olanı silemez. Saklama temizliği (prune) o zaman depo tarafından, istemciden bağımsız bir zamanlamayla yapılır.

Bu düzenin bedeli, yedek silmenin artık kolay olmaması. Yanlış yazılmış bir saklama kuralı, temizlenmesi için ek bir adım gerektirir. Kazandırdığı şey ise şudur: üretim sunucusunun tam yetkiyle ele geçmesi, geri dönüş noktalarını yok etmeye yetmez.

Şifreleme ve anahtarın yeri

Yedeğin şifrelenmesi gizliliği korur, silinmeye karşı bir şey yapmaz. Üstelik yanlış kurulduğunda kendisi bir kayıp sebebidir: şifreleme anahtarı yalnızca üretim sunucusunda duruyorsa, o sunucu kaybolduğunda yedek okunamaz hale gelir. Anahtarın en az iki bağımsız yerde bulunması, bunlardan birinin çevrimdışı olması ve geri yükleme tatbikatının anahtarı o ikinci yerden alarak yapılması gerekir. Tatbikat anahtarı üretimden okuyorsa, test ettiğiniz şey gerçek felaket senaryosu değildir.

Silme girişimini ve duran yedeği görünür kılmak

Kilit koymak kadar önemli olan, kilidin çalıştığını ve yedeğin akmaya devam ettiğini görmek. Saldırıların bir kısmı veriyi şifrelemeden önce yedeği sessizce durdurur: kimlik iptal edilir, zamanlanmış iş kapatılır, kova adı değişir. Bunların hiçbiri hata üretmez, yalnızca yeni geri dönüş noktası oluşmaz.

Bu yüzden izlenmesi gereken ölçü "yedek işi başarılı döndü mü" değil, "en yeni geri dönüş noktası kaç saatlik" olmalı. İlki yedek aracının kendi raporuna güvenir, ikincisi depoya bakar ve iş hiç koşmadığında da kırmızıya döner. Yanına nesne depolamadaki silme ve saklama değiştirme çağrılarının denetim kaydını koyun; reddedilmiş bir silme girişimi, normal işletimde hiç görülmemesi gereken bir olaydır ve görüldüğünde haber vermesi gerekir.

Yaklaşımların karşılaştırması

Dosya sistemi anlık görüntüleri (ZFS, btrfs, LVM) ucuz ve hızlıdır, saniyeler içinde geri dönüş sağlar. Ama aynı makinede, aynı havuzdadır; havuzu yöneten root hesabı ele geçerse anlık görüntüler de silinebilir. Operasyonel hatalara karşı mükemmel, kasıtlı saldırıya karşı zayıf.

Nesne kilitli uzak depo tersi profile sahip: geri yükleme yavaştır ve ağ maliyeti vardır, ama silmeye karşı gerçek direnç sunar. Soğuk depolama ve teyp, maliyet ve yalıtım açısından en iyi, geri yükleme süresi açısından en kötü.

Pratikte doğru cevap bunlardan birini seçmek değil, katmanlamak. Günlük işletim hatalarını anlık görüntülerle, veri bozulmasını düzenli tam yedeklerle, kasıtlı silmeyi nesne kilitli uzak kopyayla karşılamak. Yalnızca anlık görüntüye güvenen bir düzen, bana sorarsanız yedeklenmiş sayılmaz; yalnızca uzak kopyaya güvenen bir düzen de her küçük hatada saatler kaybeder.

Tuzaklar

Saklama süresi hesabı beklendiği gibi çalışmayabilir. Kilit süresi nesne başına yazıldığı için, kovaya sonradan değiştirilen varsayılan süre eski nesneleri etkilemez. "Artık otuz gün kilitliyoruz" denilen bir kovada, dünden önce yazılmış nesneler hâlâ eski süreyle durur.

Saat kayması bir diğer tuzak. Kilit süresi mutlak zamana yazılır; makinenin saati ileri kaymışsa, yazılan kilit beklenenden kısa olur.

"Değişmez" kelimesini kullanan ama yönetici arayüzünden silmeye izin veren depolama hizmetleri var. Bunu belgeye güvenerek değil, deneyerek ölçün: bir test nesnesi yazın ve onu silmeyi her yetkili kimlikle deneyin. Silinebiliyorsa o depo bu senaryo için uygun değil.

Son olarak, yedek sisteminin kendi yapılandırması da yedeklenmeli. Depo anahtarı, saklama kuralları ve geri yükleme adımları yalnızca ele geçen makinede duruyorsa, elinizdeki şey okunabilir ama nasıl açılacağı bilinmeyen bir arşivdir.

Ne zaman bu kadarına gerek yok

Yeniden üretilebilen veri için bu yapı fazladır. Derleme çıktıları, önbellek, türetilmiş küçük resimler: bunların kaynağı duruyorsa yedeği de ucuz tutulur. Ayrımı baştan yapmak, maliyeti doğru yere koymanın en kolay yolu: hangi veri kaybolursa işin durur, hangi veri yeniden üretilir? Nesne kilidi, şifreleme ayrımı ve kimlik ayrımı yalnızca ilk gruba uygulanır.

[ ← burak.sh'a dön ]