mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03:00
units: add units that put together and install a TPM2 PCR policy at boot
(This is disabled by default, for now)
This commit is contained in:
parent
8e35338d09
commit
809def1940
@ -477,6 +477,34 @@ units = [
|
|||||||
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
'symlinks' : ['sysinit.target.wants/'],
|
'symlinks' : ['sysinit.target.wants/'],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-make-policy.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-secureboot-policy.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-secureboot-authority.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-file-system.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-machine-id.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-firmware-code.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'file' : 'systemd-pcrlock-firmware-config.service.in',
|
||||||
|
'conditions' : ['ENABLE_BOOTLOADER', 'HAVE_OPENSSL', 'HAVE_TPM2'],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
'file' : 'systemd-portabled.service.in',
|
'file' : 'systemd-portabled.service.in',
|
||||||
'conditions' : ['ENABLE_PORTABLED'],
|
'conditions' : ['ENABLE_PORTABLED'],
|
||||||
|
25
units/systemd-pcrlock-file-system.service.in
Normal file
25
units/systemd-pcrlock-file-system.service.in
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Lock File Systems to TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
Before=sysinit.target shutdown.target systemd-pcrlock-make-policy.service
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock lock-file-system
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
26
units/systemd-pcrlock-firmware-code.service.in
Normal file
26
units/systemd-pcrlock-firmware-code.service.in
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Lock Firmware Code to TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=systemd-tpm2-setup.service
|
||||||
|
Before=sysinit.target shutdown.target systemd-pcrlock-make-policy.service
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock lock-firmware-code
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
26
units/systemd-pcrlock-firmware-config.service.in
Normal file
26
units/systemd-pcrlock-firmware-config.service.in
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Lock Firmware Configuration to TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=systemd-tpm2-setup.service
|
||||||
|
Before=sysinit.target shutdown.target systemd-pcrlock-make-policy.service
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock lock-firmware-config
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
25
units/systemd-pcrlock-machine-id.service.in
Normal file
25
units/systemd-pcrlock-machine-id.service.in
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Lock Machine ID to TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
Before=sysinit.target shutdown.target systemd-pcrlock-make-policy.service
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock lock-machine-id
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
26
units/systemd-pcrlock-make-policy.service.in
Normal file
26
units/systemd-pcrlock-make-policy.service.in
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Make TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=systemd-tpm2-setup.service
|
||||||
|
Before=sysinit.target shutdown.target
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock make-policy --location=770
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
26
units/systemd-pcrlock-secureboot-authority.service.in
Normal file
26
units/systemd-pcrlock-secureboot-authority.service.in
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Lock UEFI SecureBoot Authority to TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=systemd-tpm2-setup.service
|
||||||
|
Before=sysinit.target shutdown.target systemd-pcrlock-make-policy.service
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock lock-secureboot-authority
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
26
units/systemd-pcrlock-secureboot-policy.service.in
Normal file
26
units/systemd-pcrlock-secureboot-policy.service.in
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Lock UEFI SecureBoot Policy to TPM2 PCR Policy
|
||||||
|
Documentation=man:systemd-pcrlock(8)
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=systemd-tpm2-setup.service
|
||||||
|
Before=sysinit.target shutdown.target systemd-pcrlock-make-policy.service
|
||||||
|
ConditionPathExists=!/etc/initrd-release
|
||||||
|
ConditionSecurity=measured-uki
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart={{LIBEXECDIR}}/systemd-pcrlock lock-secureboot-policy
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
Loading…
Reference in New Issue
Block a user