Gå til innhold

Konfigurasjoner for støtte for Kerberos-armering

Adadvarsel!

For at Kerberos-armering skal brukes, må administratorkontoene legges i gruppen Protected Users.
Dette tvinger bruk av autentiseringsprotokollen Kerberos i stedet for NTLM. Edge Gateway må først konfigureres for å støtte Kerberos-autentisering.

Konfigurere Edge Gateway for å støtte Kerberos-autentisering med kontoer lagt i Protected Users

Kerberos-armering gir en ekstra kryptering av de første utvekslingene mellom klienten og KDC-en (Kerberos Domain Controller) ved hjelp av informasjon som er knyttet til en datamaskinkonto.

CyberElements Bastion kjører helst på Debian-maskiner som ikke er koblet til et AD-domene, noe som betyr at de ikke har noen informasjon om datamaskinkonto i AD-et.
Konfigurasjonen for å støtte Kerberos-armering består av to trinn:

  • Opprettelse av en datamaskinkonto for tjenesten i AD
  • Konfigurasjon av Kerberos-armering på Edge Gateway basert på kontoen som ble opprettet tidligere

Opprette en datamaskinkonto for tjenesten

Informasjon

På denne siden brukes en tjenestekonto med navnet svc_cyberelements som eksempel. Tilpass følgende kommandoer til navnet på din egen tjenestekonto.

Adadvarsel!

Hvis du vil bruke PAW-arbeidsstasjoner, legger du denne tjenestekontoen i samme silo som mål-PAW-arbeidsstasjonene.

Fra domenekontrolleren begynner du med å opprette en datamaskinkonto med et passord som brukes til å generere Kerberos-billetter.

For å opprette denne kontoen kan du bruke følgende Powershell-kommando fra en domenekontroller (tilpass navnet på tjenestekontoen, i eksemplet svc_cyberelements, og ønsket OU, i eksemplet OU=Service_accounts,DC=domain,DC=local, for å opprette tjenestekontoen):

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

Bruk følgende kommando for å kontrollere at datamaskinkontoen er opprettet (erstatt svc_cyberelements med navnet på kontoen som ble opprettet tidligere):

1
Get-ADComputer -Identity svc_cyberelements -Properties Enabled

Bruk deretter Windows-verktøyet ktpass for å eksportere en keytab-fil som inneholder krypteringsnøklene som gjør det mulig for gatewayen å hente TGT-en.

Eksempel

Eksempel på oppretting av en fil svc_cyberelements.keytab med datamaskinkontoen:

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
Husk å ta med symbolene $ på slutten av kontonavnene og å skrive domenenavnet med store bokstaver (påkrevd).

Godta eventuelle bekreftelsesforespørsler som vises, ved å skrive y.

Sett deretter verdien for attributtet UserPrincipalName på nytt med følgende PowerShell-kommando:

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

Konfigurere Kerberos-armering på Edge Gateway

Hent filen keytab som ble generert tidligere, og kopier den til Edge Gateway-serveren.
I en sammenheng der flere keytab-filer er generert og må brukes på samme Edge Gateway, slår du sammen keytab-filene til én enkelt fil.

Advarsel

Filen keytab inneholder krypteringsnøkler. Hvis en angriper får tilgang til den, kan angriperen utgi seg for å være den tilknyttede datamaskinkontoen og dermed redusere sikkerheten i infrastrukturen.
Denne filen bør derfor ikke lagres noe annet sted enn på Edge Gateway.

Legg filen i katalogen /etc/ipdiva/cleanroom/.

Endre eierne av filen keytab til ipdivacareuser for brukeren og carerecord for gruppen, og endre deretter tillatelsene til filen (tilpass filen keytab til navnet på din egen fil):

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

Endre konfigurasjonsfilen /etc/ipdiva/cleanroom/xrdprecord.ini på Edge Gateway for å angi banen til filen keytab som er forberedt tidligere, via parameteren keytab=.

Eksempel

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

På dette stadiet skal tilkobling til privilegerte RDP-applikasjoner i agentløs modus (HTML5 eller ikke) fungere med brukerkontoer som tilhører Protected Users og derfor krever sterk Kerberos-autentisering. Konfigurasjonen av RDP-applikasjonen må oppfylle visse forutsetninger.

Teste Kerberos-konfigurasjonen

Debugging

Følgende kinit-kommandoer kan gi flere logger etter at følgende kommando er kjørt (gyldig til SSH- eller konsolløkten kobles fra):

1
export KRB5_TRACE=/dev/stdout

La oss begynne med å hente en Kerberos-billett med en kommando tilsvarende følgende:

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

Husk å erstatte plasseringen av keytab-filen, navnet på tjenestekontoen som ble opprettet, og det tilhørende domenet.

Hvis hentingen av Kerberos-billetten var vellykket, skal følgende kommando vise at det finnes en billett for tjenestekontoen:

1
klist -c /tmp/test_kerberos

Hvis hentingen er vellykket, må du forsøke å hente en billett for en bruker med en kommando tilsvarende følgende:

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

Erstatt user@DOMAIN.LOCAL med en bruker som sannsynligvis vil koble til via RDP og Kerberos-armering. Merk at passordet til denne brukeren blir forespurt.
Hvis hentingen av billetten er vellykket, viser følgende kommando den:

1
klist -c

Hvis feilen KDC policy rejects request while getting initial credentials vises, betyr det at KDC-en har avslått billettforespørselen. Mulige årsaker:

  • kinit klarte ikke å bruke billetten /tmp/test_kerberos (hvis kinit ikke kan bruke den, fortsetter den uten feilmelding med en enkel billettforespørsel)
  • Tjenestekontoen finnes ikke i siloen til den testede brukeren. Dette skjer når AD er delt i siloer, og krever at datamaskinkontoen for tjenesten legges i den passende siloen.

Ytterligere informasjon finnes i hendelsesloggene Security på domenekontrolleren (KDC) som brukes.

Etter testingen anbefales det å slette billettene som er generert:

1
2
kdestroy
kdestroy -c /tmp/test_kerberos

Slå sammen flere keytab-filer til én enkelt fil

Hvis CyberElements Bastion-arkitekturen er basert på én enkelt Edge Gateway som skal gi tilgang for flere tredjeparter, må alle keytab-filene som er generert for de ulike tjenestekontoene, slås sammen til én enkelt keytab-fil.

Merk

I dette avsnittet forutsettes følgende keytab-filer: /root/t0.keytab, /root/t1.keytab og /root/t2.keytab. Disse filene må være sendt til Edge Gateway.

For å slå sammen keytab-filene logger du på Edge Gateway som root og bruker deretter følgende kommandoer:

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

Med rkt-kommandoene kan du laste inn så mange keytab-filer som nødvendig, og kommandoen wkt genererer en ny keytab-fil.
Tilpass filbanene til dem du har.

Trykk på tasten q for å avslutte verktøyet ktutil.

Hent filen unified.keytab og følg avsnittet Konfigurere Kerberos-armering på Edge Gateway.