Како функционише Керберос аутентификација?

Iako se Kerberos često odvija u pozadini sistema, njegova integracija je toliko glatka da ga većina korisnika i administratora gotovo i ne primjećuje.

Šta je Kerberos i kako funkcioniše?

Ako koristite email ili druge online servise koji zahtevaju prijavu radi pristupa resursima, velika je verovatnoća da se vaša autentifikacija vrši putem Kerberos sistema.

Kerberos, kao siguran mehanizam za autentifikaciju, obezbeđuje sigurnu komunikaciju između uređaja, sistema i mreža. Njegova osnovna svrha je zaštita vaših podataka i prijava od potencijalnih hakera.

Kerberos je podržan od strane svih vodećih operativnih sistema, uključujući Microsoft Windows, Apple macOS, FreeBSD i Linux.

Sigurnosni model Kerberosa, koji se sastoji od pet nivoa, uključuje uzajamnu autentifikaciju i kriptografiju simetričnim ključem. Verifikacija identiteta omogućava ovlašćenim korisnicima da se prijave u sistem.

Kerberos kombinuje centralnu bazu podataka sa enkripcijom kako bi potvrdio legitimnost korisnika i servisa. Pre nego što dozvoli pristup servisu, Kerberos server prvo autentifikuje korisnika. Nakon uspešne autentifikacije, korisniku se izdaje „tiket“ koji se koristi za pristup traženoj usluzi.

U suštini, Kerberos se oslanja na „tikete“ kako bi omogućio sigurnu komunikaciju između korisnika. Kerberos protokol koristi centar za distribuciju ključeva (KDC) za uspostavljanje veze između klijenata i servera.

Proces funkcioniše tako što klijent šalje zahtev serveru. Server zatim odgovara tokenom. Klijent nakon toga šalje zahtev serveru zajedno sa tim tiketom.

Ovo je osnovni metod za osiguranje podataka koji se prenose kroz sisteme. Razvijen je 1980. godine na Tehnološkom institutu u Masačusetsu (MIT) kako bi se rešio problem nesigurnih mrežnih veza, i sada je sastavni deo mnogih različitih sistema.

U ovom članku ćemo detaljnije istražiti prednosti Kerberosa, njegove praktične primene, korake funkcionisanja, kao i nivo njegove sigurnosti.

Prednosti Kerberos autentifikacije

U velikim, distribuiranom računarskom okruženju, Kerberos protokol omogućava računarskim sistemima da se bezbedno identifikuju i komuniciraju jedni s drugima.

Koristeći tajnu ključnu kriptografiju, Kerberos je dizajniran da pruži snažnu autentifikaciju za aplikacije koje rade na principu klijent/server. Ovaj protokol postavlja temelj sigurnosti za aplikacije, često u kombinaciji sa SSL/TLS enkripcijom.

Kao široko rasprostranjen protokol za autentifikaciju, Kerberos nudi brojne prednosti koje ga čine privlačnim za mala i srednja preduzeća, kao i za velike korporacije.

Prvo, Kerberos je izuzetno pouzdan; testiran je protiv kompleksnih napada i pokazao se otpornim. Osim toga, Kerberos je jednostavan za postavljanje, upotrebu i integraciju sa različitim sistemima.

Ključne prednosti:

  • Jedinstveni sistem za izdavanje tiketa koji koristi Kerberos omogućava bržu autentifikaciju.
  • Servisi i klijenti mogu međusobno da se autentifikuju.
  • Period autentifikacije je siguran zbog vremenskih ograničenja tiketa.
  • Kerberos ispunjava zahteve savremenih distribuiranih sistema.
  • Tiketi se mogu ponovo koristiti dokle god je vremenska oznaka na njima validna, što sprečava potrebu da korisnici ponovo unose svoje podatke za prijavu za pristup drugim resursima.
  • Dodatna sigurnost je osigurana kroz više tajnih ključeva, autorizaciju treće strane i kriptografiju.

Koliko je Kerberos siguran?

Već smo videli da Kerberos koristi siguran proces autentifikacije. U ovom delu ćemo istražiti kako napadači mogu da ugroze Kerberos bezbednost.

