Verwenden von Secure Token, Bootstrap Token und Volume-Eigentum in Implementierungen
Secure Token
Bei Apple File System (APFS) ändert sich in macOS 10.13 (und neuer) die Art, wie FileVault-Verschlüsselungsschlüssel generiert werden. Bei früheren macOS-Versionen auf CoreStorage-Volumes wurden die Schlüssel, die im FileVault-Verschlüsselungsprozess zum Einsatz kamen, erst generiert, wenn ein Benutzer oder eine Organisation die Option „FileVault“ auf einem Mac aktivierte. Bei macOS auf APFS-Volumes wurden die Verschlüsselungsschlüssel entweder im Zuge der Benutzererstellung, beim Erstellen des Passworts für den ersten Benutzer oder im Zuge der ersten Anmeldung eines Benutzers auf einem Mac generiert. Die vorliegende Implementierung der Verschlüsselungsschlüssel, der Zeitpunkt ihrer Generierung und die Art ihrer Speicherung sind nun alle Bestandteile der Funktion des sicheren Tokens, die Secure Token genannt wird. Genauer gesagt ist ein Secure Token eine umschlossene und durch ein Benutzerpasswort geschützte Version eines Schlüsselverschlüsselungsschlüssels (Key Encryption Key, KEK).
Bei der Implementierung von FileVault auf Computern mit APFS-Volumes können sich folgende Schritte anschließen:
Vorhandene Werkzeuge und Prozesse verwenden – z. B. Hinterlegen eines persönlichen Wiederherstellungsschlüssels (Personal Recovery Key, PRK), der in einer MDM-Lösung (Mobile Device Management) gespeichert werden kann
Institutionellen Wiederherstellungsschlüssel (Institutional Recovery Key, IRK) erstellen und verwenden
FileVault-Aktivierung bis zu dem Zeitpunkt verzögern, an dem sich ein Benutzer am Mac anmeldet oder abmeldet
In macOS 11 (oder neuer) führt das Festlegen des Erstpassworts für den allerersten Benutzer auf dem Mac dazu, dass diesem Benutzer ein Secure Token zuerkannt wird. In einigen Abläufen ist dies möglicherweise nicht das gewünschte Verhalten, da zuvor das Zuerkennen eines Secure Token vorausgesetzt hätte, dass sich der Benutzeraccount anmeldet. Damit dies nicht geschieht, fügst du ;DisabledTags;SecureToken
zum vom Programm erstellten AuthenticationAuthority
-Attribut des Benutzers hinzu, bevor du das Passwort des Benutzers festlegst, wie unten zu sehen:
sudo dscl . -append /Users/<user name> AuthenticationAuthority ";DisabledTags;SecureToken"
Bootstrap Token
In macOS 10.15 (oder neuer) wird ein Bootstrap Token verwendet, um macOS-Accounts und dem optional per Geräteregistrierung erstellten Administratoraccount („verwalteter Administrator“) leichter ein Secure Token zuzuerkennen. In macOS 11 (oder neuer) kann das Bootstrap Token einem beliebigen Benutzer, der sich bei einem Mac-Computer anmeldet (einschließlich lokale Benutzeraccounts), ein Secure Token zuerkennen. Die Verwendung der Funktion „Bootstrap Token“ von macOS 10.15 (oder neuer) erfordert:
Betreuung
MDM-Herstellerunterstützung
Nehmen wir einmal an, dass deine MDM-Lösung Bootstrap Token unterstützt. In macOS 10.15.4 (oder neuer) wird ein Bootstrap Token generiert und an die MDM-Lösung übergeben, wenn sich ein Benutzer, für den Secure Token aktiviert sind, das erste Mal anmeldet. Ein Bootstrap Token kann auch bei Bedarf mit dem Befehlszeilenprogramm profiles
generiert und in der MDM-Lösung hinterlegt werden.
In macOS 11 (oder neuer) kann das Bootstrap Token nicht nur verwendet werden, um Benutzeraccounts ein Secure Token zuzuerkennen, sondern auch für weitere Zwecke. Auf einem Mac-Computer mit Apple Chips kann das Bootstrap Token, sofern verfügbar, zum Autorisieren der Installation von Kernel-Erweiterungen und von Softwareupdates verwendet werden, wenn diese via MDM verwaltet werden. Das Bootstrap Token wird auch verwendet, um den Befehl „Inhalte & Einstellungen löschen“ stillschweigend zu autorisieren, wenn dieser über die MDM-Lösung in macOS 12.0.1 (oder neuer) ausgelöst wird.
Volume-Besitz
Auf Mac-Computern mit Apple Chips wird das Konzept des Volume-Besitzes eingeführt. Der Volume-Besitz ist ein organisatorisches Konzept, das nicht mit dem juristischen Konzept des rechtmäßigen Eigentums oder der Kontrollkette des Mac verknüpft ist. Es kann stattdessen einfach als der Benutzer verstanden werden, der als erster einen Mac beansprucht hat, um ihn für seine Nutzung und für zusätzliche Benutzer zu konfigurieren. Du musst ein Volume-Besitzer sein, um u. a. Änderungen an der Startsicherheitsrichtlinie für eine bestimmte Installation von macOS vornehmen, die Installation von macOS-Softwareupdates und -Upgrades autorisieren und die Ausführung der Option „Inhalte & Einstellungen löschen“ auf dem Mac starten zu können. Die Startsicherheitsrichtlinie definiert die Einschränkungen dafür, welche Versionen von macOS gestartet werden dürfen sowie wie und ob Kernel-Erweiterungen von Drittanbietern geladen oder verwaltet werden dürfen.
Dem Benutzer, der als erstes einen Mac für sich beansprucht hat, indem er ihn für seine Nutzung konfiguriert hat, wird auf einem Mac mit Apple Chips ein sicheres Token zuerkannt. Dadurch wird er zum ersten Volume-Besitzer. Wenn ein Bootstrap Token verfügbar ist und verwendet wird, wird es ebenfalls zu einem Volume-Besitzer und gewährt zusätzlichen Accounts den Status des Volume-Besitzes, während es ihnen Secure Token zuerkennt. Da sowohl der erste Benutzer, dem ein Secure Token zuerkannt wird, als auch das Bootstrap Token zu Volume-Besitzern werden, und angesichts der Fähigkeit des Bootstrap Token, zusätzlichen Benutzern Secure Token zuzuerkennen (und somit auch den Status des Volume-Besitzers), sollte der Volume-Besitz nicht aktiv verwaltet oder in einer Organisation bearbeitet werden müssen. Frühere Überlegungen hinsichtlich der Verwaltung und Zuerkennung von Secure Token sollten generell auch mit dem Status des Volume-Besitzes übereinstimmen.
Es ist möglich, ein Volume-Besitzer und kein Administrator zu sein, aber bestimmte Aufgaben erfordern eine Besitzprüfung für beide. Beispielsweise setzt das Ändern von Einstellungen für die Startsicherheit voraus, dass der Betreffende sowohl Administrator als auch der Volume-Besitzer ist. Dagegen erfolgt die Autorisierung von Softwareupdates durch einen Standardbenutzer und erfordert nur den Besitz.
Zum Anzeigen der aktuellen Liste der Volume-Besitzer auf einem Mac-Computer mit Apple Chips kannst du den folgenden Befehl ausführen:
sudo diskutil apfs listUsers /
Die in der diskutil
-Befehlsausgabe vom Typ „Local Open Directory User“ aufgelisteten GUIDs werden den GeneratedUID
-Attributen von Benutzerdatensätzen in Open Directory zugeordnet. Verwende den folgenden Befehl, um einen Benutzer nach GeneratedUID
zu finden:
dscl . -search /Users GeneratedUID <GUID>
Du kannst auch den folgenden Befehl verwenden, um Benutzernamen und GUIDs gleichzeitig anzuzeigen:
sudo fdesetup list -extended
Der Besitz wird durch Kryptografie unterstützt, die in der Secure Enclave geschützt ist. Weitere Informationen findest du unter:
Nutzung von Befehlszeilenprogrammen
Befehlszeilenprogramme sind für die Verwaltung von Bootstrap Token und Secure Token verfügbar. Das Bootstrap Token wird normalerweise auf dem Mac generiert und in der MDM-Lösung hinterlegt, während der macOS-Konfigurationsprozess erfolgt, nachdem die MDM-Lösung dem Mac mitgeteilt hat, dass sie diese Funktion unterstützt. Es ist jedoch auch möglich, ein Bootstrap Token auf einem Mac zu generieren, der bereits implementiert wurde. In macOS 10.15.4 (oder neuer) wird ein Bootstrap Token generiert und in der MDM-Lösung beim erstmaligen Anmelden eines Benutzers hinterlegt, der über Secure Token aktiviert ist. Hierdurch wird die Notwendigkeit verringert, das Befehlszeilenprogramm „profiles“ nach der Konfiguration zu verwenden, um ein Bootstrap Token zu generieren und in der MDM-Lösung zu hinterlegen.
Das Befehlszeilenprogramm profiles
stellt eine Reihe von Optionen für die Interaktion mit dem Bootstrap Token bereit:
sudo profiles install -type bootstraptoken
: Dieser Befehl generiert ein neues Bootstrap Token und hinterlegt es in der MDM-Lösung. Dieser Befehl erfordert vorhandene Informationen über den Secure-Token-Administrator, um das Bootstrap-Token anfangs zu generieren; die MDM-Lösung muss diese Funktion unterstützen.sudo profiles remove -type bootstraptoken
: Dieser Befehl entfernt das vorhandene Bootstrap Token vom Mac und aus der MDM-Lösung.sudo profiles status -type bootstraptoken
: Dieser Befehl meldet zurück, ob die MDM-Lösung die Funktion „Bootstrap Token“ unterstützt und wie der aktuelle Status des Bootstrap Token auf dem Mac ist.sudo profiles validate -type bootstraptoken
: Dieser Befehl meldet zurück, ob die MDM-Lösung die Funktion „Bootstrap Token“ unterstützt und wie der aktuelle Status des Bootstrap Token auf dem Mac ist.
Befehlszeilenprogramm sysadminctl
Es kann aber auch das Befehlszeilenprogramm sysadminctl
verwendet werden, um gezielt den Secure Token-Status für Benutzer-Accounts auf einem Mac-Computer zu ändern. Von dieser Möglichkeit sollte aber mit Bedacht und nur im Bedarfsfall Gebrauch gemacht werden. Für das Ändern des Secure Token-Status eines Benutzers mithilfe von sysadminctl
muss stets der Benutzername und das Passwort eines vorhandenen und für Secure Token aktivierten Administrators eingegeben werden. Dies kann interaktiv oder mithilfe der entsprechenden Attribute des Befehls erfolgen. Sowohl sysadminctl
als auch die Systemeinstellungen unter macOS 13 (oder neuer) oder die Systemeinstellungen unter macOS 12.0.1 (oder älter) verhindern, dass auf einem Mac der letzte verbliebene Administrator oder für Secure Token aktivierte Benutzer gelöscht wird. Damit zusätzliche lokale Benutzer, die über ein Skript mit sysadminctl
erstellt wurden, für Secure Token aktiviert werden können, müssen aktuelle Anmeldedaten eines für Secure Token aktivierten Administrators entweder unter Verwendung der interaktiven Option oder direkt mit den Attributen -adminUser
und -adminPassword
mit sysadminctl
bereitgestellt werden. Wird zum Zeitpunkt der Erstellung kein Secure Token zuerkannt, wird einem lokalen Benutzer, der sich bei einem Mac-Computer anmeldet, in macOS 11 (oder neuer) bei der Anmeldung ein Secure Token zuerkannt, wenn ein Bootstrap Token via MDM verfügbar ist. Mit sysadminctl -h
lassen sich zusätzliche Anleitungen zur Nutzung anzeigen.