Konfigurationer för stöd för Kerberos shielding¶
Varning!
För att Kerberos shielding ska användas måste administratörskontona placeras i gruppen Protected Users.
Detta tvingar användningen av autentiseringsprotokollet Kerberos i stället för NTLM. Edge Gateway måste först konfigureras för att stödja Kerberos-autentisering.
Konfigurera Edge Gateway för stöd för Kerberos-autentisering med konton placerade i Protected Users
Kerberos shielding ger en ytterligare kryptering av de inledande utbytena mellan klienten och KDC:n (Kerberos Domain Controller) med hjälp av information som är kopplad till ett datorkonto.
CyberElements körs helst på Debian-maskiner som inte är anslutna till en AD-domän, vilket innebär att de inte har någon information om datorkonto i AD.
Konfigurationen för stöd för Kerberos shielding består av två steg:
- Skapa ett tjänstdatorkonto i AD
- Konfigurera Kerberos shielding på Edge Gateway utifrån det tidigare skapade kontot
Skapa ett tjänstdatorkonto¶
Information
På denna sida används ett tjänstkonto med namnet svc_cyberelements som exempel. Anpassa följande kommandon efter namnet på ditt tjänstkonto.
Varning!
Om du vill använda PAW-arbetsstationer placerar du detta tjänstkonto i samma silo som de PAW-arbetsstationer som avses.
Börja från domänkontrollanten med att skapa ett datorkonto med ett lösenord som används för att generera Kerberos-biljetter.
För att skapa detta konto kan du använda följande Powershell-kommando från en domänkontrollant (anpassa namnet på tjänstkontot, i exemplet svc_cyberelements, och den önskade OU:n, i exemplet OU=Service_accounts,DC=domain,DC=local, för att skapa tjänstkontot):
1 | |
Använd följande kommando för att kontrollera att datorkontot har skapats (ersätt svc_cyberelements med namnet på det konto som skapades tidigare):
1 | |
Använd sedan Windows-verktyget ktpass för att exportera en keytab-fil som innehåller de krypteringsnycklar som gör det möjligt för gatewayen att hämta TGT:n.
Exempel
Exempel på hur en fil svc_cyberelements.keytab skapas med datorkontot:
1 | |
$ i slutet av kontonamnen och att skriva domännamnet med versaler (krävs).
Bekräfta eventuella bekräftelsefrågor som visas genom att ange y.
Sätt sedan om värdet för attributet UserPrincipalName med följande PowerShell-kommando:
1 | |
Konfigurera Kerberos shielding på Edge Gateway¶
Hämta den tidigare genererade filen keytab och kopiera den till Edge Gateway-servern.
I ett sammanhang där flera filer keytab har genererats och måste användas på samma Edge Gateway, sammanfoga filerna keytab till en enda fil.
Varning
Filen keytab innehåller krypteringsnycklar. Om en angripare kommer över den kan denne utge sig för att vara det tillhörande datorkontot och därigenom minska infrastrukturens säkerhet.
Denna fil bör därför inte lagras någon annanstans än på Edge Gateway.
Placera filen i katalogen /etc/ipdiva/cleanroom/.
Ändra ägarna till filen keytab till ipdivacareuser för användaren och carerecord för gruppen, och ändra sedan filens behörigheter (anpassa filen keytab efter namnet på din egen fil):
1 2 | |
Ändra Edge Gateways konfigurationsfil /etc/ipdiva/cleanroom/xrdprecord.ini för att via parametern keytab= ange sökvägen till den fil keytab som förberetts tidigare.
Exempel
2 | |
I detta skede bör anslutningen till privilegierade RDP-applikationer i agentlöst läge (HTML5 eller inte) fungera med användarkonton som tillhör Protected Users och därför kräver stark Kerberos-autentisering. Konfigurationen av RDP-applikationen måste uppfylla vissa förutsättningar.
Testa Kerberos-konfigurationen¶
Felsökning
Följande kommandon kinit kan ge fler loggar efter att följande kommando har körts (gäller till dess att SSH- eller konsolsessionen kopplas ner):
1 | |
Vi börjar med att hämta en Kerberos-biljett med ett kommando liknande följande:
1 | |
Se till att ersätta platsen för keytab-filen, namnet på det tjänstkonto som skapades och dess tillhörande domän.
Om hämtningen av Kerberos-biljetten lyckades bör följande kommando visa att det finns en biljett för tjänstkontot:
1 | |
Om hämtningen lyckas måste du försöka hämta en biljett för en användare med ett kommando liknande följande:
1 | |
Ersätt user@DOMAIN.LOCAL med en användare som sannolikt kommer att ansluta via RDP och Kerberos armoring. Observera att denna användares lösenord efterfrågas.
Om hämtningen av biljetten lyckas visar följande kommando den:
1 | |
Om felet KDC policy rejects request while getting initial credentials visas betyder det att KDC:n har nekat biljettbegäran. Möjliga orsaker:
kinitkunde inte använda biljetten/tmp/test_kerberos(omkinitinte kan använda den fortsätter den utan felmeddelande med en enkel biljettbegäran)- Tjänstkontot finns inte i den testade användarens silo. Detta inträffar när AD är uppdelat i silor och kräver att tjänstdatorkontot placeras i lämpligt silo.
Ytterligare information finns i händelseloggarna Security för den domänkontrollant (KDC) som används.
Efter testerna rekommenderas att de genererade biljetterna tas bort:
1 2 | |
Sammanfoga flera keytab-filer till en enda fil¶
Om CyberElements-arkitekturen bygger på en enda Edge Gateway som ska ge åtkomst till flera tredje parter, måste alla keytab-filer som genererats för de olika tjänstkontona sammanfogas till en enda keytab-fil.
Obs
I detta avsnitt förutsätts följande keytab-filer: /root/t0.keytab, /root/t1.keytab och /root/t2.keytab.
Dessa filer måste ha skickats till Edge Gateway.
För att sammanfoga filerna keytab, logga in på Edge Gateway som root och använd sedan följande kommandon:
1 2 3 4 5 | |
Med kommandona rkt kan du läsa in så många keytab-filer som behövs, och kommandot wkt genererar en ny keytab-fil.
Anpassa filsökvägarna efter dem du har tillgång till.
Tryck på tangenten q för att lämna verktyget ktutil.
Hämta filen unified.keytab och följ avsnittet Konfigurera Kerberos shielding på Edge Gateway.