---
title: 'Ağ Yalıtımı'
source: 'https://academia.sh/tr/kurslar/bulut-guvenligi/ag-yalitimi'
course: 'Bulut ve Sanallaştırma Güvenliği'
language: tr
updated: '2026-08-17T18:08:35+00:00'
license: 'CC BY-SA 4.0'
---

# Ağ Yalıtımı

İzin yarıçapının ağ yoluyla kesişmesi: aynı 9 kalemlik yürüyüş dışarıdan 6, iş yükü ağından 8, yönetim ağından 2 kaleme iniyor. Meşru dış erişimi olmayan 10 kalemi özel uca almak dış yarıçabı 6'dan 4'e indiriyor ve hiçbir meşru işi durdurmuyor; eşiği günde 50'ye çekmek dış yarıçabı sıfırlıyor ve günde 101 dış erişimi durduruyor. İş yükü ağı sütunu dört denetimde de 8'de kalıyor.

Önceki ders yarıçabı bir sayıya çevirdi: sızan hizmet hesabından dokuz kalem. O yürüyüş boyunca tek
bir şey sorulmadı — bir kimliğin bir kaleme yetkisi olması, o kaleme **ulaşabildiği** anlamına gelir
mi. Kenar vardı ve yürüyüş kenardan geçti; kalemin oturduğu ağın, kimlik bilgisinin kullanıldığı
yerden erişilebilir olup olmadığına bakılmadı.

Bu ders aynı grafiğe ikinci bir katman ekliyor. Her kalemin bir **ağ yolu** vardır: hangi konumdan
ağ düzeyinde erişilebildiği. Gerçek yarıçap iki kümenin kesişimidir — izin yürüyüşünün ulaştığı
kalemler ile o konumdan ağ düzeyinde erişilebilen kalemler. Bulut Yönetişimi, Güvenlik ve Maliyet
kursu aynı yüzeyi erişim çizelgesi ve ad çözümlemesi üzerinden ölçtü; burada adres planı, alt ağ
aritmetiği ve filtre kuralı yazımı hiç geçmez, yalnız **kapanan yol** sayılır.

- **BG13.** Üç **konum** vardır: `dis` (kiralanan ağın dışı), `is-yuku` (ele geçmiş bir iş yükü
  örneğinin bulunduğu ağ) ve `yonetim` (dağıtım işlerinin koştuğu ağ). Sızan kimlik bilgisi bu
  konumlardan birinde kullanılır.
- **BG14.** Bir kalemin **yolu**, hangi konumlardan ağ düzeyinde erişilebildiğidir. Yol izinden
  bağımsızdır; izni olmayan bir kimlik için yol açık olabilir, izni olan bir kimlik için kapalı.
- **BG15.** Rol üstlenme kimlik ve erişim yönetimi üzerinden yapılır ve üç konumdan da
  yapılabilir. Bu bir model kararıdır: üstlenme kısıtlanırsa yürüyüş kısalır ve ağ katmanının
  etkisi ölçülemez.
- **BG16.** **Özel uç noktaya geçirmek**, kalemin genel ucunun kapanması ve yalnız ağ içinden
  erişilebilir olması demektir; modelde bu, `dis` konumunun kalemin yolundan çıkmasıdır.
- **BG17.** Her kalemin günde kaç meşru dış erişim aldığı kurgu bir sayıdır ve genel uç
  kapatıldığında bu erişimlerin durduğu varsayılır.

## İzin Yarıçapı Bir Üst Sınırdır

