Konfigurace pro podporu Kerberos armoring¶
Upozornění!
Aby bylo možné použít Kerberos armoring, musí být účty správců umístěny do skupiny Protected Users.
Tím se vynutí použití ověřovacího protokolu Kerberos místo NTLM. Server Edge Gateway musí být nejprve nakonfigurován tak, aby podporoval ověřování Kerberos.
Konfigurace serveru Edge Gateway pro podporu ověřování Kerberos s účty umístěnými do Protected Users
Kerberos armoring zajišťuje dodatečné šifrování počátečních výměn mezi klientem a KDC (Kerberos Domain Controller) pomocí informací propojených s účtem počítače.
CyberElements běží přednostně na počítačích s Debianem, které nejsou připojeny k doméně AD, což znamená, že v AD nemají žádné informace o účtu počítače.
Konfigurace pro podporu Kerberos armoring se skládá ze dvou kroků:
- Vytvoření servisního účtu počítače v AD
- Konfigurace Kerberos armoring na serveru Edge Gateway na základě dříve vytvořeného účtu
Vytvoření servisního účtu počítače¶
Informace
Na této stránce se jako příklad používá servisní účet s názvem svc_cyberelements. Následující příkazy přizpůsobte názvu svého servisního účtu.
Upozornění!
Pokud chcete používat pracovní stanice PAW, umístěte tento servisní účet do stejného sila jako cílové pracovní stanice PAW.
Na řadiči domény začněte vytvořením účtu počítače s heslem, které se používá ke generování lístků Kerberos.
K vytvoření tohoto účtu můžete na řadiči domény použít následující příkaz Powershell (přizpůsobte název servisního účtu, v příkladu svc_cyberelements, a požadovanou OU, v příkladu OU=Service_accounts,DC=domain,DC=local, ve které se servisní účet vytvoří):
1 | |
Pomocí následujícího příkazu ověřte, že byl účet počítače vytvořen (nahraďte svc_cyberelements názvem dříve vytvořeného účtu):
1 | |
Poté pomocí nástroje Windows ktpass exportujte soubor keytab, který bude obsahovat šifrovací klíče, jež bráně umožní získat TGT.
Příklad
Příklad vytvoření souboru svc_cyberelements.keytab s účtem počítače:
1 | |
$ na konci názvů účtů a zapsat název domény velkými písmeny (povinné).
Potvrďte všechny výzvy k potvrzení, které se mohou zobrazit, zadáním y.
Poté pomocí následujícího příkazu PowerShell znovu nastavte hodnotu atributu UserPrincipalName:
1 | |
Konfigurace Kerberos armoring na Edge Gateway¶
Získejte dříve vygenerovaný soubor keytab a zkopírujte jej na server Edge Gateway.
Pokud bylo vygenerováno několik souborů keytab, které se musí používat na stejném serveru Edge Gateway, sloučte soubory keytab do jednoho souboru.
Upozornění
Soubor keytab obsahuje šifrovací klíče. Pokud se ho zmocní útočník, může se vydávat za přidružený účet počítače, a tím snížit zabezpečení infrastruktury.
Tento soubor proto nesmí být uložen nikde jinde než na serveru Edge Gateway.
Umístěte soubor do adresáře /etc/ipdiva/cleanroom/.
Změňte vlastníky souboru keytab na ipdivacareuser pro uživatele a carerecord pro skupinu a poté upravte oprávnění souboru (název souboru keytab přizpůsobte názvu svého vlastního souboru):
1 2 | |
Upravte konfigurační soubor /etc/ipdiva/cleanroom/xrdprecord.ini serveru Edge Gateway a pomocí parametru keytab= v něm zadejte cestu k dříve připravenému souboru keytab.
Příklad
2 | |
V této fázi by připojení k privilegovaným aplikacím RDP v režimu bez agenta (HTML5 nebo jiném) mělo fungovat s uživatelskými účty, které patří do Protected Users, a proto vyžadují silné ověřování Kerberos. Konfigurace aplikace RDP musí splňovat určité předpoklady.
Testování konfigurace Kerberos¶
Ladění
Následující příkazy kinit mohou poskytnout více logů po spuštění následujícího příkazu (platí až do odpojení relace SSH nebo relace konzoly):
1 | |
Začněte získáním lístku Kerberos pomocí příkazu podobného následujícímu:
1 | |
Nezapomeňte nahradit umístění souboru keytab, název vytvořeného servisního účtu a jeho přidruženou doménu.
Pokud bylo získání lístku Kerberos úspěšné, měl by následující příkaz uvést existenci lístku pro servisní účet:
1 | |
Pokud je získání úspěšné, je pak nutné pokusit se získat lístek pro uživatele pomocí příkazu podobného následujícímu:
1 | |
Nahraďte user@DOMAIN.LOCAL uživatelem, který se bude pravděpodobně připojovat přes RDP a Kerberos armoring. Upozorňujeme, že bude vyžadováno heslo tohoto uživatele.
Pokud je získání lístku úspěšné, následující příkaz jej zobrazí:
1 | |
Pokud se zobrazí chyba KDC policy rejects request while getting initial credentials, znamená to, že KDC žádost o lístek zamítl. Možné příčiny:
kinitnemohl použít lístek/tmp/test_kerberos(pokud jejkinitnemůže použít, pokračuje bez chybové zprávy se základní žádostí o lístek)- Servisní účet není přítomen v silu testovaného uživatele. K tomu dochází, když je AD rozdělena do sil, a je pak nutné umístit servisní účet počítače do příslušného sila.
Další informace najdete v logech událostí Security použitého řadiče domény (KDC).
Po otestování se doporučuje vygenerované lístky odstranit:
1 2 | |
Sloučení více souborů keytab do jednoho souboru¶
Pokud je architektura CyberElements založena na jediném serveru Edge Gateway, který bude umožňovat přístup více třetím stranám, je nutné sloučit všechny soubory keytab vygenerované pro jednotlivé servisní účty do jediného souboru keytab.
Poznámka
V této části budeme předpokládat následující soubory keytab: /root/t0.keytab, /root/t1.keytab a /root/t2.keytab.
Tyto soubory musí být předem odeslány na server Edge Gateway.
Chcete-li sloučit soubory keytab, přihlaste se k serveru Edge Gateway jako root a poté použijte následující příkazy:
1 2 3 4 5 | |
Příkazy rkt umožňují načíst libovolný počet souborů keytab a příkaz wkt vygeneruje nový soubor keytab.
Upravte cesty k souborům podle těch, které máte k dispozici.
Stisknutím klávesy q ukončete nástroj ktutil.
Získejte soubor unified.keytab a postupujte podle části Configuring Kerberos shielding on the Edge Gateway.