SYSTEMD-PCRPHASE.SERVICE(8)

BEZEICHNUNG
systemd-pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrmachine.service, systemd-pcrfs-root.service, systemd-pcrfs@.service, systemd-pcrextend - Systemstartphase in TPM2 PCR 11 einmessen, Maschinenkennung und Dateisystemidentität in PCR 15

ÜBERSICHT

systemd-pcrphase.service

systemd-pcrphase-sysinit.service

systemd-pcrphase-initrd.service

systemd-pcrmachine.service

systemd-pcrfs-root.service

systemd-pcrfs@.service

/usr/lib/systemd/systemd-pcrextend [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.

systemd-pcrmachine.service ist ein Systemdienst, der die Maschinenkennung (siehe machine-id(5)) in PCR 15 einmisst.

systemd-pcrfs-root.service und systemd-pcrfs@.service sind Dienste, die Dateisystem-Identitätsinformationen (z.B. Einhängepunkt, Dateisystemtyp, Kennzeichnung und UUID, Partitionskennzeichnung und UUID) in PCR 14 einmessen. systemd-pcrfs-root.service macht dies für das Wurzeldateisystem, systemd-pcrfs@.service ist eine Vorlagen-Unit, die stattdessen das von seiner Instanzkennzeichner angezeigte Dateisystem einmisst.

Diese Dienste benötigen, dass systemd-stub(7) in einem vereinigten Kernelabbild (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 TMP2 PCR 11 mit bestimmten wörtliche Zeichenketten erweitern und damit Phasen des Systemstartprozesses andeuten. Während des regulären Systemstartprozesses wird PCR 11 mit den nachfolgenden Zeichenketten erweitert.

    1. »enter-initrd« – früh, wenn die Initrd sich initialisiert, bevor die Systemerweiterungsabbilder für die Initrd aktiviert werden. Sie agiert als Barriere zwischen dem Zeitpunkt der Kernelinitialisierung und dem Start der Initrd-Aktionen und der Aktivierung von Systemerweiterungsabbildern, d.h. von Code, der außerhalb des UKI ausgeliefert wird. (Diese Erweiterung passiert, wenn der Dienst systemd-pcrphase-initrd.service(8) startet.)

    2. »leave-initrd« – wenn die Initrd gerade dabei ist, in das Dateisystem des Rechners überzugehen. Sie agiert als Barriere zwischen dem Initrd-Code und dem Code des Rechners. (Diese Erweiterung passiert, wenn der Dienst systemd-pcrphase-initrd.service(8) gestoppt wird.)

    3. »sysinit« – 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 Erweiterung passiert, wenn der Dienst systemd-pcrphase-sysinit.service(8) gestartet wird.)

    4. »ready« – während des späten Hochfahrens, 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 agiert als Barriere zwischen dem Zeitpunkt, zu dem nicht privilegierten Benutzer das Anmelden verwehrt wird und zu dem Zeitpunkt, wo das möglich ist. (Diese Erweiterung passiert, wenn der Dienst systemd-pcrphase.service gestartet wird.)

    5. »shutdown« – beim Beginn des System-Herunterfahrens. Sie agiert als Barriere zwischen dem Zeitpunkt, zu dem das System voll aktiv ist und zu dem, wo es mit dem Herunterfahren beginnt. (Diese Erweiterung passiert, wenn der Dienst systemd-pcrphase.service gestoppt ist.)

    6. »final« – beim Ende des System-Herunterfahrens. Sie agiert als Barriere zwischen dem Zeitpunkt, zu dem der Diensteverwalter noch läuft und zu dem Zeitpunkt, zu dem es in die abschließende Systemherunterfahrphase übergeht, bei dem der Diensteverwalter nicht mehr verfügbar ist. (Diese Erweiterung passiert, wenn der Dienst systemd-pcrphase-sysinit.service(8) gestoppt ist.)

Während der regulären/normalen Nutzung(sdauer) eines Systems wird PCR 11 mit den Zeichenketten »enter-initrd«, »leave-initrd«, »sysinit«, »ready«, »shutdown« und »final« erweitert.

Bestimmte Phasen des Systemstartprozesses können über eine Reihe von eingemessenen Zeichenketten (getrennt durch Doppelpunkte) referenziert werden (den »Phasenpfad«). Der Phasenpfad 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 Phasenpfad 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 Phasenpfade 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.

systemd-pcrfs-root.service und systemd-pcrfs@.service werden automatisch durch systemd-gpt-auto-generator(8) für die Wurzel- und /var/-Dateisysteme in die anfängliche Transaktion hereingezogen. systemd-fstab-generator(8) macht dies für alle Einhängepunkte, bei denen die Einhängeoption x-systemd.pcrfs in /etc/fstab gesetzt ist.

OPTIONEN

Das Programm /usr/lib/systemd/system-pcrextend 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.

    Hinzugefügt in Version 252.

--pcr=
    Akzeptiert den Index des zu erweiternden PCR. Falls --machine-id oder --file-system= angegeben sind, ist die Vorgabe 15, andernfalls ist die Vorgabe 11.

    Hinzugefügt in Version 255.

--tpm2-device=PFAD
    Steuert das zu verwendende TPM2-Gerät. Erwartet einen Geräteknotenpfad, der sich auf einen 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.

    Hinzugefügt in Version 252.

--graceful
    Falls keine Unterstützung für TPM2-Firmware, -Kernel-Subsystem, -Kerneltreiber oder -Geräte gefunden wird, wird mit Exit-Status 0 beendet (d.h. Erfolg angezeigt). Falls dies nicht angegeben ist, dann wird jeder Versuch, ohne ein TPM2-Gerät zu messen, zu einem Fehlschlag des Aufrufs führen.

    Hinzugefügt in Version 253.

--machine-id
    Statt das auf der Befehlszeile angegebene Wort in PCR 11 einzumessen, wird die Maschinenkennung des Rechners in PCR 15 eingemessen.

    Hinzugefügt in Version 253.

--file-system=
    Statt das auf der Befehlszeile angegebene Wort in PCR 11 einzumessen, wird die Maschinenidentitätsinformation des angegebenen Dateisystems in PCR 15 eingemessen. Dieser Parameter muss der Pfad zum aufgebauten Einhängepunkt des zu messenden Dateisystems sein.

    Hinzugefügt in Version 253.

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

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

DATEIEN

/run/log/systemd/tpm2-measure.log
    Messungen werden in ein Ereignisprotokoll protokolliert, das in /run/log/systemd/tpm2-measure.log verwaltet wird. Es enthält eine JSON-SEQ[1]-Serie von Objekten, die der allgemeinen Struktur der Kanonischen TCG-Ereignisprotokollformat- (CEL-JSON-)[2]-Ereignisobjekte folgt. Es fehlen ihm aber die Felder »recnum«.

    Eine LOCK_EX-BSD-Dateisperre (flock(2)) auf der Protokolldatei wird während der Durchführung der Messung und der Aktualisierung der Datei erlangt. Daher sollten Anwendungen, die planen, eine konsistente Angabe aus dem TPM mit dem zugehörigen Schnappschuss des Ereignisprotokolls zu erlangen, eine LOCK_SH-Sperre erlangen, während sie dies tun.

    Hinzugefügt in Version 252.

SIEHE AUCH

systemd(1), systemd-stub(7), systemd-measure(1), systemd-gpt-auto-generator(8), systemd-fstab-generator(8), Von Systemd durchgeführte TPM2-PCR-Messungen[3]

ANMERKUNGEN

1.  JSON-SEQ
    https://www.rfc-editor.org/rfc/rfc7464.html

2.  Kanonisches TCG-Ereignisprotokollformat (CEL-JSON)
    https://trustedcomputinggroup.org/resource/canonical-event-log-format/

3.  Von Systemd durchgeführte TPM2-PCR-Messungen
    https://systemd.io/TPM2_PCR_MEASUREMENTS

Ü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).