Ders 12 / 12
Olay Müdahalesinde Bulut Farkları
Bulutta kanıt toplamanın konak imajından farkının sayılması: 20 kanıt kaleminin 16'sı kendi yönettiğin konakta toplanabiliyor, bunların 4'ü yönetilen örnekte, 11'i konteyner servisinde, 14'ü işlev ortamında toplanamıyor. Yalıtım dört düzlemden yapılabiliyor: kimlik düzlemi 11. dakikada kesip yarıçapı 13'te durduruyor ve uçucu kanıtın beşini de koruyor, örneği sonlandırmak aynı yarıçapı beş uçucu kalemin tamamını silerek veriyor. Anlık görüntü 16 kalemin 10'unu taşıyor ve hepsinin doğrulaması sağlayıcı beyanına dayanıyor.
İçindekiler
Önceki ders kalıpları sayıp kapatan denetimleri sıraya koydu. Geriye tek soru kaldı: bu kalıplardan biri gerçekten işlediğinde ne toplanabiliyor. Olay müdahalesinin yaşam döngüsü, delil bütünlüğü, gözetim zinciri ve yazma korumalı kopyalama Güvenlik Operasyonları ve Olay Müdahalesi kursunda ölçüldü; müdahale adımları burada tekrarlanmaz. Bu dersin ölçtüğü tek şey farktır: kendi yönettiğin bir konakta toplanabilen kaç kalem kiralanmış altyapıda toplanamıyor, yalıtım hangi düzlemden yapılıyor ve anlık görüntünün kanıt değeri nedir.
Ölçüm bölgesel ölçüm ağı üzerindedir, kurgudur ve node ile yazılmış bir modeldir.
BT31. Yirmi kanıt kalemi dört sütunda işaretlenir: kendi yönettiğin konak, yönetilen örnek, yönetilen konteyner servisi, işlev çalıştırma ortamı. BT32. İşaret üç değerlidir: kiracı doğrudan toplar, ancak sağlayıcı isteğiyle gelir, toplanamaz. BT33. Her kalem için doğrulamayı kimin yapabildiği yazılıdır: kiracı, sağlayıcı beyanı ya da hiçbiri. BT34. Beş kalem uçucudur: iş yükü sonlandığında kaybolur. Anlık görüntü uçucu sınıfı ve silinmiş dosya artıklarını taşımaz. BT35. Yalıtım dört düzlemden yapılabilir; her düzlemin uygulama süresi, kestiği kenar sınıfı ve durdurduğu meşru iş sayısı modelde yazılıdır (kurgu). Uyarının düştüğü an birinci dersten alınan 9. dakikadır.
Konakta Toplanan, Bulutta Toplanamayan
// kanit.mjs — konakta toplanabilen kanit kalemlerinin bulutta toplanabilirligi. MODELDIR. // Kanit kalemlerinin kendisi ve gozetim zinciri Guvenlik Operasyonlari ve Olay Mudahalesi // kursunda olculdu; burada yalnizca KONAK ile BULUT arasindaki fark sayilir. const bol = (s) => s.trim().split("\n").map((l) => l.trim().split("|")); // Kalem: ad|konak|yonetilen ornek|konteyner servisi|islev ortami|dogrulamayi kim yapabilir // 1 = kiraci dogrudan toplar, 2 = ancak saglayici istegiyle gelir, 0 = toplanamaz export const KALEM = bol(` tam-disk-imaji|1|2|0|0|saglayici bellek-dokumu|1|0|0|0|- silinmis-dosya-artiklari|1|0|0|0|- donanim-katmani-kaydi|1|0|0|0|- hipervizor-kaydi|1|0|0|0|- dosya-sistemi-zaman-damgalari|1|2|0|0|saglayici surec-listesi|1|1|1|0|kiraci acik-ag-baglantilari|1|1|1|0|kiraci yuklu-cekirdek-modulleri|1|1|0|0|kiraci kabuk-gecmisi|1|1|0|0|kiraci zamanlanmis-gorevler|1|1|0|0|kiraci yerel-kullanici-hesaplari|1|1|0|0|kiraci onbellek-ve-gecici-dosyalar|1|1|0|0|kiraci sistem-gunlukleri|1|1|1|0|kiraci uygulama-gunlukleri|1|1|1|1|kiraci ag-akis-kaydi|1|1|1|1|saglayici yonetim-duzlemi-kaydi|0|1|1|1|saglayici cagri-ust-verisi|0|1|1|1|saglayici anlik-goruntu-ust-verisi|0|1|1|0|saglayici goruntu-kimlik-dogrulamasi|0|1|1|1|saglayici`) .map(([ad, k, o, c, i, d]) => ({ ad, konak: +k, ornek: +o, kap: +c, islev: +i, dogrulama: d })); const BICIM = [["yonetilen ornek", "ornek"], ["konteyner servisi", "kap"], ["islev ortami", "islev"]]; const gen = (B) => (h) => h.map((v, j) => j ? String(v).padStart(B[j]) : String(v).padEnd(B[0])) .join(""); // Ucucu kalemler: is yuku sonlandiginda kaybolur. Anlik goruntu disk sinifini tasir. export const UCUCU = ["bellek-dokumu", "surec-listesi", "acik-ag-baglantilari", "yuklu-cekirdek-modulleri", "onbellek-ve-gecici-dosyalar"]; export const ANLIK_DISI = [...UCUCU, "silinmis-dosya-artiklari"]; const konakta = KALEM.filter((k) => k.konak === 1); if (import.meta.url === `file://${process.argv[1]}`) { const yz = gen([24, 11, 14, 15, 17, 16]); console.log(`${KALEM.length} kanit kalemi; kendi yonettigin konakta toplanabilen ` + `${konakta.length}, konakta hic olmayan ${KALEM.length - konakta.length}`); console.log("\n" + yz(["dagitim bicimi", "dogrudan", "saglayicidan", "toplanamayan", "konaktan eksik", "buluttan gelen"])); for (const [ad, alan] of BICIM) { const dogrudan = KALEM.filter((k) => k[alan] === 1).length; const saglayici = KALEM.filter((k) => k[alan] === 2).length; const eksik = konakta.filter((k) => k[alan] === 0).length; const yeni = KALEM.filter((k) => k.konak === 0 && k[alan] >= 1).length; console.log(yz([ad, dogrudan, saglayici, KALEM.length - dogrudan - saglayici, eksik, yeni])); } const D = ["kiraci", "saglayici", "-"]; console.log("\n" + yz(["dogrulamayi yapan", "kalem", "konakta", "ornekte", "kapta", "islevde"])); for (const d of D) { const g = KALEM.filter((k) => k.dogrulama === d); console.log(yz([d === "-" ? "hicbiri" : d, g.length, g.filter((k) => k.konak === 1).length, g.filter((k) => k.ornek >= 1).length, g.filter((k) => k.kap >= 1).length, g.filter((k) => k.islev >= 1).length])); } const kiraciDog = KALEM.filter((k) => k.dogrulama === "kiraci"); console.log(`\nkonakta toplanabilen ${konakta.length} kalemin ` + `${konakta.filter((k) => k.ornek === 0).length} tanesi yonetilen ornekte, ` + `${konakta.filter((k) => k.kap === 0).length} tanesi konteyner servisinde, ` + `${konakta.filter((k) => k.islev === 0).length} tanesi islev ortaminda toplanamiyor`); console.log(`bulut karsiliginda ${KALEM.filter((k) => k.konak === 0).length} kalem veriyor: ` + `bunlarin hepsinin dogrulamasi saglayici beyanina dayaniyor`); console.log(`kiracinin kendi dogrulayabildigi ${kiraciDog.length} kalemin ` + `${kiraciDog.filter((k) => k.islev >= 1).length} tanesi islev ortaminda kaliyor; ` + `geri kalan her sey icin dogrulama saglayici beyanidir`); }
20 kanit kalemi; kendi yonettigin konakta toplanabilen 16, konakta hic olmayan 4 dagitim bicimi dogrudan saglayicidan toplanamayan konaktan eksik buluttan gelen yonetilen ornek 14 2 4 4 4 konteyner servisi 9 0 11 11 4 islev ortami 5 0 15 14 3 dogrulamayi yapan kalem konakta ornekte kapta islevde kiraci 9 9 9 4 1 saglayici 7 3 7 5 4 hicbiri 4 4 0 0 0 konakta toplanabilen 16 kalemin 4 tanesi yonetilen ornekte, 11 tanesi konteyner servisinde, 14 tanesi islev ortaminda toplanamiyor bulut karsiliginda 4 kalem veriyor: bunlarin hepsinin dogrulamasi saglayici beyanina dayaniyor kiracinin kendi dogrulayabildigi 9 kalemin 1 tanesi islev ortaminda kaliyor; geri kalan her sey icin dogrulama saglayici beyanidir
Yirmi kalemin on altısı kendi yönettiğin bir konakta toplanabiliyor. Yönetilen bir örnekte bu sayının dördü düşüyor ve düşenler rastgele değil: bellek dökümü, silinmiş dosya artıkları, donanım katmanı kaydı, hipervizör kaydı. Dördü de konağın altındaki katmandan gelir ve o katman kiracıya ait değildir. Konteyner servisinde on bir kalem, işlev çalıştırma ortamında on dört kalem toplanamaz hale gelir; işlev ortamında geriye kalan beş kalemin dördü sağlayıcının kendi kayıtlarıdır.
Fatura tek yönlü değil. Bulut, konakta hiç bulunmayan dört kalem veriyor: yönetim düzlemi kaydı, çağrı üst verisi, anlık görüntü üst verisi ve görüntünün kimlik doğrulaması. Bunlar gerçek kanıt kalemleridir ve kendi yönettiğin bir konakta karşılıkları yoktur. Ama dördünün de doğrulaması sağlayıcı beyanına dayanır: kiracı bu kayıtların üretildiği düzleme erişemez, dolayısıyla içeriklerini bağımsız olarak yeniden hesaplayamaz.
Alt tablo bu ayrımı sayıya çeviriyor. Kiracının kendi doğrulayabildiği dokuz kalem vardır ve dokuzu da konakta bulunur; yönetilen örnekte dokuzu da kalır, konteyner servisinde dörde, işlev ortamında bire iner. Kanıtın azalması ile doğrulanabilirliğin azalması aynı yönde ilerliyor ve işlev ortamında ikisi birden dibe vuruyor.
Yalıtım Hangi Düzlemden
// mudahale.mjs — yalitim hangi duzlemden yapilirsa yaricap nerede duruyor ve kac ucucu kanit // kalemi kayboluyor. MODELDIR. Mudahale yasam dongusu onceki kursta olculdu; burada yalnizca // duzlem secimi sayilir. import { KALEM, UCUCU, ANLIK_DISI } from "./kanit.mjs"; const bol = (s) => s.trim().split("\n").map((l) => l.trim().split("|")); const KENAR = bol(` portal-hizmet-hesabi|portal-ornegi|ag|3 portal-hizmet-hesabi|okuma-rolu|yonetim|4 portal-ornegi|portal-ornek-kimligi|ornek-ici|2 portal-ornek-kimligi|abone-veritabani|ag|6 portal-ornek-kimligi|sir-deposu|yonetim|4 sir-deposu|toplama-is-yuku-kimligi|yonetim|3 toplama-is-yuku-kimligi|sayac-ham-kova|ag|5 toplama-is-yuku-kimligi|olcum-kuyrugu|ag|4 toplama-is-yuku-kimligi|izleme-rolu|yonetim|4 izleme-rolu|olcum-panosu|yonetim|3 portal-ornek-kimligi|fatura-toplu-is-rolu|yonetim|3 fatura-toplu-is-rolu|fatura-arsiv-kovasi|ag|6 fatura-toplu-is-rolu|anahtar-yonetimi|yonetim|4 anahtar-yonetimi|musteri-anahtari|yonetim|2 fatura-toplu-is-rolu|yedekleme-rolu|yonetim|3 yedekleme-rolu|yedek-kovasi|ag|7 yedekleme-rolu|dagitim-rolu|yonetim|4 dagitim-rolu|sablon-deposu|ag|5 dagitim-rolu|yapilandirma-kovasi|ag|4 dagitim-rolu|is-yuku-ornegi|ornek-ici|9 okuma-rolu|rapor-kovasi|ag|4 okuma-rolu|gunluk-kovasi|ag|5 okuma-rolu|yapilandirma-kovasi|ag|6`).map(([k, h, d, s]) => ({ k, h, d, s: +s })); const UYARI = 9; // birinci derste olculen ilk gorunur kayit ani (dk) // Yalitim duzlemi: ad|uygulama suresi (dk)|kestigi kenar duzlemleri|ucucu kanit korunuyor mu| // durdurulan mesru is (kurgu birim) const DUZLEM = bol(` yalitim yok|0|-|1|0 ag duzlemi|6|ag|1|4 kimlik duzlemi|2|yonetim ornek-ici|1|3 ornek duzlemi|3|ag yonetim ornek-ici|0|2 hesap duzlemi|45|ag yonetim ornek-ici|1|8`) .map(([ad, u, kes, ucucu, is]) => ({ ad, u: +u, kes: kes.split(" "), ucucu: +ucucu, is: +is })); // Kesme aninda, kesilen duzlemlerdeki kenarlar artik yurunemez. function yuru(d) { const kesme = d.u === 0 ? Infinity : UYARI + d.u; const varis = { "portal-hizmet-hesabi": 0 }; for (;;) { let en = null; for (const e of KENAR) { if (!(e.k in varis) || e.h in varis) continue; const t = varis[e.k] + e.s; if (t > kesme && d.kes.includes(e.d)) continue; if (en === null || t < en.t) en = { e, t }; } if (en === null) return { kalem: Object.keys(varis).length, kesme }; varis[en.e.h] = en.t; } } const gen = (B) => (h) => h.map((v, j) => j ? String(v).padStart(B[j]) : String(v).padEnd(B[0])) .join(""); const yz = gen([18, 12, 12, 10, 17, 16]); console.log(yz(["duzlem", "uygulama", "kesme ani", "yaricap", "kaybolan ucucu", "duran mesru is"])); for (const d of DUZLEM) { const r = yuru(d); console.log(yz([d.ad, d.u ? `${d.u} dk` : "-", r.kesme === Infinity ? "-" : `${r.kesme}. dk`, `${r.kalem}/28`, d.ucucu ? `0/${UCUCU.length}` : `${UCUCU.length}/${UCUCU.length}`, d.is])); } const kimlik = yuru(DUZLEM[2]), ornek = yuru(DUZLEM[3]), hesap = yuru(DUZLEM[4]); console.log(`\nen hizli duzlem kimliktir: ${kimlik.kesme}. dakikada kesiyor ve yaricapi ` + `${kimlik.kalem}/28 ile durduruyor; ucucu kanitin ${UCUCU.length}'i de yerinde kalir`); console.log(`ornegi sonlandirmak yaricapi ${ornek.kalem}/28 yapiyor ama ${UCUCU.length} ucucu ` + `kalemin hepsini siliyor; hesap dondurma ${hesap.kesme}. dakikada geliyor ve yaricap ` + `${hesap.kalem}/28 oluyor`); // Anlik goruntunun kanit degeri: hangi kalemleri tasiyor, kacini kiraci dogrulayabiliyor. const tasinan = KALEM.filter((k) => k.konak === 1 && !ANLIK_DISI.includes(k.ad)); console.log(`anlik goruntu konakta toplanabilen ${KALEM.filter((k) => k.konak === 1).length} ` + `kalemin ${tasinan.length} tanesini tasiyor, ${ANLIK_DISI.length} tanesini tasimiyor; ` + `tasidiklarinin ${tasinan.filter((k) => k.dogrulama === "kiraci").length} tanesinin icerigi ` + `kiraci tarafindan okunur`); console.log(`kaynagin karmasi yeniden hesaplanamaz: ham cihaza cevrimdisi erisim yoktur, bu ` + `yuzden goruntunun kaynakla ayni oldugu ${tasinan.length} kalemin hepsinde saglayici beyanina ` + `dayanir`);
duzlem uygulama kesme ani yaricap kaybolan ucucu duran mesru is yalitim yok - - 23/28 0/5 0 ag duzlemi 6 dk 15. dk 19/28 0/5 4 kimlik duzlemi 2 dk 11. dk 13/28 0/5 3 ornek duzlemi 3 dk 12. dk 13/28 5/5 2 hesap duzlemi 45 dk 54. dk 23/28 0/5 8 en hizli duzlem kimliktir: 11. dakikada kesiyor ve yaricapi 13/28 ile durduruyor; ucucu kanitin 5'i de yerinde kalir ornegi sonlandirmak yaricapi 13/28 yapiyor ama 5 ucucu kalemin hepsini siliyor; hesap dondurma 54. dakikada geliyor ve yaricap 23/28 oluyor anlik goruntu konakta toplanabilen 16 kalemin 10 tanesini tasiyor, 6 tanesini tasimiyor; tasidiklarinin 5 tanesinin icerigi kiraci tarafindan okunur kaynagin karmasi yeniden hesaplanamaz: ham cihaza cevrimdisi erisim yoktur, bu yuzden goruntunun kaynakla ayni oldugu 10 kalemin hepsinde saglayici beyanina dayanir
Tablo dört düzlemi aynı zaman çizelgesinde koşturuyor. Uyarı 9. dakikada düşüyor ve yürüyüş 24. dakikada bitiyor; aradaki on beş dakika kararın verilebileceği tüm süredir. Ağ düzlemi altı dakikada uygulanıyor, 15. dakikada kesiyor ve yarıçapı 19’da durduruyor — çünkü yönetim düzlemi çağrıları ağdan geçmez, kimlik hâlâ geçerlidir. Kimlik düzlemi iki dakikada uygulanıyor, 11. dakikada kesiyor ve yarıçapı 13’te durduruyor: en iyi sonuç, en düşük ikinci bedel.
Örnek düzlemi de aynı yarıçapı veriyor, 13. Aradaki fark kanıt sütunundadır: örneği sonlandırmak beş uçucu kalemin beşini birden siler. Aynı yarıçap, altı kalem daha az kanıt. Bu, dersin merkezindeki değiş tokuştur ve kararı basitleştiren şeydir — iki seçenek aynı şeyi durduruyorsa kanıtı koruyan seçilir.
Hesap düzlemi son satırdadır ve kırk beş dakikalık onay süresi yüzünden 54. dakikada geliyor. Yürüyüş 24. dakikada bittiği için hiçbir şeyi kesmiyor: yarıçap 23’te kalıyor ve sekiz meşru işin tamamı duruyor. En geniş yetki, en yüksek bedel, sıfır etki.
Anlık Görüntünün Kanıt Değeri
Anlık görüntü, konakta toplanabilen on altı kalemin onunu taşıyor ve altısını taşımıyor: beş uçucu kalem ile silinmiş dosya artıkları. Taşıdığı onun beşinin içeriği kiracı tarafından okunabilir.
Asıl sınır doğrulama tarafındadır. Bir kopyanın kanıt değeri, kaynağın karmasının yeniden hesaplanabilmesine dayanır. Kiralanan altyapıda kiracı ham cihaza çevrimdışı erişemez; dolayısıyla görüntünün kaynakla aynı olduğu, on kalemin hepsinde sağlayıcı beyanıdır. Anlık görüntü kanıt üretmez, kanıt taşır; ürettiği güven sağlayıcının imzasından gelir. Bu, görüntüyü değersiz yapmaz — konakta toplanabilen kalemlerin çoğunu koruyan tek düzenektir ve örnek sonlandırılmadan alınırsa uçucu sınıfı da yerinde bırakır. Yapması gereken tek şey sınırını söylemektir: kaydın hangi düzlemde tutulduğu ve doğrulamanın kime dayandığı soruşturma raporunda yazılır, çünkü karşı taraf bunu soracaktır.
Özet
- Yirmi kanıt kaleminin on altısı kendi yönettiğin konakta toplanabiliyor; yönetilen örnekte dördü, konteyner servisinde on biri, işlev ortamında on dördü toplanamıyor.
- Yönetilen örnekte düşen dört kalem konağın altındaki katmandandır: bellek dökümü, silinmiş dosya artıkları, donanım katmanı kaydı, hipervizör kaydı.
- Bulut konakta bulunmayan dört kalem verir, ama dördünün de doğrulaması sağlayıcı beyanına dayanır; kiracının kendi doğrulayabildiği dokuz kalem işlev ortamında bire iner.
- Kimlik düzleminden yalıtım 11. dakikada kesip yarıçapı 13’te durdurur ve beş uçucu kalemin beşini de korur; örneği sonlandırmak aynı yarıçapı verir ve beşini birden siler.
- Hesap düzlemi kırk beş dakikalık onayla 54. dakikada gelir; yürüyüş 24. dakikada bittiği için yarıçap 23’te kalır ve sekiz meşru işin tamamı durur.
- Anlık görüntü on altı kalemin onunu taşır, altısını taşımaz; kaynağın karması yeniden hesaplanamadığı için taşıdıklarının hepsinde doğrulama sağlayıcı beyanıdır.
Kurs Kapanışı
| Ders | Tek yanlış kalem | Yayılma yarıçapı | Denetimin indirdiği |
|---|---|---|---|
| Hizmet modelleri | sahipsiz kalem | 14 kalem liste dışı | 0 kalem, 28 birim kör |
| Kimlik ve erişim | sızan hizmet hesabı | 9/18 kalem | 4’e, günde 4 iş |
| Ağ yalıtımı | dış erişime açık uç | dışarıdan 6/9 | 4’e, günde 0 iş |
| Depolama maruziyeti | açık yapılandırma kalemi | 10 kalem | 5’e, günde 9 erişim |
| Anahtar ve sır yönetimi | zincirdeki anahtar izni | 16 kalem | 6’ya, günde 1 işlem |
| Kod olarak altyapı | şablondaki yanlış alan | 34 birim yarıçap payı | 11 birime, 3 dağıtım durur |
| Denetim günlükleri | sızan hizmet hesabı | 23/28 kalem | 18’e, 3 meşru iş |
| Duruş yönetimi | koşarken doğan sapma | 23/28, 153 saat açık | 6’ya, 2 saate |
| Konteyner ve hipervizör | bölme sınırının düşmesi | en kötü 18/28 | 0 çapraz, ortalama 8,5 |
| Sunucusuz güvenlik | uzun ömürlü belirteç | 7.200.000 kalem-saniye | 3.514’e, 2.049 kat |
| Bulut saldırı kalıpları | oturumsuz örnek kimliği | 23/28 kalem | 6’ya, 2 bedel |
| Bulutta müdahale | yalıtım düzlemi seçilmemiş | 23/28 kalem | 13’e, 3 meşru iş |
Tablo kursun kuralını tek satırda okunur kılıyor: bulutta güvenliğin ölçüsü kaç denetim açık olduğu değil, tek bir yanlış kalemden kaç kaleme ulaşıldığıdır. O sayı düşmüyorsa eklenen denetim yalnızca görünürlük sağlamıştır. Kurs boyunca bunun üç örneği çıktı: kayıt açmak görünen adımı on birden on dokuza çıkardı ve yarıçapı 23’te bıraktı; kabul kapısı iki kalem daha kapattı ve yarıçapı sekizde bıraktı; konuk sistem yalıtımı sınırı geçmek için gereken kalemi birden üçe çıkardı ve yarıçapı on sekizde bıraktı. Üçü de yararlıdır, üçü de bedellidir, üçü de bu ölçüde sıfırdır.
Dokuz kurs boyunca her savunmanın kapattığı yol ve o kapatmanın meşru işe bedeli sayıldı. Bir soru hiç sorulmadı: bunların hangisi önce yapılacak. Bu kursun son iki dersi soruya ilk kez dokundu — on üç denetimden biri iki bedelle on yedi kalem indiriyor, on tanesi on beş bedelle sıfır — ama sıralamayı yapan ölçüt tek bir grafikten geliyordu. Gerçek bir kurumda kıt olan yalnız bütçe değildir: dikkat, onay penceresi ve değişiklik kapasitesi de kıttır. M24/K10 Yönetişim, Risk ve Uyumluluk bu üç soruyu ele alır: hangi savunma önce yapılacak, kıt bütçe nasıl dağıtılacak ve yapıldığı kime nasıl kanıtlanacak.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.