Kerberos je dugi niz godina pouzdan sigurnosni protokol. Na primer, Microsoft Windows koristi Kerberos kao standardni mehanizam za autentifikaciju još od verzije Windows 2000.

Kerberos servis za proveru identiteta koristi šifrovanje sa tajnim ključem, kriptografiju i proveru autentifikacije od strane pouzdane treće strane da bi zaštitio osetljive podatke tokom prenosa.

Za povećanu sigurnost, Kerberos 5, najnovija verzija, koristi Advanced Encryption Standard (AES) kako bi osigurala sigurniju komunikaciju i sprečila curenje podataka.

Američka vlada je usvojila AES zbog njegove efikasnosti u zaštiti tajnih informacija.

Ipak, treba imati na umu da nijedna platforma nije potpuno sigurna, a Kerberos nije izuzetak. Iako je Kerberos izuzetno siguran, kompanije treba redovno da proveravaju svoju površinu napada kako bi se zaštitile od potencijalne zloupotrebe od strane hakera.

Zbog svoje široke primene, hakeri konstantno traže ranjivosti u infrastrukturi.

Neki od najčešćih napada su:

  • Napad zlatne karte: Ovo je jedan od najopasnijih napada. U ovom slučaju, napadači preuzimaju uslugu distribucije ključeva, koristeći Kerberos tikete. Prvenstveno ciljaju Windows okruženja sa aktivnim direktorijumom (AD) koji se koristi za kontrolu pristupa.
  • Napad srebrne karte: Lažni tiket za autentifikaciju servisa se naziva srebrna karta. Haker može da stvori srebrnu kartu dekriptovanjem lozinke računara i iskorišćavanjem je za pravljenje lažnog tiketa za autentifikaciju.
  • Prosleđivanje tiketa: Generišući lažni TGT, napadač stvara lažni ključ sesije i predstavlja ga kao legitiman kredencijal.
  • Prosleđivanje heša: Ova taktika uključuje dobijanje heša NTLM lozinke korisnika i zatim prosleđivanje tog heša za NTLM autentifikaciju.
  • Kerberoasting: Ovaj napad ima za cilj prikupljanje heševa lozinki za korisničke naloge Active Directory sa vrednostima servicePrincipalName (SPN), kao što su nalozi usluga, zloupotrebom Kerberos protokola.

Ublažavanje Kerberos rizika

Sledeće mere mogu pomoći u sprečavanju Kerberos napada:

  • Implementirajte moderan softver za nadzor mreže koji radi 24/7 i detektuje ranjivosti u realnom vremenu.
  • Princip najmanje privilegije: Osigurati da samo korisnici, nalozi i računarski procesi imaju pristupne dozvole neophodne za obavljanje svojih zadataka. Ovo će sprečiti neovlašćeni pristup serverima, prvenstveno KDC serveru i drugim kontrolerima domena.
  • Redovno rešavati softverske ranjivosti, uključujući ranjivosti nultog dana.
  • Omogućiti zaštićeni režim podsistema usluge lokalne bezbednosne vlasti (LSASS): LSASS je domaćin raznih dodataka, uključujući NTLM autentifikaciju i Kerberos, i odgovoran je za pružanje usluga jedinstvenog prijavljivanja korisnicima.
  • Snažna autentifikacija: Postavljanje standarda za kreiranje lozinki, jake lozinke za administrativne, lokalne i servisne naloge.
  • DoS napadi: Preopterećenjem KDC-a zahtevima za autentifikaciju, napadač može pokrenuti napad uskraćivanja usluge (DoS). Da bi se sprečili ovi napadi i uravnotežilo opterećenje, KDC treba postaviti iza zaštitnog zida, a takođe bi trebalo rasporediti dodatne redundantne KDC-ove.

Koji su koraci u toku Kerberos protokola?

