---
title: 'Dizin Servisleri'
source: 'https://academia.sh/tr/kurslar/kimlik-ve-kriptografi/dizin-servisleri'
course: 'Kimlik, Erişim ve Kriptografi'
language: tr
updated: '2026-08-17T18:08:37+00:00'
license: 'CC BY-SA 4.0'
---

# Dizin Servisleri

Merkezî kimlik deposunun güven kökü olarak ölçülmesi: 16 sistemin 13'ünün tek depoya bağlı olması, kökten girişe uzanan zincirin bağlanma kipine göre 9, 8 ve 2 kalem tutması, 12 saatlik kesintide 13 sistemde 609 hesap girişinin durması, çoğaltmanın üçüncü kopyada hiçbir yeni sistem kurtarmaması ve bütünlük kırıldığında 646 kalemin elle yenilenmesi.

Önceki konu bir açık anahtarın kime ait olduğunu bir zincire bağladı: sertifika, ara otorite,
kök. Zincir sayıldı ve kökün kırılması durumunda düşen kalem çıkarıldı. Kapanışta kalan soru
şuydu — anahtarın sahibi bir ada bağlandı, ama kurumun içinde o adın **kim** olduğu, hangi
ekipte durduğu, hangi sisteme girebildiği ve bunun binlerce makinede nasıl dayatıldığı hiç
sorulmadı. Bu konu o soruyu kurum ölçeğinde ele alır ve aynı üç sütunla ölçer.

İlk mekanizma en alttakidir: kurum, kimin var olduğunu nereden bilir. Her sistem kendi hesap
listesini tutarsa bir kişinin işe girmesi kaç sisteme kayıt açmak, ayrılması kaç kayıt kapatmak
demektir ve kapatılmayan kayıt kimsenin göremediği bir açık bırakır. Bu yükü bir yere toplayan
mekanizma **dizin servisidir (directory service)**: kullanıcı, aygıt ve hizmet hesaplarını tek
bir ağaçta tutan, sorgulanabilir merkezî kimlik deposu. Bu dersin ölçtüğü şey dizinin ne
yaptığı değil, kaç şeyin ona dayandığıdır.

## Merkezî Depo Bir Kök Olarak

**KK1:** merkezî kimlik deposu bir güven köküdür; ona bağlı her sistem, deponun döndürdüğü
kaydın doğru olduğunu baştan varsayar ve kendi başına sınamaz. **KK2:** kökten kullanıma uzanan
bir kalem zinciri vardır; zincirdeki kalemlerin hepsi **aynı anda** doğru olmalıdır, biri
bozuksa giriş ya durur ya yanlış sonuç verir. **KK3:** çoğaltma kökün **erişilebilirliğini**
çoğaltır, **doğruluğunu** çoğaltmaz — kopya sayısı kesinti süresini kısaltır, bütünlük
kırılmasının etkisini kısaltmaz. **KK4:** kökün dışında kalan sistem, kökün kesintisinden de
kurtulur, denetiminden de.

Bu kursun üç sütunu bu konuda da aynıdır: güven kökü adlandırılır, kökten kullanıma kaç kalem
aynı anda doğru olmalı sayılır, kök kırılırsa kaç kalem düşer ve yenilemenin ne tuttuğu yazılır.
Dizinin sorgu sözdizimi, ağaç şeması ve çoğaltma protokolü burada ölçülmez; ölçülen, bu üç
sayıdır.

## On Altı Sistem, Tek Depo

Aşağıdaki envanter bir **modeldir**: kurgu bölgesel ölçüm ağını işleten kurumun sistemleri ve
her birinin merkezî depoya bağlanma biçimi. Gerçek bir kurum, gerçek bir dizin ürünü ya da
gerçek bir hesap yoktur.