```js
// bulut/ag.mjs — onceki dersin erisim grafigi + her kalemin AG YOLU. MODELDIR; kurgu bolgesel
// olcum agi. Adres plani, alt ag aritmetigi ve filtre kurali yazimi bu derste yoktur.

export const ERISIM = {
  'hesap-toplayici': 'olcum-deposu olcum-kuyrugu',
  'hesap-dogrulayici': 'olcum-deposu olcum-kuyrugu ham-arsiv',
  'hesap-portal': 'abone-veritabani portal-varlik-deposu is-emri-kuyrugu',
  'hesap-rapor': 'rapor-deposu fatura-cikti-deposu gunluk-deposu',
  'rol-fatura': 'fatura-veritabani fatura-cikti-deposu posta-cikisi abone-veritabani',
  'rol-arsiv': 'ham-arsiv yedek-deposu',
  'rol-yedek': 'yedek-deposu fatura-veritabani abone-veritabani olcum-deposu',
  'rol-dagitim': 'dagitim-yapilandirmasi sablon-deposu ornek-yonetimi',
  'rol-gunluk': 'gunluk-deposu denetim-gunlugu',
  'rol-yonetim': 'ornek-yonetimi anahtar-yonetimi sir-deposu',
};
export const USTLENME = [['hesap-toplayici', 'rol-arsiv'], ['hesap-dogrulayici', 'rol-arsiv'],
  ['rol-arsiv', 'rol-yedek'], ['rol-yedek', 'rol-yonetim'], ['hesap-portal', 'rol-fatura'],
  ['rol-fatura', 'rol-gunluk'], ['hesap-rapor', 'rol-gunluk'], ['rol-dagitim', 'rol-yonetim']];

// Konum: sizan kimlik bilgisinin kullanildigi yer. Kalemin yolu, hangi konumdan ag duzeyinde
// erisilebildigini soyler. disIs = gunde kac mesru dis erisim o kalemin genel ucundan geciyor.
export const KONUM = ['dis', 'is-yuku', 'yonetim'];
export const KALEM = `
  olcum-deposu            dis is-yuku            40
  olcum-kuyrugu           is-yuku                 0
  ham-arsiv               dis is-yuku             6
  yedek-deposu            dis is-yuku yonetim     2
  abone-veritabani        is-yuku                 0
  fatura-veritabani       is-yuku                 0
  fatura-cikti-deposu     dis is-yuku           120
  portal-varlik-deposu    dis is-yuku          8600
  is-emri-kuyrugu         is-yuku                 0
  gunluk-deposu           is-yuku yonetim         0
  denetim-gunlugu         yonetim                 0
  rapor-deposu            dis yonetim            30
  posta-cikisi            dis is-yuku             0
  sir-deposu              dis is-yuku             0
  anahtar-yonetimi        dis is-yuku             0
  ornek-yonetimi          dis yonetim            14
  dagitim-yapilandirmasi  yonetim                 0
  sablon-deposu           dis yonetim             9`
  .trim().split('\n').map((s) => {
    const p = s.trim().split(/\s+/);
    return { ad: p[0], yol: p.slice(1, -1), disIs: Number(p.at(-1)) };
  });
export const bul = (ad) => KALEM.find((k) => k.ad === ad);

// Izin yuruyusu: kimlik grafiginde ulasilan kalem kumesi (onceki dersle ayni).
export function izin(baslangic) {
  const g = new Set([baslangic]), kalem = new Set();
  let sira = [baslangic];
  while (sira.length) {
    const s = [];
    for (const k of sira) {
      for (const r of ERISIM[k].split(' ')) kalem.add(r);
      for (const [a, b] of USTLENME) if (a === k && !g.has(b)) { g.add(b); s.push(b); }
    }
    sira = s;
  }
  return [...kalem];
}
// Gercek yaricap = izin VE ag yolu. kapali = genel ucu kapatilan kalem adlari.
export const yaricap = (baslangic, konum, kapali = new Set()) =>
  izin(baslangic).filter((r) => bul(r).yol.includes(konum) &&
    !(konum === 'dis' && kapali.has(r))).length;
```

