Călătoriți pe bilete cu kerberos de rachete, vă rog ... kerberos ce este

Bilete, te rog ...

Kerberos Ce este asta?

Active Directory folosește Kerberos atunci când poate

Acesta diferă de LM / NTLM / NTLMv2, se bazează pe RFC 1510 și alte standarde

Are propriul glosar de termeni: Clientul, service, pre-autentificatorului, autentificatorului, acreditări, cheie de sesiune, bilete, Bilet de acordare a tichetelor, Serviciu de vânzare bilete, Centrul de cheie de distribuție, Authentication Service, Serviciu de vânzare bilete Acordarea



Kerberos O vedere din spațiu

Simplificate, acestea sunt servicii care rulează pe un controler de domeniu

Înțelege două lucruri ("Principalii"): utilizatorii și serviciile (cum ar fi serviciile de fișiere de pe server)

Când un utilizator dorește să primească un serviciu, solicită un bilet pentru acest serviciu

Apoi, utilizatorul prezintă biletul la serviciu atunci când dorește să îl folosească









Kerberos Heads

Kerberos are trei capete

  • Clienți sau "Principalii utilizatori": conturi de utilizator; fiecare are propria sa parolă și numele - "UPN"
  • Servicii sau "directori de servicii": ceva pe care dorim să-l accesăm; acesta poate fi doar un server sau serviciul său separat (fișiere / imprimare, SQL, Exchange); fiecare serviciu are propriul nume - "SPN" și parola
  • Centrul de distribuire cheie (KDC) - un controler de domeniu, un server care cunoaște toate parolele utilizatorilor și serviciilor. Are parola proprie, cunoscută numai de sine (contul "krbtgt") și alte controlere din domeniu.
  • Vom pune parolele deoparte pentru o vreme; dar acum ...



  • Kerberos în imagini Faceți cunoștință cu capul ...



    Kerberos în imagini Pentru a realiza acest ...



    Kerberos Două tipuri de bilete, două servicii

    La început, ne prezentăm la KDC prin intrarea în sistem; pentru a vă conecta o singură dată, solicităm KDC să furnizeze un "bilet către KDC" ... și acesta este un Ticket Granting Ticket

    Acesta este furnizat de o parte a KDC, numită "Serviciul de autentificare" sau AS

    După primirea TGT, putem să o prezentăm la KDC și să spunem: "Îți amintești de mine? Acum am nevoie de un bilet de serviciu la un astfel de serviciu ... "

    Biletul de serviciu este emis de o altă parte a KDC, denumită "Serviciul de acordare a biletelor" sau TGS



    Cum se potrivește aceasta în DC?

    Centrul de distribuire cheie = Serviciul de autentificare + Serviciul de acordare a biletelor

    KDC = AS + TGS

    KDC, AS, TGS sunt doar o parte din rolurile pe care le efectuează controlorul

    Cu toate acestea, nu putem vedea AS, TGS și alte servicii în Managerul de activități; acestea sunt efectuate în cadrul procesului LSASS



    De ce două tipuri de bilete?

    Biletul de primire a biletelor, precum și biletul de servicii ne autentifică la serviciu

    Dar, de obicei, toate se termină cu doar un TGT și o mulțime de ST

    Motivul pentru care aveți două tipuri de bilete: Kerberos protejează fiecare bilet prin criptarea unor date cu o parolă sau o cheie



    Kerberos Principalele motive pentru care Kerberos este mai bun

    Multe bilete înseamnă o mulțime de criptare a informațiilor cu parola noastră - aceasta înseamnă că atacatorul va avea o mulțime de date pentru a calcula parola

    Deci - și acesta este un punct foarte important - ceea ce oferă Kerberos în TGT, de fapt, este o "parolă pentru zi"

    Informațiile referitoare la biletul Serviciu sunt criptate cu această parolă de zi; numai informațiile legate de TGT sunt criptate folosind parola dvs. - o tranzacție pe zi!



    Kerberos în imagini În primul rând, Tom are nevoie de un Ticket Granting Ticket



    Apropo de Vista și mai sus

    Dacă te uiți la traficul din rețea, când Vista încearcă să se conecteze, vom vedea că cererea TGT nu reușește întotdeauna pentru prima dată.

    Vista trimite în mod deliberat un pachet „rău“ pentru a determina posibilitatea de a utiliza AES în loc de RC4-HMAC - returnează un „KDC_ERR_PREAUTH_REQUIRED“ eroare conține o listă de posibile algoritmi



    Tom a apăsat Ctrl + Alt + Del, și-a introdus numele și parola și a primit un TGT

    Dar încă nu intra în calculatorul lui

    Are nevoie de acces la stația sa de lucru

    El o va primi folosind biletul de service

    Deci, acesta este următorul lucru pe care trebuie să îl solicite de la Serviciul de acordare a biletelor



    Kerberos în imagini În continuare, Tom primește biletul de service



    Tom intra în stația lui de lucru

    El a primit un TGT, pe care îl folosește pentru a solicita Biletul de Serviciu de la Serviciul de acordare a biletelor

    El a primit biletul de serviciu la postul său de lucru

    Aceste "bilete", de fapt, doar date în memoria computerului TOMSPC

    Tom le poate vedea folosind kerbtray sau klist inclus în Resource Kit



    Outputul utilitarului klist

    C: \> klist bilete

    Bilete cached: (2)

    Server: krbtgt/[email protected]

    Tip de criptare KerbTicket: RSADSI RC4-HMAC (NT)

    Server: host/[email protected]

    Tip de criptare KerbTicket: RSADSI RC4-HMAC (NT)

    Pe serverul de imprimare ...

    În același mod, Tom poate obține un bilet la serviciul de tipărire pe PS (în klist acesta este afișat ca cifs / ps.stanky.ru ...)

    El îl face pe TGS TGT

    Controlorul verifică TGT și emite un bilet de service Tom care îl identifică pe PS

    Acum, Tom are trei bilete









    Tom și biletele lui



    Sună bine, dar este sigur? E timpul să intrăm în detalii

    Toate astea sună bine ... Dar cum putem să o protejăm?

    De ce un atacator nu poate intercepta bilete care să spună "Salut PS serviciu, eu sunt Tom"?

    Cheia este bună ... Cheile sunt următoarea parte a baletului nostru Marleison



    Identificare sigură

    Vrem să ne putem identifica reciproc printr-o rețea nesigură; putem face acest lucru dacă:

    • Să acceptăm algoritmul de criptare
    • Să acceptăm cheia secretă
    • Să convenim asupra datelor pentru comunicare
  • De exemplu: Eu spun că mă poți găsi pe mesajul de bun venit decodezi DES'om și cheie de 56 de biți, care este cunoscut numai pentru tine și pe mine, și dacă se spune „Timpul X“, atunci eu chiar pot în siguranță vă identificați în fața dvs., să zicem, prin intermediul internetului



  • Kerberos și AD ...

    Suntem de acord:

    • Algoritm de criptare: RC4-HMAC
    • Cheie secretă obișnuită: permitem KDC să creeze o cheie arbitrară pe 128 de biți și să o transmită doar nouă
    • Datele de recunoaștere: un bloc de date, numit "autentificator"
  • Atunci când "autentificatorul" este decriptat, trebuie să demonstreze celeilalte părți că știm cheia secretă comună



  • Cheile comune sunt la fel de utile ...

    Odată ce ați obținut o cheie partajată pe care nimeni altcineva nu o cunoaște, clientul și serverul pot efectua alte activități în afară de autentificare, cum ar fi:

    • Semnarea SMB
    • Secure securizate (criptate)
    • Schimb de taste IPsec pentru AH sau ESP (semnare sau criptare)
    • Orice altă formă de semnare sau de criptare


    O altă cerință pentru chei

    Ar fi minunat dacă cheia pe care o folosim nu era aceeași, de fiecare dată

    În schimb, dacă este necesar, vorbiți, ar fi mai bine dacă am convenit într-un fel asupra unei chei care ar fi fost în vigoare doar câteva ore și nu am fi reușit niciodată să o folosim - cheia pentru sesiune

    O astfel de cheie este numită o cheie de sesiune ("Key Session")



    Scopul Kerberos Cum se obține cheia fără interceptarea sa?

    Am convenit asupra conținutului autentificatorului, pe care îl criptăm folosind un algoritm convenit

    Tot ce avem nevoie este:

    • Un server care generează chei de sesiune arbitrare care sunt utilizate doar câteva ore
    • Metoda care vă permite să transferați aceste chei către mine și fără interceptare
  • Asta face Kerberos. Periodic.



  • Cheile emiterii - Partea I: Cheia sesiunii în biletul de acordare a biletelor

    Amintiți-vă biletele - primul TGT, apoi biletul de service? Luați în considerare o parte din chei

    Când Tom cere TGT din AS, el, de fapt. cere două lucruri:

    • TGT, pe care îl face TGS atunci când are nevoie de un bilet de serviciu și
    • Știință specială "doar pentru ziua de azi", cunoscută numai de Tom și KDC
  • Iată cum funcționează (deja mai detaliat, dar încă un pic simplist)





  • AS creează o cheie de sesiune



    Tom primește TGT și cheia de sesiune



    Ce am realizat?

    În primul rând, au primit o cheie de sesiune comună ("pentru ziua de azi") între KDC și Tom

    În al doilea rând, avem o structură de date (TGT), care poate fi decriptată doar de KDC

    Deoarece numai KDC-ul poate crea un TGT, și TGT conține o „dată cheie“ Tom-KDC, Tom poate prezenta un TGT ori de câte ori dorește să le reamintească KDC-ul, care le-au comunicat deja

    Și pentru KDC, nu este nevoie să ne amintim că Tom a fost deja autentificat astăzi



    Cheile emiterii - Partea a II-a: Obținerea biletului de serviciu pe stația de lucru

    Apoi, ne amintim că Tom are nevoie de un bilet de serviciu pe stația sa de lucru, așa că prezintă TGT pe serviciul de acordare a biletelor

    Dar cum poate TGS să se asigure că cineva nu a interceptat TGT-ul lui Tom și la trimis la TGS?

    Acest lucru este realizat utilizând un Authenticator ("Authenticator") - o structură de date care conține, printre altele, o ștampilă de timp criptată cu tasta Tom-KDC



    Solicitări de volum ST



    TGS verifică cererea lui Tom



    TGS creează ST pentru TOMSPC



    Tom obține o cheie nouă



    Volumul este autentificat la TOMSPC



    Tom a intrat în sistem

    La fel ca AS și TGS, serviciul Workstation pe TOMSPC deschide un bilet, deoarece este criptat cu o parolă personală TOMSPC

    TOMSPC găsește în cadrul tastei TPC-Tom, care utilizează pentru a deschide autentificatorul

    Apoi, TOMSPC verifică ștampila de timp, vede că este OK



    Un alt punct despre bilete - amintiți-vă autentificatorul? El dovedește serviciului că utilizatorul, de fapt, cine pretinde că este

    În Kerberos, putem solicita opțional serviciului să ne trimită ștampila de timp, criptată cu cheia sesiunii - este autentificare reciprocă ("Autentificare mutuală")



    Aceste chei sunt furnizate utilizatorilor sub formă de bilete

    Utilizatorii demonstrează că aceștia sunt deținătorii legitimi ai biletelor, utilizând autentificatori

    Kerberos funcționează numai în AD; Sistemele moderne utilizează în continuare LM, NTLM sau NTLMv2 pentru autentificare



    Materiale suplimentare

    Cum funcționează protocolul de autentificare Kerberos V5

    Blogul echipei Adresați-vă serviciilor de director

    IIS și Kerberos de Ken Schaefer

    Sper că acest lucru a fost util și interesant.

    [email protected]



    Gradinita Gobow Child Support Centre №1492
    Te rog, nu-l certa pe copil pentru ceea ce este în înțelegerea ta o greșeală, dar în loc de laudă pentru noroc! Conversații cu alții.

    Turismul este o călătorie modernă. Turismul este o călătorie modernă.
    Călătoria este un cuvânt vechi, capabil, invocator. Dicționarul lui V. I. Dal o definește drept "rătăcire, rătăcire, mers pe jos sau călărie.

    Știți că aveți dreptul la deducerea taxelor? Ce este asta?
    În casetă a fost lăsată o notă care a citit: "Vă rugăm să aveți grijă de mine!". Poliția a adresat radioului o propunere.

    Alegeți una dintre opțiuni: Alegeți una dintre opțiuni
    Gestionarea înregistrărilor de personal și administrarea beneficiilor sunt adesea externalizate către un furnizor terț

    "Călătorește prin provincia Astrahan." cartă
    Diploma, acest lucru confirmă că spionul Galina Vladimirovna este trimis în secolul 21 pentru o lecție în clasa a VIII-a, pentru a merge împreună cu copiii.







    Trimiteți-le prietenilor: