Hogyan működik a KerberosHogyan működik a Kerberos

A Kerberos szolgáltatást gyakran nevezik külső, bizalom alapú hitelesítő szolgáltatásnak, amely azt jelenti, hogy minden kliens megbízik a Kerberos ítéletében, hogy a többi kliens személyazonossága érvényes-e. A Kerberos egy adatbázisban tárolja a felhasználóit és a privát kulcsokat.

Ahhoz, hogy biztosítsuk a Kerberos megbízhatóságát, helyezzük a hitelesítő és a jegykiadó kiszolgálót egy külön gépre. Gondoskodjunk róla, hogy kizárólag az adminisztrátor érhesse el ezt a gépet, fizikailag és a hálózaton keresztül egyaránt. Ne használjunk felesleges hálózati szolgáltatásokat – beleértve akár az sshd-t is.

Első kapcsolatElső kapcsolat

Az első kapcsolat a Kerberossal nagyban hasonlít bármely hálózati belépési folyamathoz. Adja meg a felhasználónevét. Ez az információ, valamint a jegykiadó szolgáltatás neve elküldésre kerül a hitelesítési kiszolgálóhoz (Kerberos). Ha a hitelesítő kiszolgáló felismeri a felhasználónevet, elkészíti a véletlenszerű kapcsolati kulcsot a kliens és a jegykiadó kiszolgáló közötti kommunikációhoz. Ezek után a hitelesítő kiszolgáló előkészíti a jegyet a jegykiadó kiszolgálónak. A jegy a kapcsolati kulccsal titkosítva tartalmazza a következő információkat. A kapcsolati kulcsot kizárólag a hitelesítő- és a jegykiadó kiszolgáló ismeri.

  • a kliens és a jegykiadó kiszolgáló neve

  • az aktuális idő

  • a jegyhez rendelt életciklus

  • a kliens IP-címe

  • az újonnan készített kapcsolati kulcs

A jegy visszakerül a klienshez a kapcsolati kulccsal együtt, szintén titkosított formában, de ebben az esetben a kliens privát kulcsát használva. Ezt a privát kulcsot kizárólag a kliens és a Kerberos ismeri, mivel az a felhasználó jelszavából származik. Miután a kliens megkapta a választ, bekéri a jelszót. Ezt a jelszót egy kulccsá alakítja a kliens, amellyel kikódolja a hitelesítési kiszolgálótól érkezett csomagot. Ezzel a csomag „ki van bontva” és a jelszó, valamint a kulcs törlődik a munkállomás memóriájából. Amíg a további jegyek lekérésére használt jegy élettartama nem jár le, a munkállomás képes személyazonossága bizonyítására.

Szolgáltatás kéréseSzolgáltatás kérése

Bármely szolgáltatás kéréséhez a kliens alkalmazásnak bizonyítania kell személyazonosságát a kiszolgáló felé. Ezért az alkalmazások egy hitelesítőt készítenek. A hitelesítő az alábbi komponensekből áll:

  • a kliens megbízó neve

  • a kliens IP-címe

  • az aktuális idő

  • ellenőrző összeg (melyet a kliens választ)

Ezek az információk a kapcsolati kulccsal kerülnek titkosításra, amelyet a kliens már korábban megkapott a kiszolgálótól. A hitelesítő és a jegy elküldésre kerül a kiszolgálóhoz. A kiszolgáló a kapcsolati kulcs saját példányát használja a hitelesítő kicsomagolásához. Ezzel rendelkezik az összes információval a szolgáltatást igénylő kliensről és össze tudja azt hasonlítani a kliens által küldött jeggyel. A kiszolgáló ellenőrzi, hogy a jegy és a hitelesítő ugyanattól a klienstől származik-e.

Mindenféle biztonsági ellenőrzés nélkül ez a fázis ideális lenne egy ismétléses támadáshoz. Valaki újraküldheti a hálózatról korábban ellopott kérést. Ennek kivédésére a kiszolgáló nem engedélyez olyan kéréseket, ahol a jegy és az időbélyeg már korábban megérkezett. Ráadásul, ha a kérés időbélyege túlságosan eltér a kérés érkezési idejétől, akkor a kérés eldobható.

Kölcsönös hitelesítésKölcsönös hitelesítés

Kerberos hitelesítés használható mindkét irányban. Nem csak az a kérdés, hogy a kliens az-e, akinek vallja magát: a kiszolgálónak is hitelesíteni kell magát, ha a kliens kéri azt. Ezért a kiszolgáló is küld egy hitelesítőt. Hozzáadja a klienstől kapott ellenőrző összeghez és titkosítja a kapcsolati kulcssal, amely kizárólag közte és a kliens között ismert. A kliens ezt mintegy bizonyítékként veszi a kiszolgáló hitelességét illetően és elkezdenek együtt dolgozni.

Jegykiadás – Kapcsolódás minden kiszolgálóhozJegykiadás – Kapcsolódás minden kiszolgálóhoz

A jegyek úgy lettek kialakítva, hogy egyszerre csak egy kiszolgálóval legyenek használhatók. Ez azt jelenti, hogy minden egyes szolgáltatás igényléskor új jegy kérése szükséges. A Kerberos külön eljárással rendelkezik különálló kiszolgálókhoz való jegyek igénylésére. Ezt a szolgáltatást nevezzük „jegykiadó szolgáltatásnak ”. A jegykiadó egy, a korábban említett szolgáltatásokhoz nagyon hasonlító szolgáltatás. Ugyanazokat a hozzáférési protokollokat használja, amelyeket már megtárgyaltunk. Minden alkalommal, amikor egy alkalmazásnak jegyre van szüksége – amelyet még nem igényelt korábban –, a jegykiadó kiszolgálóhoz fordul. Ez a kérés a következő részekből áll:

  • a megbízó neve

  • jegykiadó jegy

  • egy hitelesítő

Mint bármely más kiszolgáló, a jegykiadó kiszolgáló ellenőrzi a jegykiadó jegyet és a hitelesítőt. Ha ezek megfelelőek, a jegykiadó kiszolgáló új kapcsolati kulcsot készít, amely a kliens és az új kiszolgáló között használható. Ezek után elkészül a jegy az új kiszolgálóhoz, amely az alábbi információkat tartalmazza:

  • a kliens megbízó neve

  • a kiszolgáló megbízó neve

  • az aktuális idő

  • a kliens IP-címe

  • az újonnan létrehozott kapcsolati kulcs

Az új jegy új időtartamot is kap, amely kevesebb, mint a jegykérő jegy hátralévő időtartama vagy a szolgáltatásra jellemző alapértelmezett időtartam. A kliens megkapja a jegyet és a kapcsolati kulcsot, amelyet a jegykiadó szolgáltatás küldött – de ez alkalommal a válasz a jegykérő jegyben található kapcsolati kulcssal van titkosítva. A kliens képes a válasz visszafejtésére a jelszó bekérése nélkül, amikor az új szolgáltatáshoz kapcsolódik. Tehát a Kerberos képes a jegyeket egymás után kérni anélkül, hogy a felhasználótól újra belépési adatokat kérjen.

Windows 2000 kompatibilitásWindows 2000 kompatibilitás

A Windows 2000 tartalmazza a Microsoft Kerberos 5 implementációját. A SUSE Linux Enterprise® a Kerberos 5 MIT változatát használja. További hasznos információ a MIT dokumentációban található. Lásd: 41.4. szakasz - További információ