Skoči na vsebino

Konfiguracije za podporo Kerberos armoring

Opozorilo!

Da se Kerberos armoring uporablja, morajo biti skrbniški računi umeščeni v skupino Protected Users.
S tem se vsili uporaba protokola za preverjanje pristnosti Kerberos namesto NTLM. Komponenta Edge Gateway mora biti najprej konfigurirana za podporo preverjanju pristnosti Kerberos.

Konfiguriranje komponente Edge Gateway za podporo preverjanju pristnosti Kerberos z računi, umeščenimi v Protected Users

Kerberos armoring zagotavlja dodatno šifriranje začetnih izmenjav med odjemalcem in KDC (Kerberos Domain Controller) s podatki, povezanimi z računom računalnika.

CyberElements Bastion se po možnosti izvaja na računalnikih Debian, ki niso povezani z domeno AD, kar pomeni, da v AD nimajo nobenih podatkov o računu računalnika.
Konfiguracija za podporo Kerberos armoring je sestavljena iz dveh korakov:

  • ustvarjanje storitvenega računa računalnika v AD
  • konfiguriranje Kerberos armoring v komponenti Edge Gateway na podlagi predhodno ustvarjenega računa

Ustvarjanje storitvenega računa računalnika

Informacije

Na tej strani je kot primer uporabljen storitveni račun z imenom svc_cyberelements. Spodnje ukaze prilagodite imenu svojega storitvenega računa.

Opozorilo!

Če želite uporabljati delovne postaje PAW, ta storitveni račun umestite v isti silos kot ciljne delovne postaje PAW.

V krmilniku domene najprej ustvarite račun računalnika z geslom, ki se uporablja za ustvarjanje vstopnic Kerberos.

Za ustvarjanje tega računa lahko v krmilniku domene uporabite ta ukaz PowerShell (prilagodite ime storitvenega računa, v primeru svc_cyberelements, in želeno OU, v primeru OU=Service_accounts,DC=domain,DC=local, da ustvarite storitveni 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

S tem ukazom preverite, ali je bil račun računalnika ustvarjen (svc_cyberelements zamenjajte z imenom predhodno ustvarjenega računa):

1
Get-ADComputer -Identity svc_cyberelements -Properties Enabled

Nato z orodjem Windows ktpass izvozite datoteko keytab, ki bo vsebovala šifrirne ključe, s katerimi bo prehod lahko pridobil TGT.

Primer

Primer ustvarjanja datoteke svc_cyberelements.keytab z računom računalnika:

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 pozabite dodati simbolov $ na koncu imen računov in zapisati imena domene z velikimi črkami (obvezno).

Morebitne pozive za potrditev sprejmite tako, da vnesete y.

Nato s tem ukazom PowerShell znova nastavite vrednost atributa UserPrincipalName:

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

Konfiguriranje Kerberos armoring v komponenti Edge Gateway

Pridobite predhodno ustvarjeno datoteko keytab in jo kopirajte v strežnik Edge Gateway.
Če je bilo ustvarjenih več datotek keytab, ki jih je treba uporabiti v isti komponenti Edge Gateway, združite datoteke keytab v eno datoteko.

Opozorilo

Datoteka keytab vsebuje šifrirne ključe. Če se je polasti napadalec, se lahko izdaja za povezani račun računalnika in s tem zmanjša varnost infrastrukture.
Te datoteke zato ne shranjujte nikjer drugje kot v komponenti Edge Gateway.

Datoteko postavite v mapo /etc/ipdiva/cleanroom/.

Lastnika datoteke keytab spremenite v ipdivacareuser za uporabnika in carerecord za skupino, nato pa spremenite dovoljenja datoteke (datoteko keytab prilagodite imenu svoje datoteke):

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

Spremenite konfiguracijsko datoteko /etc/ipdiva/cleanroom/xrdprecord.ini komponente Edge Gateway in s parametrom keytab= navedite pot do predhodno pripravljene datoteke keytab.

Primer

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

Na tej stopnji bi moralo povezovanje s privilegiranimi aplikacijami RDP v načinu brez agenta (HTML5 ali drugem) delovati z uporabniškimi računi, ki pripadajo skupini Protected Users in zato zahtevajo močno preverjanje pristnosti Kerberos. Konfiguracija aplikacije RDP mora izpolnjevati določene predpogoje.

Preizkušanje konfiguracije Kerberos

Odpravljanje napak

Spodnji ukazi kinit lahko zagotovijo več dnevnikov, ko izvedete ta ukaz (velja do prekinitve seje SSH ali seje konzole):

1
export KRB5_TRACE=/dev/stdout

Najprej pridobite vstopnico Kerberos z ukazom, podobnim temu:

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

Ne pozabite zamenjati lokacije datoteke keytab, imena ustvarjenega storitvenega računa in z njim povezane domene.

Če je bila pridobitev vstopnice Kerberos uspešna, bi moral ta ukaz pokazati, da obstaja vstopnica za storitveni račun:

1
klist -c /tmp/test_kerberos

Če je pridobitev uspešna, morate nato poskusiti pridobiti vstopnico za uporabnika z ukazom, podobnim temu:

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

Zamenjajte user@DOMAIN.LOCAL z uporabnikom, ki se bo verjetno povezoval prek RDP in Kerberos armoring. Upoštevajte, da boste morali vnesti geslo tega uporabnika.
Če je pridobitev vstopnice uspešna, jo bo ta ukaz prikazal:

1
klist -c

Če se prikaže napaka KDC policy rejects request while getting initial credentials, to pomeni, da je KDC zavrnil zahtevo za vstopnico. Možni vzroki:

  • kinit ni mogel uporabiti vstopnice /tmp/test_kerberos (če je kinit ne more uporabiti, brez sporočila o napaki nadaljuje z osnovno zahtevo za vstopnico)
  • Storitvenega računa ni v silosu preizkušenega uporabnika. To se zgodi, ko je AD razdeljen na silose, in zahteva, da je storitveni račun računalnika umeščen v ustrezni silos.

Dodatne informacije najdete v dnevnikih dogodkov Security uporabljenega krmilnika domene (KDC).

Po preizkušanju je priporočljivo izbrisati ustvarjene vstopnice:

1
2
kdestroy
kdestroy -c /tmp/test_kerberos

Združevanje več datotek keytab v eno datoteko

Če arhitektura CyberElements Bastion temelji na enem strežniku Edge Gateway, ki bo omogočal dostop več tretjim osebam, je treba vse datoteke keytab, ustvarjene za različne storitvene račune, združiti v eno datoteko keytab.

Opomba

V tem poglavju predpostavljamo te datoteke keytab: /root/t0.keytab, /root/t1.keytab in /root/t2.keytab. Te datoteke morajo biti predhodno poslane v komponento Edge Gateway.

Če želite združiti datoteke keytab, se v komponento Edge Gateway prijavite kot root, nato pa uporabite te ukaze:

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

Ukazi rkt omogočajo nalaganje poljubnega števila datotek keytab, ukaz wkt pa ustvari novo datoteko keytab.
Poti datotek prilagodite tistim, ki jih imate.

Za izhod iz pripomočka ktutil pritisnite tipko q.

Pridobite datoteko unified.keytab in sledite poglavju Configuring Kerberos shielding on the Edge Gateway.