```js
// kimlik/dizin.mjs — kurgu bolgesel olcum agindaki sistemlerin merkezi kimlik deposuna
// baglanma bicimi (model): gercek bir kurum, gercek bir dizin urunu ya da gercek bir hesap yok.
// Rastgelelik yok.

// KK1: merkezi kimlik deposu bir guven kokudur; ona bagli her sistem, deponun tuttugu
// kaydin dogru oldugunu bastan varsayar.
// Sutunlar: kip = baglanma bicimi (dizin: her giriste sorar; onbellek: son basarili
// dogrulamayi bir sure saklar; yerel: kendi hesap deposunu tutar), hesap = o sistemde
// giris yapan hesap sayisi, basvuru = sistemin yapilandirmasinda tanimli dizin kopyasi
// sayisi, sir = sistemin dizinde duran kendi hizmet hesabi sirri sayisi.
export const SISTEM = `
  okuma-toplayici      dizin      34   2   1
  dogrulayici          dizin      12   2   1
  faturalama           dizin      48   1   2
  is-emri              dizin      61   1   1
  saha-mobil-uc        onbellek  140   2   1
  sube-is-istasyonu    onbellek   96   2   1
  depo-terminali       onbellek   18   1   1
  bakim-plani          dizin      22   1   1
  olcum-arsivi         dizin       9   2   1
  rapor-portali        dizin      55   1   1
  ag-anahtari          dizin      14   2   0
  vpn-ucu              dizin      27   2   0
  yazici-havuzu        onbellek   73   1   0
  eski-scada-konsolu   yerel       6   0   0
  bellenim-sunucusu    yerel       4   0   0
  yedekleme-konsolu    yerel       3   0   0`
  .trim().split("\n").map((r) => {
    const p = r.trim().split(/\s+/);
    return { ad: p[0], kip: p[1], hesap: +p[2], basvuru: +p[3], sir: +p[4] };
  });

// KK2: koke bagli her kullanim, kokten kullanima uzanan bir kalem zinciri kurar; zincirdeki
// kalemlerin hepsi ayni anda dogru olmali. Her kalem, hangi kiplerde zorunlu oldugunu yazar.
export const ZINCIR = [
  { kalem: "hesap kaydi var",        kip: ["dizin", "onbellek"] },
  { kalem: "hesap etkin",            kip: ["dizin", "onbellek"] },
  { kalem: "parola dogrulayicisi",   kip: ["dizin", "onbellek"] },
  { kalem: "grup uyeligi",           kip: ["dizin", "onbellek"] },
  { kalem: "oznitelik eslemesi",     kip: ["dizin", "onbellek"] },
  { kalem: "dizine anlik baglanti",  kip: ["dizin"] },
  { kalem: "kanal korumasi",         kip: ["dizin", "onbellek"] },
  { kalem: "ad cozumleme",           kip: ["dizin", "onbellek"] },
  { kalem: "saat esitligi",          kip: ["dizin", "onbellek"] },
  { kalem: "yerel hesap deposu",     kip: ["yerel"] },
  { kalem: "yerel parola kaydi",     kip: ["yerel"] },
];

export const KIP = ["dizin", "onbellek", "yerel"];
export const zincirUzunlugu = (kip) => ZINCIR.filter((z) => z.kip.includes(kip)).length;
```

