Používání zabezpečených a bootstrapových tokenů a vlastnictví svazků v nasazených systémech
Zabezpečený token
Souborový systém APFS (Apple File System) v systémech macOS 10.13 a novějších mění způsob generování šifrovacích klíčů pro FileVault. V předchozích verzích systému macOS ve svazcích CoreStorage se klíče používané k šifrování FileVaultu vytvářely v okamžiku, kdy uživatel nebo organizace FileVault na Macu zapnuli. V systému macOS na svazcích APFS se šifrovací klíče generují při vytvoření uživatelského účtu, při prvním nastavení jeho hesla anebo během prvního přihlášení uživatele k Macu. Tato implementace šifrovacích klíčů, určování okamžiku jejich vytvoření i způsob jejich ukládání jsou součástí funkce nazývané Secure Token (zabezpečený token). Přesněji řečeno, zabezpečený token je zapouzdřená verze klíče KEK (Key Encryption Key) chráněná uživatelským heslem.
Při nasazení FileVaultu ve svazku APFS může uživatel i nadále:
používat stávající nástroje a procesy, například úschovu osobního klíče pro obnovení (PRK) ve službě správy mobilních zařízení (MDM),
vytvářet a používat instituční klíče pro obnovení (IRK),
odložit aktivaci FileVaultu, dokud se uživatel nepřihlásí k Macu nebo se od něj neodhlásí.
V systému macOS 11 nebo novějším je důsledkem nastavení počátečního hesla pro úplně prvního uživatele na Macu to, že je tomuto uživateli přidělen zabezpečený token. V některých sledech úloh to však nemusí být žádoucím chováním, protože přidělení prvního zabezpečeného tokenu by nejprve vyžadovalo přihlášení k uživatelskému účtu. Chcete‑li tomu zabránit, je nutné ještě před nastavením hesla uživatele přidat k programově vytvářenému atributu uživatele AuthenticationAuthority
položku ;DisabledTags;SecureToken
, jak je předvedeno níže:
sudo dscl . -append /Users/<user name> AuthenticationAuthority ";DisabledTags;SecureToken"
Bootstrapový token
V systémech macOS 10.5 a novějších lze bootstrapové tokeny kromě přidělování zabezpečených tokenů existujícím uživatelským účtům používat i k dalším akcím. Na počítačích Mac s čipy Apple je možné bootstrapový token – pokud je dostupný a spravovaný prostřednictvím služby MDM – používat pro:
dohled nad zařízením,
podporu dodavatele MDM.
Předpokládejme, že vaše služba MDM bootstrapové tokeny podporuje. V systémech macOS 10.15.4 a novějších je bootstrapový token vygenerován a předán do úschovy službě MDM při prvním přihlášení uživatele s aktivovaným zabezpečeným tokenem. Kromě toho lze bootstrapový token v případě potřeby vygenerovat a předat do úschovy službě MDM pomocí nástroje příkazového řádku profiles
.
V systémech macOS 11 a novějších lze bootstrapové tokeny kromě přidělování zabezpečených tokenů existujícím uživatelským účtům používat i k dalším akcím. Na počítačích Mac s čipy Apple je možné bootstrapový token – pokud je dostupný a spravovaný prostřednictvím služby MDM – používat pro:
autorizování instalace aktualizací softwaru,
bezobslužnou autorizaci MDM příkazu Erase All Content and Settings (Smazat data a nastavení; vyžaduje macOS 12.0.1 nebo novější),
vytváření nových uživatelů při jejich prvním přihlášení prostřednictvím jednotného přihlašování na platformě (macOS 13 a novější).
Vlastnictví svazků
U počítačů Mac s čipy Apple je nově zaveden princip vlastnictví svazků. V kontextu organizace pojem vlastnictví svazku nesouvisí se skutečným právním vlastnictvím Macu ani s jeho evidovaným dodavatelským a vlastnickým řetězcem. Vlastníka svazku lze zhruba definovat jako uživatele, který si Mac jako první „přivlastnil“ tím, že ho nakonfiguroval pro své vlastní použití, nebo libovolného dalšího uživatele. Nikdo jiný než vlastník svazku nemůže měnit zásady zabezpečeného spouštění konkrétní instalace systému macOS, autorizovat instalaci aktualizací a upgradů softwaru macOS, spustit na Macu příkaz „Smazat data a nastavení“ a provádět další aktivity. Zásady zabezpečeného spouštění definují omezení ohledně toho, které verze macOS lze zavést, a také toho, zda a jaká rozšíření kernelu třetích stran lze do počítače zavést nebo v něm spravovat.
Uživateli, který si jako první „přivlastní“ Mac tím, že ho nakonfiguruje pro své použití, je na Macích s čipy Apple udělen zabezpečený token a stává se prvním vlastníkem svazku. Je‑li k dispozici aktivní bootstrapový token, stává se také vlastníkem svazku a následně může udělovat status vlastnictví svazku dalším účtům tím, že jim uděluje zabezpečené tokeny. Vzhledem k tomu, že první uživatel, kterému je udělen zabezpečený nebo bootstrapový token, se stává vlastníkem svazku a že bootstrapový token propůjčuje možnost udělovat zabezpečené tokeny dalším uživatelům (kteří se potom také stávají vlastníky svazku), organizace zpravidla nemusí vlastnictví svazků aktivně spravovat ani s ním nijak manipulovat. Již zavedená opatření související se správou a udělováním zabezpečených tokenů by obecně měla pokrývat i status vlastnictví svazků.
Vlastník svazku nemusí být současně správcem, při provádění některých úloh se ale kontrolují obě role. Příklad: K úpravám konfigurace zabezpečeného spouštění je nutné být jak správcem, tak také vlastníkem svazku; oproti tomu autorizaci softwarových aktualizací mohou provádět standardní uživatelé a vyžaduje pouze status vlastnictví.
Aktuální seznam vlastníků svazku můžete na počítačích Mac s čipy Apple zobrazit pomocí následujícího příkazu:
sudo diskutil apfs listUsers /
Položky GUID ve výstupu příkazu diskutil
typu „Local Open Directory User“ odpovídají atributům GeneratedUID
uživatelských záznamů v Open Directory. Uživatele můžete vyhledat podle GeneratedUID
pomocí následujícího příkazu:
dscl . -search /Users GeneratedUID <GUID>
Můžete uživatelská jména spolu s položkami GUID zobrazit také následujícím příkazem:
sudo fdesetup list -extended
Údaje o vlastnictví jsou zálohovány s použitím šifrování v modulu Secure Enclave. Další informace získáte zde:
Používání nástrojů příkazového řádku
Pro správu bootstrapových a zabezpečených tokenů jsou k dispozici nástroje příkazového řádku. Bootstrapový token se zpravidla generuje na Macu a svěřuje do úschovy službě správy mobilních zařízení (MDM) v průběhu úvodní instalace systému macOS poté, co služba MDM informuje Mac, že tuto funkci podporuje. Lze ho však vygenerovat i na Macu, který už fází nasazení prošel. V systémech macOS 10.15.4 a novějších se bootstrapový token generuje a předává do úschovy službě MDM při prvním přihlášení jakéhokoli uživatele s aktivovaným zabezpečeným tokenem, pokud služba MDM tuto funkci podporuje. Po počátečním nastavení zařízení tedy není třeba generovat bootstrapový token a předávat ho do úschovy službě MDM pomocí nástroje příkazového řádku profiles.
V nástroji příkazového řádku profiles
je pro práci s bootstrapovými tokeny k dispozici několik voleb:
sudo profiles install -type bootstraptoken
: Tento příkaz vygeneruje nový bootstrapový token a předá ho do úschovy službě MDM. Pro prvotní vygenerování bootstrapového tokenu tento příkaz vyžaduje informace o existujícím správci se zabezpečeným tokenem a služba MDM musí tuto funkci podporovat.sudo profiles remove -type bootstraptoken
: Odstraní existující bootstrapový token z Macu i ze služby MDM.sudo profiles status -type bootstraptoken
: Ohlásí, zda služba MDM podporuje bootstrapové tokeny a jaký je aktuální stav bootstrapového tokenu na Macu.sudo profiles validate -type bootstraptoken
: Ohlásí, zda služba MDM podporuje bootstrapové tokeny a jaký je aktuální stav bootstrapového tokenu na Macu.
Nástroj příkazového řádku sysadminctl
Pomocí nástroje příkazového řádku sysadminctl
lze individuálně měnit stav zabezpečeného tokenu pro uživatelské účty na počítačích Mac. Takové změny je však třeba provádět opatrně a jen tehdy, je‑li to nutné. Při změně stavu zabezpečeného tokenu u uživatele pomocí nástroje sysadminctl
je vždy vyžadováno uživatelské jméno a heslo stávajícího správce s aktivním zabezpečeným tokenem, které je možné zadat interaktivně nebo pomocí příslušných parametrů příkazu. Nástroj sysadminctl
a Nastavení systému (macOS 13 a novější) nebo Předvolby systému (macOS 12.0.1 a starší) brání smazání posledního správce nebo uživatele s aktivovaným zabezpečeným tokenem na Macu. Aby bylo možné aktivovat zabezpečený token pro další místní uživatele vytvořené skriptem využívajícím nástroj sysadminctl
, je nutné zadat ověřovací údaje aktuálního správce s aktivovaným zabezpečeným tokenem, a to buď interaktivně, nebo přímo pomocí atributů -adminUser
a -adminPassword
příkazu sysadminctl
. Pokud není místnímu uživateli přidělen zabezpečený token v okamžiku vytvoření, v systému macOS 11 nebo novějším mu bude přidělen při přihlášení k počítači Mac (za předpokladu, že je k dispozici bootstrapový token od služby MDM). Další pokyny k použití zobrazíte zadáním příkazu sysadminctl -h
.