Pāriet uz saturu

Konfigurācijas Kerberos armoring atbalstam

Brīdinājums!

Lai varētu izmantot Kerberos armoring, administratoru konti ir jāievieto grupā Protected Users.
Tas liek izmantot Kerberos autentifikācijas protokolu NTLM vietā. Vispirms komponents Edge Gateway ir jākonfigurē Kerberos autentifikācijas atbalstam.

Komponenta Edge Gateway konfigurēšana Kerberos autentifikācijas atbalstam ar kontiem, kas ievietoti grupā Protected Users

Kerberos armoring nodrošina papildu šifrēšanu sākotnējai apmaiņai starp klientu un KDC (Kerberos Domain Controller), izmantojot informāciju, kas saistīta ar datora kontu.

CyberElements Bastion ieteicams darbināt Debian datoros, kas nav pievienoti AD domēnam, kas nozīmē, ka AD tiem nav nekādas datora konta informācijas.
Konfigurācija Kerberos armoring atbalstam sastāv no diviem soļiem:

  • Pakalpojuma datora konta izveide AD
  • Kerberos armoring konfigurēšana komponentā Edge Gateway, pamatojoties uz iepriekš izveidoto kontu

Pakalpojuma datora konta izveide

Informācija

Šajā lapā kā piemērs tiks izmantots pakalpojuma konts ar nosaukumu svc_cyberelements. Pielāgojiet tālāk norādītās komandas atbilstoši sava pakalpojuma konta nosaukumam.

Brīdinājums!

Ja vēlaties izmantot PAW darbstacijas, ievietojiet šo pakalpojuma kontu tajā pašā silo, kurā ir mērķa PAW darbstacijas.

Domēna kontrollerī vispirms izveidojiet datora kontu ar paroli, ko izmanto Kerberos biļešu ģenerēšanai.

Lai izveidotu šo kontu, domēna kontrollerī varat izmantot šo Powershell komandu (lai izveidotu pakalpojuma kontu, pielāgojiet pakalpojuma konta nosaukumu, piemērā — svc_cyberelements, un vajadzīgo OU, piemērā — OU=Service_accounts,DC=domain,DC=local):

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

Izmantojiet šo komandu, lai pārbaudītu, vai datora konts ir izveidots (aizstājiet svc_cyberelements ar iepriekš izveidotā konta nosaukumu):

1
Get-ADComputer -Identity svc_cyberelements -Properties Enabled

Pēc tam izmantojiet Windows rīku ktpass, lai eksportētu keytab failu, kurā būs šifrēšanas atslēgas, kas ļaus vārtejai izgūt TGT.

Piemērs

Piemērs faila svc_cyberelements.keytab izveidei ar datora kontu:

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
Neaizmirstiet iekļaut simbolus $ kontu nosaukumu beigās un rakstīt domēna nosaukumu ar lielajiem burtiem (obligāti).

Akceptējiet visus apstiprinājuma uzaicinājumus, kas var parādīties, ievadot y.

Pēc tam atkārtoti iestatiet atribūta UserPrincipalName vērtību, izmantojot šo PowerShell komandu:

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

Kerberos armoring konfigurēšana komponentā Edge Gateway

Izgūstiet iepriekš ģenerēto failu keytab un kopējiet to uz Edge Gateway serveri.
Kontekstā, kurā ir ģenerēti vairāki faili keytab, kas jāizmanto vienā un tajā pašā komponentā Edge Gateway, apvienojiet failus keytab vienā failā.

Brīdinājums

Failā keytab ir šifrēšanas atslēgas. Ja šis fails nonāk uzbrucēja rīcībā, uzbrucējs var uzdoties par saistīto datora kontu, tādējādi samazinot infrastruktūras drošību.
Tāpēc šo failu nedrīkst glabāt nekur citur, kā vien komponentā Edge Gateway.

Ievietojiet failu direktorijā /etc/ipdiva/cleanroom/.

Mainiet faila keytab īpašniekus uz ipdivacareuser lietotājam un carerecord grupai, pēc tam modificējiet faila atļaujas (pielāgojiet faila keytab nosaukumu atbilstoši sava faila nosaukumam):

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