```js
// bulut/kosum1.mjs — izin yaricabi ile ag yolundan gecen yaricap: konuma gore kac kalem
import { KALEM, KONUM, bul, izin, yaricap } from './ag.mjs';

const u = izin('hesap-toplayici');
console.log(`sizan kimlik hesap-toplayici; izin yuruyusu ${u.length}/${KALEM.length} kalem\n`);
const yaz = (g, ...s) => console.log(s.map((v, i) =>
  g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i])).join(''));
const A = [-24, 7, 9, 10, 11];
yaz(A, 'yuruyuse giren kalem', ...KONUM, 'mesru dis');
for (const r of u.sort())
  yaz(A, r, ...KONUM.map((k) => bul(r).yol.includes(k) ? 'var' : '-'), bul(r).disIs);
yaz(A, 'yaricap', ...KONUM.map((k) => yaricap('hesap-toplayici', k)), '');
console.log('\nag duzeyinde erisilebilir kalem (izinden bagimsiz), izin yaricabi 9:');
for (const k of KONUM)
  console.log(`  ${k.padEnd(9)}ag yuzeyi ${String(KALEM.filter((r) => r.yol.includes(k)).length)
    .padStart(2)}/${KALEM.length}, izinle kesisim ${yaricap('hesap-toplayici', k)}`);
```

```
sizan kimlik hesap-toplayici; izin yuruyusu 9/18 kalem

yuruyuse giren kalem        dis  is-yuku   yonetim  mesru dis
abone-veritabani              -      var         -          0
anahtar-yonetimi            var      var         -          0
fatura-veritabani             -      var         -          0
ham-arsiv                   var      var         -          6
olcum-deposu                var      var         -         40
olcum-kuyrugu                 -      var         -          0
ornek-yonetimi              var        -       var         14
sir-deposu                  var      var         -          0
yedek-deposu                var      var       var          2
yaricap                       6        8         2

ag duzeyinde erisilebilir kalem (izinden bagimsiz), izin yaricabi 9:
  dis      ag yuzeyi 11/18, izinle kesisim 6
  is-yuku  ag yuzeyi 13/18, izinle kesisim 8
  yonetim  ag yuzeyi  7/18, izinle kesisim 2
```

Dokuz kalemlik izin yarıçabı üç ayrı sayıya bölünüyor: dışarıdan altı, iş yükü ağından sekiz,
yönetim ağından iki. Aynı sızan kimlik, aynı yetkiler, üç farklı yarıçap. **Yarıçap bir kimliğin
özelliği değil, bir kimlik ile bir konumun çiftidir.**

Alt blok iki katmanın birbirinden ne kadar bağımsız olduğunu gösteriyor. Dış konumdan ağ düzeyinde
on bir kaleme erişilebilir, ama sızan kimliğin izni bunların yalnız altısını kapsar. İş yükü ağında
ağ yüzeyi on üç, kesişim sekizdir. Ağ katmanı tek başına bir sınır değildir; izin katmanı tek başına
da değildir. Ölçülen şey ikisinin kesişimidir.

Tablonun en keskin satırı `ornek-yonetimi`dir. O kalem iş yükü ağından erişilemez ama dışarıdan
erişilebilir — yani sızan kimlik ağın **içinden** kullanıldığında ona ulaşılamaz, dışından
kullanıldığında ulaşılır. `abone-veritabani` ve `fatura-veritabani` bunun tersidir. İki konumun
yarıçapları alt küme ilişkisinde değildir; biri ötekinden yalnız daha büyük ya da küçük olmaz.

## Özel Uç Noktanın Kapattığı Yol

Üç denetim aynı grafikte koşturuluyor. Her biri bir kalem kümesinin genel ucunu kapatır ve bedeli
o kalemlerden geçen meşru dış erişimdir.