```js
// kimlik/sayim.mjs — merkezi kimlik deposu bir guven koku olarak sayilir: zincir kac kalem,
// depo dusunce kac sistemde giris durur, cogaltma kac sistemi kurtarir, kok kirilirsa
// yenileme kac kalem tutar.
import { SISTEM, ZINCIR, KIP, zincirUzunlugu } from "./dizin.mjs";

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 topla = (f, s = SISTEM) => s.reduce((a, x) => a + f(x), 0);
const bagli = SISTEM.filter((s) => s.kip !== "yerel");

console.log(`${SISTEM.length} sistem, ${topla((s) => s.hesap)} hesap girisi, ` +
  `${bagli.length} sistem tek depoya bagli, ${SISTEM.length - bagli.length} sistem kendi deposunda`);

const A = [-10, 8, 8, 8, 8, 6];
console.log("\n1. baglanma kipine gore zincir uzunlugu ve yuk");
yaz(A, "kip", "sistem", "hesap", "zincir", "kalem", "sir");
for (const k of KIP) {
  const s = SISTEM.filter((x) => x.kip === k);
  yaz(A, k, s.length, topla((x) => x.hesap, s), zincirUzunlugu(k),
    s.length * zincirUzunlugu(k), topla((x) => x.sir, s));
}
yaz(A, "toplam", SISTEM.length, topla((s) => s.hesap), "-",
  topla((s) => zincirUzunlugu(s.kip)), topla((s) => s.sir));

const B = [-10, 11, 13, 11, 12];
console.log("\n2. depo erisilemez oldugunda (tek kopya)");
yaz(B, "kesinti", "duran sis", "duran hesap", "acik sis", "acik hesap");
for (const saat of [1, 4, 12, 48]) {
  const durdu = SISTEM.filter((s) => s.kip === "dizin" ||
    (s.kip === "onbellek" && saat > 8));
  yaz(B, `${saat} saat`, durdu.length, topla((s) => s.hesap, durdu),
    SISTEM.length - durdu.length, topla((s) => s.hesap) - topla((s) => s.hesap, durdu));
}

const C = [-10, 11, 11, 13];
console.log("\n3. cogaltma 12 saatlik kesintide kac sistemi kurtariyor");
yaz(C, "kopya", "kurtulan", "duran", "duran hesap");
for (const kopya of [1, 2, 3]) {
  const kurtulan = SISTEM.filter((s) => s.kip !== "yerel" && s.basvuru >= 2 && kopya >= 2);
  const duran = bagli.filter((s) => !kurtulan.includes(s));
  yaz(C, `${kopya}`, kurtulan.length, duran.length, topla((s) => s.hesap, duran));
}

const D = [-24, 8, 8, 20];
console.log("\n4. kok kirilirsa (depo butunlugu bozulursa) dusen kalem ve yenileme");
const kayit = topla((s) => s.hesap, bagli);
const satir = [
  ["dizine bagli sistem", bagli.length, bagli.length, "yeniden eslenir"],
  ["hesap girisi", kayit, kayit, "parola sifirlanir"],
  ["hizmet hesabi sirri", topla((s) => s.sir), topla((s) => s.sir), "elle degistirilir"],
  ["grup uyeligi denetimi", bagli.length, bagli.length, "elle dogrulanir"],
  ["yerel depolu sistem", SISTEM.length - bagli.length, 0, "etkilenmez"],
];
yaz(D, "kalem", "sayi", "dusen", "yenileme");
for (const s of satir) yaz(D, ...s);
console.log(`toplam elle yenilenen kalem ${satir.reduce((a, s) => a + s[2], 0)}, ` +
  `zincir kalem tanimi ${ZINCIR.length}`);
```

```
16 sistem, 622 hesap girisi, 13 sistem tek depoya bagli, 3 sistem kendi deposunda

1. baglanma kipine gore zincir uzunlugu ve yuk
kip         sistem   hesap  zincir   kalem   sir
dizin            9     282       9      81     8
onbellek         4     327       8      32     3
yerel            3      13       2       6     0
toplam          16     622       -     119    11

2. depo erisilemez oldugunda (tek kopya)
kesinti     duran sis  duran hesap   acik sis  acik hesap
1 saat              9          282          7         340
4 saat              9          282          7         340
12 saat            13          609          3          13
48 saat            13          609          3          13

3. cogaltma 12 saatlik kesintide kac sistemi kurtariyor
kopya        kurtulan      duran  duran hesap
1                   0         13          609
2                   7          6          277
3                   7          6          277

4. kok kirilirsa (depo butunlugu bozulursa) dusen kalem ve yenileme
kalem                       sayi   dusen            yenileme
dizine bagli sistem           13      13     yeniden eslenir
hesap girisi                 609     609   parola sifirlanir
hizmet hesabi sirri           11      11   elle degistirilir
grup uyeligi denetimi         13      13     elle dogrulanir
yerel depolu sistem            3       0          etkilenmez
toplam elle yenilenen kalem 646, zincir kalem tanimi 11
```

Sayılar **ölçüm** sınıfındadır; girdileri KK1–KK4 ile envanterdeki değerlerdir.

## Zincir Kaç Kalem

Birinci tablo zincir uzunluğunu bağlanma kipine göre ayırır. Her girişte depoya soran bir
sistemde zincir **dokuz kalemdir**: kaydın var olması, etkin olması, parola doğrulayıcısının
tutması, grup üyeliğinin doğru olması, özniteliklerin sistemin beklediği alanlara eşlenmesi,
depoya anlık bağlantı, kanalın korunması, adın çözülmesi ve iki taraf saatinin yeterince yakın
olması. Bunların hiçbiri "güvenlik özelliği" değildir; dokuzunun dokuzu da girişin çalışması
için gereken sıradan kalemlerdir ve **biri bozulduğunda giriş durur**.

Önbellekten doğrulayan sistemde zincir sekize iner, çünkü anlık bağlantı kalemi düşer. Bu tek
kalemlik fark, ikinci tablodaki bütün farkı üretir. Kendi deposunu tutan sistemde zincir
**ikidir** — yerel hesap listesi ve yerel parola kaydı. Toplam kalem sayısı on altı sistem için
119'dur; bu, kurumda "bir kişinin bir sisteme girebilmesi" olayının aynı anda doğru olmasını
gerektirdiği bağımsız koşul sayısıdır.

