Konfigurácie na podporu mechanizmu Kerberos armoring¶
Upozornenie!
Aby bolo možné použiť mechanizmus Kerberos armoring, účty správcov musia byť umiestnené do skupiny Protected Users.
Tým sa vynúti použitie protokolu overovania Kerberos namiesto NTLM. Komponent Edge Gateway musí byť najprv nakonfigurovaný na podporu overovania Kerberos.
Mechanizmus Kerberos armoring poskytuje dodatočné šifrovanie počiatočných výmen medzi klientom a KDC (Kerberos Domain Controller) pomocou informácií prepojených s účtom počítača.
CyberElements Bastion beží prednostne na počítačoch so systémom Debian, ktoré nie sú pripojené k doméne AD, čo znamená, že v AD nemajú žiadne informácie o účte počítača.
Konfigurácia na podporu mechanizmu Kerberos armoring pozostáva z dvoch krokov:
- Vytvorenie účtu počítača služby v AD
- Konfigurácia mechanizmu Kerberos armoring na komponente Edge Gateway na základe predtým vytvoreného účtu
Vytvorenie účtu počítača služby¶
Informácie
Na tejto stránke sa ako príklad použije účet služby s názvom svc_cyberelements. Nasledujúce príkazy prispôsobte názvu svojho účtu služby.
Upozornenie!
Ak chcete používať pracovné stanice PAW, umiestnite tento účet služby do rovnakého sila ako cieľové pracovné stanice PAW.
Na radiči domény začnite vytvorením účtu počítača s heslom, ktoré sa používa na generovanie lístkov Kerberos.
Na vytvorenie tohto účtu môžete na radiči domény použiť nasledujúci príkaz prostredia Powershell (na vytvorenie účtu služby prispôsobte názov účtu služby, v príklade svc_cyberelements, a požadovanú OU, v príklade OU=Service_accounts,DC=domain,DC=local):
1 | |
Pomocou nasledujúceho príkazu overte, že účet počítača bol vytvorený (nahraďte svc_cyberelements názvom predtým vytvoreného účtu):
1 | |
Potom pomocou nástroja ktpass systému Windows exportujte súbor keytab, ktorý bude obsahovať šifrovacie kľúče, ktoré bráne umožnia získať TGT.
Príklad
Príklad vytvorenia súboru svc_cyberelements.keytab s účtom počítača:
1 | |
$ na konci názvov účtov a napísať názov domény veľkými písmenami (povinné).
Prípadné výzvy na potvrdenie prijmite zadaním y.
Potom pomocou nasledujúceho príkazu prostredia PowerShell znova nastavte hodnotu atribútu UserPrincipalName:
1 | |
Konfigurácia mechanizmu Kerberos armoring na komponente Edge Gateway¶
Získajte predtým vygenerovaný súbor keytab a skopírujte ho na server Edge Gateway.
Ak bolo vygenerovaných niekoľko súborov keytab, ktoré sa musia použiť na tom istom komponente Edge Gateway, zlúčte súbory keytab do jedného súboru.
Upozornenie
Súbor keytab obsahuje šifrovacie kľúče. Ak ho získa útočník, môže sa vydávať za príslušný účet počítača, a tým znížiť zabezpečenie infraštruktúry.
Tento súbor by sa preto nemal ukladať nikde inde než na komponente Edge Gateway.
Umiestnite súbor do adresára /etc/ipdiva/cleanroom/.
Zmeňte vlastníkov súboru keytab na ipdivacareuser pre používateľa a carerecord pre skupinu a potom upravte povolenia súboru (súbor keytab upravte podľa názvu vlastného súboru):
1 2 | |
Upravte konfiguračný súbor /etc/ipdiva/cleanroom/xrdprecord.ini komponentu Edge Gateway tak, aby ste pomocou parametra keytab= zadali cestu k predtým pripravenému súboru keytab.
Príklad
2 | |
V tejto fáze by malo pripojenie k privilegovaným aplikáciám RDP v režime bez agenta (HTML5 alebo inom) fungovať s používateľskými účtami, ktoré patria do Protected Users, a preto vyžadujú silné overovanie Kerberos. Konfigurácia aplikácie RDP musí spĺňať určité predpoklady.
Testovanie konfigurácie Kerberos¶
Ladenie
Nasledujúce príkazy kinit môžu poskytnúť viac logov po spustení nasledujúceho príkazu (platí, kým sa relácia SSH alebo relácia konzoly neodpojí):
1 | |
Začnime získaním lístka Kerberos príkazom podobným nasledujúcemu:
1 | |
Nezabudnite nahradiť umiestnenie súboru keytab, názov vytvoreného účtu služby a jeho priradenú doménu.
Ak sa lístok Kerberos podarilo získať, nasledujúci príkaz by mal uviesť existenciu lístka pre účet služby:
1 | |
Ak je získanie úspešné, je potrebné pokúsiť sa získať lístok pre používateľa príkazom podobným nasledujúcemu:
1 | |
Nahraďte user@DOMAIN.LOCAL používateľom, ktorý sa pravdepodobne bude pripájať cez RDP a Kerberos armoring. Všimnite si, že sa bude vyžadovať heslo tohto používateľa.
Ak sa lístok podarí získať, nasledujúci príkaz ho zobrazí:
1 | |
Ak sa zobrazí chyba KDC policy rejects request while getting initial credentials, znamená to, že služba KDC zamietla požiadavku na lístok. Možné príčiny:
kinitnemohol použiť lístok/tmp/test_kerberos(ak hokinitnemôže použiť, pokračuje bez chybového hlásenia so základnou požiadavkou na lístok)- Účet služby sa nenachádza v sile testovaného používateľa. K tomu dochádza, keď je AD rozdelené do síl, a vyžaduje sa umiestnenie účtu počítača služby do príslušného sila.
Ďalšie informácie možno nájsť v logoch udalostí Security použitého radiča domény (KDC).
Po testovaní sa odporúča odstrániť vygenerované lístky:
1 2 | |
Zlúčenie viacerých súborov keytab do jedného súboru¶
Ak je architektúra CyberElements Bastion založená na jedinom serveri Edge Gateway, ktorý umožní prístup k viacerým vrstvám, treba všetky súbory keytab vygenerované pre jednotlivé účty služieb zlúčiť do jediného súboru keytab.
Poznámka
V tejto časti budeme predpokladať tieto súbory keytab: /root/t0.keytab, /root/t1.keytab a /root/t2.keytab.
Tieto súbory musia byť odoslané na komponent Edge Gateway.
Ak chcete zlúčiť súbory keytab, prihláste sa na komponent Edge Gateway ako root a potom použite nasledujúce príkazy:
1 2 3 4 5 | |
Príkazy rkt umožňujú načítať toľko súborov keytab, koľko je potrebné, a príkaz wkt vygeneruje nový súbor keytab.
Upravte cesty k súborom podľa tých, ktoré máte k dispozícii.
Stlačením klávesu q ukončíte nástroj ktutil.
Získajte súbor unified.keytab a postupujte podľa časti Configuring Kerberos shielding on the Edge Gateway.