```js
// bulut/kosum2.mjs — uc denetim: hangi kalemin genel ucu kapaniyor, yaricap konuma gore ne oluyor
import { ERISIM, KALEM, KONUM, yaricap } from './ag.mjs';

const kume = (f) => new Set(KALEM.filter(f).map((k) => k.ad));
const DENETIM = [
  ['denetim yok', new Set()],
  ['mesru dis erisimi olmayan kalem ozel uca', kume((k) => k.disIs === 0)],
  ['gunde 50 altinda dis erisimli kalem de', kume((k) => k.disIs < 50)],
  ['yalniz yonetim ucu kapanir', kume((k) => k.ad === 'ornek-yonetimi')],
];
const yaz = (g, ...s) => console.log(s.map((v, i) =>
  g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i])).join(''));
const A = [-42, 8, 7, 9, 10, 14];
yaz(A, 'denetim', 'kapali', ...KONUM, 'duran dis is');
for (const [ad, kapali] of DENETIM)
  yaz(A, ad, kapali.size, ...KONUM.map((k) => yaricap('hesap-toplayici', k, kapali)),
    KALEM.filter((k) => kapali.has(k.ad)).reduce((a, k) => a + k.disIs, 0));

console.log('\nen genis yaricap (10 kimligin hepsi taranir):');
const B = [-42, 8, 9, 10];
yaz(B, 'denetim', ...KONUM);
for (const [ad, kapali] of DENETIM)
  yaz(B, ad, ...KONUM.map((k) =>
    Math.max(...Object.keys(ERISIM).map((s) => yaricap(s, k, kapali)))));
```

```
denetim                                     kapali    dis  is-yuku   yonetim  duran dis is
denetim yok                                      0      6        8         2             0
mesru dis erisimi olmayan kalem ozel uca        10      4        8         2             0
gunde 50 altinda dis erisimli kalem de          16      0        8         2           101
yalniz yonetim ucu kapanir                       1      5        8         2            14

en genis yaricap (10 kimligin hepsi taranir):
denetim                                        dis  is-yuku   yonetim
denetim yok                                      6        8         3
mesru dis erisimi olmayan kalem ozel uca         4        8         3
gunde 50 altinda dis erisimli kalem de           2        8         3
yalniz yonetim ucu kapanir                       5        8         3
```

İlk denetim bedelsizdir. On sekiz kalemin onu hiç meşru dış erişim almıyor; genel uçları kapatmak
dış yarıçabı altıdan dörde indiriyor ve günde sıfır meşru işi durduruyor. Düşen iki kalem
`sir-deposu` ile `anahtar-yonetimi`dir — önceki dersin yürüyüşünde **üçüncü adımda** görünen iki
kalem. Yürüyüşün en derin noktası, ağ katmanında en ucuz kapatılan noktadır.

İkinci denetim eşiği günde elli dış erişime çekiyor. Kapanan kalem sayısı on altıya, dış yarıçap
sıfıra iniyor; bedeli günde yüz bir dış erişimdir. Bunların çoğu `olcum-deposu`na saha ekiplerinin
doğrudan yüklemesidir (kırk) ve rapor deposundan çekilen otuz erişimdir. Dış yarıçabı dörtten
sıfıra indirmenin bedeli, ilk denetimin bedelinin yüz bir katıdır — çünkü ilk denetim bedelsizdi.

Üçüncü denetim tek bir kalemi hedefliyor. Yönetim ucunu kapatmak dış yarıçabı altıdan beşe indirir
ve günde on dört dış erişimi durdurur. Kalem başına bedeli en yüksek denetim budur.

## Otuz Çiftin Tamamı

Tek bir sızan kimlik bir örnektir. Grafiğin bütünü on kimlik ile üç konumun otuz çiftidir.