Modificējiet komponenta Edge Gateway konfigurācijas failu /etc/ipdiva/cleanroom/xrdprecord.ini, lai ar parametru keytab= norādītu ceļu uz iepriekš sagatavoto failu keytab.

Piemērs

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

Šajā posmā savienojumam ar privileģētām RDP lietojumprogrammām bezaģenta režīmā (HTML5 vai citādi) vajadzētu darboties ar lietotāju kontiem, kas pieder grupai Protected Users un tāpēc pieprasa stipru Kerberos autentifikāciju. RDP lietojumprogrammas konfigurācijai jāatbilst noteiktiem priekšnosacījumiem.

Kerberos konfigurācijas testēšana

Atkļūdošana

Tālāk norādītās komandas kinit var sniegt vairāk žurnālu pēc šīs komandas izpildes (derīga līdz SSH vai konsoles sesijas atvienošanai):

1
export KRB5_TRACE=/dev/stdout

Vispirms izgūstiet Kerberos biļeti ar komandu, kas līdzīga šai:

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

Noteikti aizstājiet keytab faila atrašanās vietu, izveidotā pakalpojuma konta nosaukumu un tā saistīto domēnu.

Ja Kerberos biļetes izgūšana bija sekmīga, šai komandai vajadzētu norādīt, ka pakalpojuma kontam ir biļete:

1
klist -c /tmp/test_kerberos

Ja izgūšana ir sekmīga, tad jāmēģina izgūt biļeti lietotājam ar komandu, kas līdzīga šai:

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

Aizstājiet user@DOMAIN.LOCAL ar lietotāju, kurš, visticamāk, izveidos savienojumu, izmantojot RDP un Kerberos armoring. Ņemiet vērā, ka tiks pieprasīta šī lietotāja parole.
Ja biļetes izgūšana ir sekmīga, šī komanda to parādīs:

1
klist -c

Ja tiek parādīta kļūda KDC policy rejects request while getting initial credentials, tas nozīmē, ka KDC ir noraidījis biļetes pieprasījumu. Iespējamie cēloņi:

  • kinit nevarēja izmantot biļeti /tmp/test_kerberos (ja kinit to nevar izmantot, tas bez kļūdas ziņojuma turpina ar pamata biļetes pieprasījumu)
  • Pakalpojuma konts nav pārbaudāmā lietotāja silo. Tas notiek, ja AD ir sadalīts silo, un tādā gadījumā pakalpojuma datora konts ir jāievieto atbilstošajā silo.

Papildinformāciju var atrast izmantotā domēna kontrollera (KDC) notikumu žurnālos Security.

Pēc testēšanas ieteicams dzēst ģenerētās biļetes:

1
2
kdestroy
kdestroy -c /tmp/test_kerberos

Vairāku keytab failu apvienošana vienā failā

Ja CyberElements Bastion arhitektūra balstās uz vienu Edge Gateway vārteju, kas nodrošinās piekļuvi vairākām trešajām pusēm, visi dažādajiem pakalpojumu kontiem ģenerētie keytab faili ir jāapvieno vienā keytab failā.

Piezīme

Šajā nodaļā pieņemsim, ka ir šādi keytab faili: /root/t0.keytab, /root/t1.keytab un /root/t2.keytab. Šiem failiem jābūt nosūtītiem uz komponentu Edge Gateway.

Lai apvienotu failus keytab, piesakieties komponentā Edge Gateway kā root un pēc tam izmantojiet šīs komandas:

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

Komandas rkt ļauj ielādēt tik daudz failu keytab, cik nepieciešams, un komanda wkt ģenerē jaunu failu keytab.
Modificējiet failu ceļus atbilstoši tiem, kas ir jūsu rīcībā.

Nospiediet taustiņu q, lai izietu no utilītas ktutil.

Izgūstiet failu unified.keytab un izpildiet nodaļā Configuring Kerberos shielding on the Edge Gateway sniegtos norādījumus.