İki kalemlik zincir kısa görünür ama KK4'ün ikinci yarısı buradadır. Yerel depolu üç sistemin
altı, dört ve üç hesabı merkezî hiçbir kayda bağlı değildir: bir kişi ayrıldığında merkezî
kayıt kapatılır, bu üç sistemdeki hesap açık kalır. Kısa zincir, kesintiye dayanıklılık ile
denetimsizliği birlikte satın alır.

## Zincirin Deponun Dışında Kalan Kalemleri

Dokuz kalemin hepsi depoda durmaz ve bu ayrım kökün sınırını çizer. Beşi deponun içindedir:
kaydın varlığı, etkinliği, parola doğrulayıcısı, grup üyeliği ve öznitelik eşlemesi. Kalan
**dördü depoda değildir** — anlık bağlantı ağın, kanal koruması sertifikanın, ad çözümleme ad
servisinin, saat eşitliği ise zaman kaynağının sorumluluğundadır. Önbellekten doğrulayan
sistemde bu oran beşe üçtür.

Bu dört kalemin her biri **kendi kökünü** taşır. Kanal koruması, önceki konuda ölçülen güven
zincirine dayanır: dizine giden bağlantının şifrelenmesi tek başına yetmez, karşı ucun gerçekten
dizin olduğu bir sertifika zinciriyle kanıtlanmalıdır. Doğrulanmayan bir kanalda depo doğru
kaydı tutsa bile sorgunun yanıtını başkası verebilir. Ad çözümleme aynı türden bir bağımlılıktır:
sistem, deponun adını bir adrese çevirmek için başka bir servise sorar ve o servisin yanıtını
sınamaz.

Saat eşitliği listedeki en sessiz kalemdir ve bir sonraki dersin tamamı onun üzerine kurulur.
Süreli bir kanıtın geçerliliği iki tarafın saatinin yeterince yakın olmasına bağlıdır; saatler
ayrıldığında giriş, hiçbir hesap değişmemiş olmasına rağmen durur. **Bir güven kökü, kendi
dışındaki kalemlerin sayısı kadar kırılgandır**: bu modelde depo kusursuz çalışırken bile girişi
durdurabilecek dört ayrı kalem vardır ve bunların hiçbiri dizin yöneticisinin denetiminde
değildir.

## Depo Düştüğünde

İkinci tablo kesinti süresine göre duran sistemi sayar. İlk saatte dokuz sistem ve 282 hesap
girişi durur; önbellekten doğrulayan dört sistem çalışmaya devam eder ve 327 hesap etkilenmez.
Sekizinci saatten sonra önbellek penceresi kapanır: duran sistem sayısı 13'e, duran hesap sayısı
609'a çıkar. Açık kalan üç sistemin toplam 13 hesabı vardır.

Buradaki asıl sayı 13 değil, ikisi arasındaki farktır. Kesinti bir saat sürdüğünde etkilenen
hesabın oranı 282/622, on iki saat sürdüğünde 609/622'dir. Önbellek penceresi kurumun kesinti
dayanıklılığını doğrudan belirler ve bu pencere bir güvenlik ayarıdır: pencere uzadıkça
devre dışı bırakılmış bir hesabın çalışmaya devam ettiği süre de uzar. Aynı sayı iki yöne
birden çalışır — sekiz saat hem kesintide kurtarılan süredir hem de kapatılmış bir hesabın
geçerli kaldığı süredir.

## Çoğaltmanın Kurtardığı ve Kurtarmadığı

Üçüncü tablo KK3'ün ilk yarısını sayıya çevirir. Tek kopya varken on iki saatlik kesintide
bağlı 13 sistemin hiçbiri kurtulmaz. İkinci kopya eklendiğinde yedi sistem kurtulur, altısı
durur ve duran hesap 609'dan 277'ye iner. Üçüncü kopya eklendiğinde tablo **değişmez**: yine
yedi kurtulur, yine altı durur.