```js
// bulut/kosum3.mjs — (kimlik, konum) cifti basina yaricap: bedelsiz denetim once ve sonra
import { ERISIM, KALEM, KONUM, yaricap } from './ag.mjs';

const bedelsiz = new Set(KALEM.filter((k) => k.disIs === 0).map((k) => k.ad));
const yaz = (g, ...s) => console.log(s.map((v, i) =>
  g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i])).join(''));
const A = [-19, 6, 9, 9, 3, 6, 9, 9];
console.log(''.padEnd(19) + 'denetim yok'.padStart(24) +
  'bedelsiz denetimden sonra'.padStart(27));
yaz(A, 'kimlik', ...KONUM, '', ...KONUM);
for (const s of Object.keys(ERISIM))
  yaz(A, s, ...KONUM.map((k) => yaricap(s, k)), '',
    ...KONUM.map((k) => yaricap(s, k, bedelsiz)));
const cift = (kapali) => Object.keys(ERISIM).flatMap((s) => KONUM.map((k) => yaricap(s, k, kapali)));
const on = cift(new Set()), son = cift(bedelsiz);
console.log(`\n30 (kimlik, konum) cifti; toplam yaricap ${on.reduce((a, x) => a + x, 0)} -> ` +
  `${son.reduce((a, x) => a + x, 0)}, yaricabi 5'i asan cift ` +
  `${on.filter((x) => x > 5).length} -> ${son.filter((x) => x > 5).length}`);
console.log(`en genis yaricap ${Math.max(...on)} -> ${Math.max(...son)}; ` +
  `bedeli gunde 0 mesru dis erisim`);
```

```
                                denetim yok  bedelsiz denetimden sonra
kimlik                dis  is-yuku  yonetim      dis  is-yuku  yonetim
hesap-toplayici         6        8        2        4        8        2
hesap-dogrulayici       6        8        2        4        8        2
hesap-portal            3        7        2        2        7        2
hesap-rapor             2        2        3        2        2        3
rol-fatura              2        5        2        1        5        2
rol-arsiv               6        7        2        4        7        2
rol-yedek               5        6        2        3        6        2
rol-dagitim             4        2        3        2        2        3
rol-gunluk              0        1        2        0        1        2
rol-yonetim             3        2        1        1        2        1

