SYSTEMD-PCRPHASE.SERVICE(8)

BEZEICHNUNG
systemd-pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrphase - Systemstartphase in TPM2 PCR 11 einmessen

ÜBERSICHT

systemd-pcrphase.service

systemd-pcrphase-sysinit.service

systemd-pcrphase-initrd.service

/usr/lib/systemd/system-pcrphase ZEICHENKETTE

BESCHREIBUNG

systemd-pcrphase.service, systemd-pcrphase-sysinit.service und systemd-pcrphase-initrd.service sind Systemdienste, die bestimmte Zeichenketten in TPM2-PCR 11 zu bestimmten Meilensteinen während des Systemstartprozesses einmessen.

Diese Dienste benötigen, dass systemd-stub(7) in der Installation des vereinigten Kernelabbildes (UKI) verwandt wird. Sie führen keine Aktion aus, wenn der Rumpf nicht zum Aufruf des Kernels verwandt wurde. Der Rumpf wird sicherstellen, dass der aufgerufene Kernel und die zugehörigen Ressourcen des Lieferanten in PCR 11 eingemessen werden, bevor ihm die Steuerung übergeben wird; sobald der Anwendungsraum aufgerufen wird, werden diese Dienste bestimmte wörtliche Zeichenketten erweiterten und damit verschiedene Phasen des Systemstartprozesses in TPM2-PCR-11 andeuten. Während des regulären Systemstartprozesses werden die nachfolgenden Zeichenketten in PCR 11 erweitert:

    1. »enter-initrd« wird früh in PCR 11 erweitert, wenn die Initrd sich initialisiert, bevor die Systemerweiterungsabbilder für die Initrd aktiviert werden. Sie ist als Barriere zwischen dem Zeitpunkt der Kernelinitialisierung und dem Start der Initrd-Aktionen und der Aktivierung von Systemerweiterungsabbildern gedacht, d.h. von Code, der außerhalb des UKI ausgeliefert wird. (Diese Zeichenkette wird beim Beginn von systemd-pcrphase-initrd.service erweitert.)

    2. »leave-initrd« wird in PCR 11 erweitert, wenn die Initrd gerade dabei ist, in das Dateisystem des Rechners überzugehen, d.h. wenn sie ihren Zweck erfüllte. Sie ist als Barriere zwischen dem Kernel/Initrd-Code und dem Code des Rechners gedacht. (Diese Zeichenkette wird beim Beenden von systemd-pcrphase-initrd.service erweitert.)

    3. »sysinit« wird in PCR 11 erweitert, wenn die grundlegende Initialisierung abgeschlossen ist (dazu gehört, dass lokale Dateisysteme eingehängt wurden) und das System anfängt, reguläre Dateisystemdienste zu starten. (Diese Zeichenkette wird beim Beginn von systemd-pcrphase-sysinit.service erweitert.)

    4. »ready« wird während des späten Hochfahrens in PCR 11 erweitert, nachdem ferne Dateisystem bereits aktiviert wurden (d.h. nach remote-fs.target), aber bevor Benutzer das Anmelden erlaubt wird (d.h. vor systemd-user-sessions.service). Sie ist als Barriere zwischen dem Zeitpunkt, zu dem nicht privilegierten Benutzer das Anmelden verwehrt wird und zu dem Zeitpunkt, wo das möglich ist, gedacht. (Diese Zeichenkette wird beim Starten von systemd-pcrphase.service erweitert.)

    5. »shutdown« wird beim Beginn des System-Herunterfahrens in PCR 11 erweitert. Sie ist als Barriere zwischen dem Zeitpunkt, zu dem das System voll aktiv ist und zu dem, wo es mit dem Herunterfahren beginnt, gedacht. (Diese Zeichenkette wird beim Beenden von systemd-pcrphase.service erweitert.)

    6. »final« wird beim Ende des System-Herunterfahrens in PCR 11 erweitert. Sie ist als Barriere zwischen dem Zeitpunkt, zu dem der Diensteverwalter noch läuft und zu dem Zeitpunkt, zu dem es in die abschließende Systemstartphase übergeht, bei dem der Diensteverwalter nicht mehr verfügbar ist, gedacht. (Diese Zeichenkette wird beim Beenden von systemd-pcrphase-sysinit.service erweitert.)

Während der Nutzungsdauer eines Systems werden die Zeichenketten »enter-initrd« → »leave-initrd« → »sysinit« → »ready« → »shutdown« → »final« eine nach dem anderen in PCR 11 erweitert.

Bestimmte Phasen des Systemstartprozesses können über eine Reihe von eingemessenen Zeichenketten (getrennt durch Doppelpunkte) referenziert werden (den »Systemstartpfad«). Der Systemstartpfad für die reguläre System-Laufzeitumgebung ist beispielsweise »enter-initrd:leave-initrd:sysinit:ready«, während die für die Initrd nur »enter-initrd« ist. Der Systemstartpfad für die Systemstartphase vor der Initrd ist die leere Zeichenkette, da das schwer weiterzugeben ist, kann ein einzelner Doppelpunkt (»:«) stattdessen verwandt werden. Beachten Sie, dass die vorgenannten sechs Zeichenketten nur die Vorgabezeichenketten sind und individuelle Systeme andere Zeichenketten zu anderen Zeitpunkten einmessen könnten, und daher andere und granularere Systemstartphasen implementieren könnten, um Richtlinien daran zu binden.

Durch Binden von Richtlinien von TPM2-Objekten an bestimmte Systemstartpfade wird es möglich, sie auf bestimmte Phasen des Systemstartprozesses zu beschränken. Damit wird es beispielsweise unmöglich, auf den Verschlüsselungsschlüssel des Wurzeldateisystems zuzugreifen, nachdem das System von der Initrd auf das Dateisystem des Systems gewechselt hat.

Verwenden Sie systemd-measure(1) (mit dem Schalter --phase=), um die erwarteten PCR-11-Werte für bestimmte Systemstartphasen vorzuberechnen.

OPTIONEN

Das Programm /usr/lib/systemd/system-pcrphase kann auch von der Befehlszeile aufgerufen werden. Dort erwartet es das Wort, das in PCR 11 erweitert werden soll, sowie die folgenden Schalter:

--bank=
    Akzeptiert die PCR-Bänke, in die das angegeben Wort hinein erweitert werden soll. Falls nicht angegeben, wird das Werkzeug automatisch alle aktivierten PCR-Bänke ermitteln und das Wort in alle von ihnen einmessen.

--tpm2-device=PFAD
    Steuert das zu verwendenen TPM2-Gerät. Erwartet einen Geräteknotenpfad, der sich auf ein TPM2-Chip bezieht (z.B. /dev/tpmrm0). Alternativ kann der besondere Wert »auto« angegeben werden, um den Geräteknoten eines geeigneten TPM2-Gerätes (von dem es genau einen geben darf) automatisch zu bestimmen. Der besondere Wert »list« kann verwandt werden, um alle geeigneten, derzeit ermittelten TPM2-Geräte aufzuzählen.

-h, --help
    Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version
    Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

SIEHE AUCH

systemd(1), systemd-stub(7), systemd-measure(1)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).