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 | |
Bruk følgende kommando for å kontrollere at datamaskinkontoen er opprettet (erstatt svc_cyberelements med navnet på kontoen som ble opprettet tidligere):
1 | |
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 | |
$ 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 | |
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 | |
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 | |
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 | |
La oss begynne med å hente en Kerberos-billett med en kommando tilsvarende følgende:
1 | |
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 | |
Hvis hentingen er vellykket, må du forsøke å hente en billett for en bruker med en kommando tilsvarende følgende:
1 | |
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 | |
Hvis feilen KDC policy rejects request while getting initial credentials vises, betyr det at KDC-en har avslått billettforespørselen. Mulige årsaker:
kinitklarte ikke å bruke billetten/tmp/test_kerberos(hviskinitikke 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 | |
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 | |
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.