Üçüncü kopyanın hiçbir şey getirmemesinin nedeni depoda değil, sistemlerin yapılandırmasındadır.
Altı sistemin yapılandırmasında tek bir başvuru adresi tanımlıdır; ikinci kopya ağda dursa bile
o sistemler ona sormaz. **Çoğaltma bir depo özelliğidir, dayanıklılık ise istemci
yapılandırmasının özelliğidir**; ikincisi yazılmadan birincisi ölçülemez. Kurtarılan sistem
sayısını belirleyen kalem, kopya sayısı değil, kaç sistemin ikinci başvuruyu tanıdığıdır.

## Kök Kırılırsa Yenileme

Dördüncü tablo KK3'ün ikinci yarısıdır. Kesinti ile bütünlük kırılması farklı olaylardır: kesinti
geçicidir ve giderildiğinde geride bir şey bırakmaz, bütünlük kırılması ise **kalıcıdır**.
Deponun kayıtları değiştirilebildiyse, kimin hangi gruba üye olduğu ve hangi parola
doğrulayıcısının geçerli olduğu artık bilinmez.

Yenileme faturası dört kalemden oluşur: 13 sistemin eşlemesinin yeniden kurulması, 609 hesap
girişinin parolasının sıfırlanması, 11 hizmet hesabı sırrının elle değiştirilmesi ve 13 sistemin
grup üyeliklerinin elle doğrulanması. Toplam **646 kalem**. Bunların 609'u kişilere dokunur ve
paralel yapılabilir; 11'i hizmet hesabı sırrıdır ve her biri bir sistemin çalışmasını durdurma
riski taşıdığı için sırayla yapılır. Yenileme penceresinin uzunluğunu belirleyen sayı 609 değil,
**11'dir**.

Faturanın büyüklüğünden daha belirleyici olan, faturanın **ne zaman** kesileceğidir. Bütünlük
kırılması bir kesinti gibi kendini göstermez: depo çalışmaya devam eder, girişler başarılı olur
ve hiçbir sistem hata vermez. Kırılmanın bilinmesi, kayıtların bağımsız bir kopyayla
karşılaştırılmasına bağlıdır; böyle bir karşılaştırma yoksa 646 kalemlik yenileme kararı
alınamaz, çünkü yenilemeyi gerektiren olayın olduğu bilinmez. **Kök kırılmasının maliyeti
yenilemede değil, kırılmanın fark edilmediği süredeki her girişte birikir.**

Yerel depolu üç sistem bu tabloda sıfır düşer. Bu, o üç sistemin güvenli olduğu anlamına gelmez;
kendi kökleri vardır ve o kök bu ölçümün dışındadır. Bir kökün dışında kalmak, kırılmadan
kurtulmak değil, **ayrı bir kırılma noktası** eklemektir.

## Özet

- Merkezî kimlik deposu bir güven köküdür: 16 sistemin 13'ü ve 622 hesap girişinin 609'u tek
  depoya bağlıdır.
- Kökten girişe uzanan zincir bağlanma kipine göre 9, 8 ve 2 kalemdir; toplam 119 kalemin hepsi
  aynı anda doğru olmalıdır.
- Kesintide duran sistem sayısı önbellek penceresiyle belirlenir: ilk saatte 9 sistem ve 282
  hesap, on ikinci saatte 13 sistem ve 609 hesap durur.
- Çoğaltma erişilebilirliği çoğaltır, doğruluğu çoğaltmaz; üçüncü kopya hiçbir yeni sistem
  kurtarmaz, çünkü 6 sistemin yapılandırmasında tek başvuru tanımlıdır.
- Bütünlük kırılırsa 646 kalem elle yenilenir; pencerenin uzunluğunu 609 parola değil, sırayla
  değiştirilen 11 hizmet hesabı sırrı belirler.

## Sonraki Adım

Bu ders deponun **kimin var olduğunu** söylediğini saydı, ama bir kaydın var olması bir kişinin
o an gerçekten orada olduğunu göstermez. Her girişte deponun sorgulanması ikinci tabloda görülen
bağımlılığı üretir; kurumsal ağlarda bunun yerine tek bir doğrulamadan **süreli bir kanıt**
üretilir ve sonraki her erişimde parola yerine o kanıt sunulur. Kanıtı üreten servisin kendi
anahtarı ise yeni bir köktür. Sonraki ders bilet tabanlı kimlik doğrulamayı bu eksende ölçer:
akış kaç adım, hangi adımda hangi iddia kanıtlanıyor, bilet veren servisin anahtarı ele geçerse
kaç kalem düşer ve o anahtarı yenilemek kaç adım tutar.
