Preskoči na sadržaj

Konfiguracije za podršku mehanizma Kerberos armoring

Upozorenje!

Da bi se Kerberos armoring mogao koristiti, administratorski računi moraju biti smješteni u grupu Protected Users.
Time se nameće upotreba protokola za provjeru autentičnosti Kerberos umjesto NTLM-a. Komponenta Edge Gateway najprije mora biti konfigurirana za podršku provjere autentičnosti Kerberos.

Konfiguriranje komponente Edge Gateway za podršku provjere autentičnosti Kerberos s računima smještenima u Protected Users

Kerberos armoring pruža dodatno šifriranje početnih razmjena između klijenta i KDC-a (Kerberos Domain Controller) pomoću informacija povezanih s računom računala.

CyberElements po mogućnosti radi na računalima Debian koja nisu povezana s domenom AD, što znači da nemaju nikakve informacije o računu računala u AD-u.
Konfiguracija za podršku mehanizma Kerberos armoring sastoji se od dva koraka:

  • Stvaranje servisnog računa računala u AD-u
  • Konfiguriranje mehanizma Kerberos armoring na komponenti Edge Gateway na temelju prethodno stvorenog računa

Stvaranje servisnog računa računala

Informacije

Na ovoj će se stranici kao primjer koristiti servisni račun pod nazivom svc_cyberelements. Prilagodite sljedeće naredbe nazivu svojeg servisnog računa.

Upozorenje!

Ako želite koristiti radne stanice PAW, smjestite ovaj servisni račun u isti silos kao i ciljne radne stanice PAW.

Na kontroleru domene najprije stvorite račun računala s lozinkom koja se koristi za generiranje ulaznica protokola Kerberos.

Da biste stvorili taj račun, možete na kontroleru domene upotrijebiti sljedeću naredbu za PowerShell (prilagodite naziv servisnog računa, u primjeru svc_cyberelements, i željenu organizacijsku jedinicu, u primjeru OU=Service_accounts,DC=domain,DC=local, kako biste stvorili servisni račun):

1
New-ADComputer -Name svc_cyberelements -SAMAccountName 'svc_cyberelements$' -AccountPassword $Null -Path 'OU=Service_accounts,DC=domain,DC=local'-KerberosEncryptionType AES256 -PasswordNeverExpires $True -Enabled $True

Upotrijebite sljedeću naredbu kako biste provjerili je li račun računala stvoren (zamijenite svc_cyberelements nazivom prethodno stvorenog računa):

1
Get-ADComputer -Identity svc_cyberelements -Properties Enabled

Zatim upotrijebite alat ktpass sustava Windows kako biste izvezli datoteku keytab koja će sadržavati ključeve za šifriranje pomoću kojih će pristupnik moći dohvatiti TGT.

Primjer

Primjer stvaranja datoteke svc_cyberelements.keytab s računom računala:

1
ktpass /princ 'svc_cyberelements$@DOMAIN.LOCAL' /mapuser 'svc_cyberelements$@DOMAIN.LOCAL' +rndPass /out svc_cyberelements.keytab /crypto AES256-SHA1 /ptype KRB5_NT_SRV_HST /mapop set
Ne zaboravite dodati znakove $ na kraj naziva računa i napisati naziv domene velikim slovima (obavezno).

Prihvatite sve upite za potvrdu koji se mogu pojaviti tako da unesete y.

Zatim ponovno postavite vrijednost atributa UserPrincipalName sljedećom naredbom za PowerShell:

1
Set-ADComputer 'svc_cyberelements$' -UserPrincipalName 'svc_cyberelements$@DOMAIN.LOCAL'

Konfiguriranje mehanizma Kerberos armoring na komponenti Edge Gateway

Dohvatite prethodno generiranu datoteku keytab i kopirajte je na poslužitelj Edge Gateway.
U kontekstu u kojem je generirano nekoliko datoteka keytab koje se moraju koristiti na istoj komponenti Edge Gateway objedinite datoteke keytab u jednu datoteku.

Upozorenje

Datoteka keytab sadrži ključeve za šifriranje. Ako se napadač domogne te datoteke, može se lažno predstaviti kao povezani račun računala i time smanjiti sigurnost infrastrukture.
Tu datoteku stoga ne treba pohranjivati nigdje osim na komponenti Edge Gateway.

Smjestite datoteku u direktorij /etc/ipdiva/cleanroom/.

Promijenite vlasnike datoteke keytab u ipdivacareuser za korisnika i carerecord za grupu, a zatim izmijenite dozvole datoteke (prilagodite datoteku keytab nazivu svoje datoteke):