Kerberos arhitektura se sastoji od četiri ključna elementa koji upravljaju svim Kerberos operacijama:

  • Server za autentifikaciju (AS): Kerberos proces autentifikacije započinje na serveru za autentifikaciju. Klijent se prvo mora prijaviti na AS koristeći korisničko ime i lozinku radi provere identiteta. Po završetku ovog koraka, AS šalje korisničko ime KDC-u, koji zatim izdaje TGT.
  • Centar za distribuciju ključeva (KDC): Njegova uloga je da služi kao posrednik između servera za autentifikaciju (AS) i servisa za izdavanje tiketa (TGS), prenoseći poruke sa AS-a i izdajući TGT-ove, koji se zatim prosleđuju TGS-u radi enkripcije.
  • Tiket za dodelu tiketa (TGT): TGT je šifrovan i sadrži informacije o tome kojim servisima klijent ima pristup, koliko dugo je taj pristup odobren, kao i ključ sesije za komunikaciju.
  • Servis za izdavanje tiketa (TGS): TGS predstavlja barijeru između klijenata koji poseduju TGT i različitih servisa mreže. Nakon autentifikacije TGT-a, TGS uspostavlja ključ sesije koji dele server i klijent.

Sledi korak po korak tok Kerberos autentifikacije:

  • Prijava korisnika.
  • Klijent podnosi zahtev serveru za dodelu tiketa.
  • Server verifikuje korisničko ime.
  • Karta se vraća klijentu nakon odobrenja.
  • Klijent dobija TGS ključ sesije.
  • Klijent traži pristup servisu od servera.
  • Server verifikuje servis.
  • Server dobija TGS ključ sesije.
  • Server kreira ključ sesije servisa.
  • Klijent dobija ključ sesije servisa.
  • Klijent kontaktira servis.
  • Servis dekriptuje.
  • Servis verifikuje zahtev.
  • Servis se potvrđuje klijentu.
  • Klijent potvrđuje servis.
  • Klijent i servis stupaju u interakciju.

Koje su realne aplikacije koje koriste Kerberos?

Kerberos je posebno koristan u modernom radnom okruženju koje je povezano internetom jer je odličan u implementaciji Single-Sign-On (SSO) sistema.

Microsoft Windows trenutno koristi Kerberos autentifikaciju kao svoj standardni metod autorizacije. Kerberos takođe podržavaju Apple OS, FreeBSD, UNIX i Linux.

Osim toga, postao je standard za web stranice i aplikacije sa jednim prijavljivanjem na svim platformama. Kerberos je povećao sigurnost interneta i njegovih korisnika, omogućavajući im da obavljaju više zadataka online i u kancelariji bez brige za svoju sigurnost.

Popularni operativni sistemi i softverski programi već uključuju Kerberos, koji je postao ključni deo IT infrastrukture. To je standardna tehnologija autorizacije Microsoft Windows-a.

Koristi jaku kriptografiju i autorizaciju treće strane pomoću tiketa, što hakerima otežava pristup korporativnoj mreži. Organizacije mogu da koriste internet uz Kerberos bez brige o ugrožavanju svoje sigurnosti.

Najpoznatija aplikacija Kerberosa je Microsoft Active Directory, koji kontroliše domene i vrši autentifikaciju korisnika kao standardnu uslugu direktorijuma uključenu u Windows 2000 i novije verzije.

Apple, NASA, Google, Ministarstvo odbrane SAD i brojne institucije širom zemlje su među značajnijim korisnicima.

Ispod su navedeni neki sistemi sa ugrađenom ili dostupnom Kerberos podrškom:

  • Amazon Web Services
  • Google Cloud
  • Hewlett Packard Unix
  • IBM Advanced Interactive eXecutive
  • Microsoft Azure
  • Microsoft Windows Server i AD
  • Oracle Solaris
  • OpenBSD

Dodatni izvori

Zaključak

Kerberos je najrašireniji metod autentifikacije za zaštitu veza između klijenata i servera. Ovaj mehanizam za autentifikaciju sa simetričnim ključem nudi integritet podataka, poverljivost i međusobnu autentifikaciju korisnika.

On čini temelj Microsoft Active Directory-a i postao je jedan od protokola koje napadači svih vrsta ciljaju radi eksploatacije.

U nastavku možete istražiti alate za nadzor zdravlja Active Directory-a.