30 (kimlik, konum) cifti; toplam yaricap 106 -> 92, yaricabi 5'i asan cift 8 -> 5
en genis yaricap 8 -> 8; bedeli gunde 0 mesru dis erisim
```

Otuz çiftin toplam yarıçabı yüz altıdan doksan ikiye iniyor — yaklaşık yüzde on üç. Yarıçabı beşi
aşan çift sekizden beşe düşüyor. Bunların hepsi bedelsiz denetimin sonucudur; günde tek bir meşru
dış erişim durmuyor.

Tablo bir yandan da bir kimliğin nerede tehlikeli olduğunu okutuyor. `rol-dagitim` dışarıdan dört,
iş yükü ağından iki, yönetim ağından üç kaleme ulaşır — en geniş yarıçabı **dış** konumdadır ve
bedelsiz denetim onu dörtten ikiye indirir. `hesap-portal` bunun tersidir: dışarıdan üç, iş yükü
ağından yedi. Aynı denetim bir kimliğin en tehlikeli konumunu kapatabilir, bir başkasınınkine hiç
dokunmayabilir.

Son satır bunun sınırını veriyor: en geniş yarıçap sekizden sekize, yani hiç değişmiyor.

## Yalıtımın Düşürmediği Yarıçap

İş yükü ağı sütunu dört satırda da **sekiz**tir. Bu, bu dersin karar taşıyan sayısıdır: özel uç
noktalar dış konumu kapatır, ağın içindeki konumu kapatmaz. Bir kalemin genel ucunu kaldırmak, o
kaleme ağ içinden erişimi tanım gereği açık bırakır — özel uç noktanın yaptığı şey tam olarak
budur.

Bunun sonucu şudur: sızan kimlik bilgisi bir iş yükü örneğinde kullanılıyorsa, bütün özel uç nokta
çalışması yarıçabı sıfır kalem düşürür. Alt tablo aynı sonucu on kimliğin hepsi için doğruluyor —
iş yükü ağında en geniş yarıçap dört denetimde de sekizdir, yönetim ağında üçtür. Yalnız dış sütun
altıdan dörde, ikiye ve beşe iner.

Ağ yalıtımı bu yüzden bir kimlik denetimini değiştirmez, onu **tamamlar**. Dış konumdaki yarıçabı
sıfırlamak, ağ içindeki yarıçabı sekizde bırakır; önceki dersin güven kenarını kaldırması ise her
konumda birden etkiliydi. İki denetim aynı sayıyı düşürmez ve birinin ölçümü ötekinin yerine
geçmez.

Ölçümün pratik karşılığı bir sıralamadır. Bedelsiz on kalem önce kapatılır: dış yarıçabı iki kalem
düşürür, hiçbir meşru işi durdurmaz ve tartışma gerektirmez. Eşiği elliye çekmek dış yarıçabı
sıfırlar ama günde yüz bir erişimi durdurur; bu artık bir ağ kararı değil, saha ekiplerinin ve
rapor tüketicilerinin çalışma biçimine ilişkin bir karardır ve o ekiplerle konuşulmadan verilemez.
İş yükü ağındaki sekiz kalem ise hiçbir ağ kararıyla düşmez — o sayıyı düşürmek için önceki dersin
güven kenarlarına dönmek gerekir.

Bir yanlış sonuç bu tablodan özellikle çıkarılmamalıdır: dış yarıçabın sıfırlanması sızmanın
imkânsızlaştığı anlamına gelmez. Sıfır olan şey, kimlik bilgisinin **dışarıdan kullanılması
durumundaki** yarıçaptır. Aynı kimlik bilgisi ağ içindeki bir iş yüküne ulaşan bir yolla
kullanılırsa yarıçap yeniden sekizdir ve bu geçiş modelde bir konum değişiminden ibarettir.

## Özet

- Gerçek yarıçap izin yürüyüşü ile ağ yolunun kesişimidir. Aynı 9 kalemlik yürüyüş dışarıdan 6,
  iş yükü ağından 8, yönetim ağından 2 kaleme iner; yarıçap kimliğin değil, kimlik ile konumun
  çiftinin özelliğidir.
- İki konumun yarıçapları alt küme ilişkisinde değildir: `ornek-yonetimi` yalnız dışarıdan,
  `abone-veritabani` yalnız iş yükü ağından erişilebilir.
- Meşru dış erişimi olmayan 10 kalemi özel uca almak dış yarıçabı 6'dan 4'e indirir ve günde 0
  meşru işi durdurur. Düşen iki kalem yürüyüşün en derin adımındaki `sir-deposu` ve
  `anahtar-yonetimi`dir.
- Eşiği günde 50 dış erişime çekmek dış yarıçabı sıfırlar; bedeli günde 101 meşru dış erişimdir.
  Yönetim ucunu tek başına kapatmak yarıçabı 1 kalem düşürür ve günde 14 erişimi durdurur.
- 30 `(kimlik, konum)` çiftinin toplam yarıçabı bedelsiz denetimle 106'dan 92'ye, yarıçabı 5'i aşan
  çift 8'den 5'e iner; en geniş yarıçap 8'de kalır.
- İş yükü ağı sütunu dört denetimde de 8'dir. Özel uç nokta dış konumu kapatır, ağ içindeki konumu
  kapatmaz; sızan kimlik bir iş yükü örneğinde kullanılıyorsa bu çalışmanın yarıçapa etkisi sıfırdır.

## Sonraki Adım

Bu derste ağ yolu, bir kaleme ulaşmanın önkoşulu olarak ele alındı: yol kapalıysa izin işe
yaramıyordu. Ama listedeki bazı kalemlerin dış yolu bilerek açıktır — `portal-varlik-deposu` günde
sekiz bin altı yüz meşru dış erişim alır ve kapatılamaz. O kalem için soru yol değil, **izin
kümesidir**: dışarıdan gelen istek hangi kimlikle karşılanıyor ve hiçbir kimlik sunmayan bir istek
ne okuyabiliyor. Sonraki ders depolama kalemlerinin izin kümesini tarıyor, genel erişime açık
kalemi sayıyor ve o kalemden okunabilen veri türünü ölçüyor.