1
2
chown ipdivacareuser:carerecord /etc/ipdiva/cleanroom/svc_cyberelements.keytab
chmod 640 /etc/ipdiva/cleanroom/svc_cyberelements.keytab

Izmijenite konfiguracijsku datoteku /etc/ipdiva/cleanroom/xrdprecord.ini komponente Edge Gateway kako biste putem parametra keytab= naveli put do prethodno pripremljene datoteke keytab.

Primjer

2
keytab=/etc/ipdiva/cleanroom/svc_cyberelements.keytab

U ovoj bi fazi povezivanje s privilegiranim aplikacijama RDP u načinu bez agenta (HTML5 ili drugom) trebalo funkcionirati s korisničkim računima koji pripadaju grupi Protected Users i stoga zahtijevaju snažnu provjeru autentičnosti Kerberos. Konfiguracija aplikacije RDP mora ispunjavati određene preduvjete.

Testiranje konfiguracije protokola Kerberos

Otklanjanje pogrešaka

Sljedeće naredbe kinit mogu pružiti više zapisa nakon izvršavanja sljedeće naredbe (vrijedi do prekida veze sa sesijom SSH ili konzole):

1
export KRB5_TRACE=/dev/stdout

Najprije dohvatite ulaznicu protokola Kerberos naredbom sličnom sljedećoj:

1
kinit -k -t /etc/ipdiva/cleanroom/svc_cyberelements.keytab 'svc_cyberelements$@DOMAIN.LOCAL' -c /tmp/test_kerberos

Obavezno zamijenite lokaciju datoteke keytab, naziv stvorenog servisnog računa i njegovu pridruženu domenu.

Ako je dohvaćanje ulaznice protokola Kerberos uspjelo, sljedeća bi naredba trebala pokazati postojanje ulaznice za servisni račun:

1
klist -c /tmp/test_kerberos

Ako je dohvaćanje uspješno, potrebno je pokušati dohvatiti ulaznicu za korisnika naredbom sličnom sljedećoj:

1
kinit -T /tmp/test_kerberos user@DOMAIN.LOCAL

Zamijenite user@DOMAIN.LOCAL korisnikom koji će se vjerojatno povezivati putem RDP-a i mehanizma Kerberos armoring. Imajte na umu da će se zatražiti lozinka tog korisnika.
Ako je dohvaćanje ulaznice uspješno, sljedeća će je naredba prikazati:

1
klist -c

Ako se prikaže pogreška KDC policy rejects request while getting initial credentials, to znači da je KDC odbio zahtjev za ulaznicu. Mogući uzroci:

  • kinit nije mogao upotrijebiti ulaznicu /tmp/test_kerberos (ako je kinit ne može upotrijebiti, bez poruke o pogrešci nastavlja s osnovnim zahtjevom za ulaznicu)
  • Servisni račun nije prisutan u silosu testiranog korisnika. To se događa kada je AD podijeljen u silose i zahtijeva da se servisni račun računala smjesti u odgovarajući silos.

Dodatne informacije možete pronaći u zapisnicima događaja Security korištenog kontrolera domene (KDC).

Nakon testiranja preporučuje se izbrisati generirane ulaznice:

1
2
kdestroy
kdestroy -c /tmp/test_kerberos

Objedinjavanje više datoteka keytab u jednu datoteku

Ako se arhitektura CyberElements temelji na jednoj komponenti Edge Gateway koja će omogućiti pristup većem broju trećih strana, potrebno je spojiti sve datoteke keytab generirane za različite servisne račune u jednu datoteku keytab.

Napomena

U ovom poglavlju pretpostavit ćemo sljedeće datoteke keytab: /root/t0.keytab, /root/t1.keytab i /root/t2.keytab. Te su datoteke prethodno morale biti poslane na komponentu Edge Gateway.

Da biste spojili datoteke keytab, prijavite se na komponentu Edge Gateway kao root, a zatim upotrijebite sljedeće naredbe:

1
2
3
4
5
ktutil
rkt /root/t0.keytab
rkt /root/t1.keytab
rkt /root/t2.keytab
wkt /root/unified.keytab

Naredbe rkt omogućuju učitavanje onoliko datoteka keytab koliko je potrebno, a naredba wkt generira novu datoteku keytab.
Prilagodite putove datoteka onima koje imate.

Pritisnite tipku q da biste izašli iz uslužnog programa ktutil.

Dohvatite datoteku unified.keytab i slijedite poglavlje Configuring Kerberos shielding on the Edge Gateway.