Konfigurationer til understøttelse af Kerberos-armoring¶
Advarsel!
For at Kerberos-armoring kan bruges, skal administratorkontiene placeres i gruppen Protected Users.
Det tvinger Kerberos-autentificeringsprotokollen til at blive brugt i stedet for NTLM. Den pågældende Edge Gateway skal først konfigureres til at understøtte Kerberos-autentificering.
Kerberos-armoring giver en yderligere kryptering af de indledende udvekslinger mellem klienten og KDC'en (Kerberos Domain Controller) ved hjælp af oplysninger, der er knyttet til en computerkonto.
CyberElements Bastion kører helst på Debian-maskiner, der ikke er tilknyttet et AD-domæne, hvilket betyder, at de ikke har oplysninger om en computerkonto i AD.
Konfigurationen til understøttelse af Kerberos-armoring består af to trin:
- Oprettelse af en tjenestecomputerkonto i AD'et
- Konfiguration af Kerberos-armoring på den pågældende Edge Gateway ud fra den tidligere oprettede konto
Oprettelse af en tjenestecomputerkonto¶
Information
På denne side bruges en tjenestekonto med navnet svc_cyberelements som eksempel. Tilpas følgende kommandoer efter navnet på din egen tjenestekonto.
Advarsel!
Hvis du vil bruge PAW-arbejdsstationer, skal du placere denne tjenestekonto i samme silo som de tilsigtede PAW-arbejdsstationer.
Begynd med fra domænecontrolleren at oprette en computerkonto med en adgangskode, der bruges til at generere Kerberos-tickets.
For at oprette denne konto kan du bruge følgende Powershell-kommando fra en domænecontroller (tilpas navnet på tjenestekontoen, i eksemplet svc_cyberelements, og den ønskede OU, i eksemplet OU=Service_accounts,DC=domain,DC=local, for at oprette tjenestekontoen):
1 | |
Brug følgende kommando for at kontrollere, at computerkontoen er oprettet (erstat svc_cyberelements med navnet på den tidligere oprettede konto):
1 | |
Brug derefter Windows-værktøjet ktpass til at eksportere en keytab-fil, der indeholder de krypteringsnøgler, som gør det muligt for gatewayen at hente TGT'en.
Eksempel
Eksempel på oprettelse af en fil svc_cyberelements.keytab med computerkontoen:
1 | |
$ i slutningen af kontonavnene og at skrive domænenavnet med store bogstaver (påkrævet).
Bekræft eventuelle bekræftelsesforespørgsler, der måtte blive vist, ved at indtaste y.
Sæt derefter værdien af attributten UserPrincipalName på plads igen med følgende PowerShell-kommando:
1 | |
Konfiguration af Kerberos-armoring på Edge Gateway¶
Hent den tidligere genererede fil keytab, og kopier den til Edge Gateway-serveren.
I en sammenhæng, hvor flere keytab-filer er genereret og skal bruges på samme Edge Gateway, skal du samle keytab-filerne i en enkelt fil.
Advarsel
Filen keytab indeholder krypteringsnøgler. Hvis en angriber får fat i den, kan angriberen udgive sig for den tilknyttede computerkonto og dermed forringe infrastrukturens sikkerhed.
Denne fil bør derfor ikke opbevares andre steder end på den pågældende Edge Gateway.
Placer filen i mappen /etc/ipdiva/cleanroom/.
Ændr ejerne af filen keytab til ipdivacareuser for brugeren og carerecord for gruppen, og ændr derefter filens tilladelser (tilpas keytab efter navnet på din egen fil):
1 2 | |
Ændr konfigurationsfilen /etc/ipdiva/cleanroom/xrdprecord.ini på den pågældende Edge Gateway for via parameteren keytab= at angive stien til den tidligere forberedte fil keytab.
Eksempel
2 | |
På dette stadie bør forbindelsen til privilegerede RDP-applikationer i tilstanden uden agent (HTML5 eller ikke) fungere med brugerkonti, der hører til Protected Users og derfor kræver stærk Kerberos-autentificering. Konfigurationen af RDP-applikationen skal opfylde visse forudsætninger.
Test af Kerberos-konfigurationen¶
Fejlsøgning
Følgende kinit-kommandoer kan give flere logs, når følgende kommando er kørt (gælder indtil SSH- eller konsolsessionen afbrydes):
1 | |
Lad os begynde med at hente et Kerberos-ticket med en kommando svarende til følgende:
1 | |
Husk at erstatte placeringen af keytab-filen, navnet på den oprettede tjenestekonto og det tilknyttede domæne.
Hvis hentningen af Kerberos-ticketet lykkedes, bør følgende kommando vise, at der findes et ticket for tjenestekontoen:
1 | |
Hvis hentningen lykkes, skal du derefter forsøge at hente et ticket for en bruger med en kommando svarende til følgende:
1 | |
Erstat user@DOMAIN.LOCAL med en bruger, der forventes at forbinde via RDP og Kerberos-armoring. Bemærk, at denne brugers adgangskode bliver efterspurgt.
Hvis hentningen af ticketet lykkes, viser følgende kommando det:
1 | |
Hvis fejlen KDC policy rejects request while getting initial credentials vises, betyder det, at KDC'en har afvist ticketanmodningen. Mulige årsager:
kinitkunne ikke bruge ticketet/tmp/test_kerberos(hviskinitikke kan bruge det, fortsætter kommandoen uden fejlmeddelelse med en simpel ticketanmodning)- Tjenestekontoen findes ikke i siloen for den testede bruger. Det sker, når AD'et er opdelt i siloer, og kræver, at tjenestecomputerkontoen placeres i den rette silo.
Yderligere oplysninger findes i hændelsesloggene Security på den anvendte domænecontroller (KDC).
Efter testene anbefales det at slette de genererede tickets:
1 2 | |
Saml flere keytab-filer i en enkelt fil¶
Hvis arkitekturen i CyberElements Bastion bygger på en enkelt Edge Gateway, der skal give adgang for flere tredjeparter, er det nødvendigt at samle alle de keytab-filer, der er genereret til de forskellige tjenestekonti, i én enkelt keytab-fil.
Bemærk
I dette afsnit antages følgende keytab-filer: /root/t0.keytab, /root/t1.keytab og /root/t2.keytab.
Disse filer skal på forhånd være sendt til den pågældende Edge Gateway.
For at flette keytab-filerne sammen skal du logge på den pågældende Edge Gateway som root og derefter bruge følgende kommandoer:
1 2 3 4 5 | |
Med rkt-kommandoerne kan du indlæse så mange keytab-filer som nødvendigt, og kommandoen wkt genererer en ny keytab-fil.
Tilpas filstierne til dem, du selv råder over.
Tryk på tasten q for at forlade værktøjet ktutil.
Hent filen unified.keytab, og følg afsnittet Konfiguration af Kerberos-armoring på Edge Gateway.